From baab3c346ecdc3b4862dc5793f2f836bc75fe92d Mon Sep 17 00:00:00 2001 From: Rakni1988 <67603180+Rakni1988@users.noreply.github.com> Date: Wed, 4 Oct 2023 21:51:39 +0200 Subject: [PATCH 01/94] Update handlers.py --- plugins/yadacoinpool/handlers.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/yadacoinpool/handlers.py b/plugins/yadacoinpool/handlers.py index 4ba64fee..b918c0d4 100644 --- a/plugins/yadacoinpool/handlers.py +++ b/plugins/yadacoinpool/handlers.py @@ -165,6 +165,7 @@ def get_ticker(): "version": ".".join([str(x) for x in version]), }, "pool": { + "pool_address": self.config.address, "hashes_per_second": pool_hash_rate, "miner_count": miner_count_pool_stat["value"], "worker_count": worker_count_pool_stat["value"], @@ -182,7 +183,7 @@ def get_ticker(): ], "blocks_found": total_blocks_found, "fee": self.config.pool_take, - "payout_frequency": self.config.payout_frequency, + "payout_frequency": self.config.pool_payer_wait, "payouts": payouts, "blocks": pool_blocks_found_list[:100], "pool_perecentage": pool_perecentage, From 0fc7b50a63e036d16c49a9cbaea61f345967f2e8 Mon Sep 17 00:00:00 2001 From: Rakni1988 <67603180+Rakni1988@users.noreply.github.com> Date: Wed, 4 Oct 2023 21:54:47 +0200 Subject: [PATCH 02/94] Update pool-stats.html --- .../yadacoinpool/templates/pool-stats.html | 423 +++++++++++++----- 1 file changed, 307 insertions(+), 116 deletions(-) diff --git a/plugins/yadacoinpool/templates/pool-stats.html b/plugins/yadacoinpool/templates/pool-stats.html index 929d3872..763da671 100644 --- a/plugins/yadacoinpool/templates/pool-stats.html +++ b/plugins/yadacoinpool/templates/pool-stats.html @@ -55,7 +55,8 @@
BLOCK REAWORD
-
YDA
+

MINERS:

+

MASTER NODES:

@@ -74,7 +75,7 @@
POOL FEE
MINIMUM PAYOUT
-
+
@@ -94,7 +95,7 @@
PAYOUT SCHEME
HOW TO START
Create wallet
Download XMRigCC
-
XMRigCC conf.json settings:
+
XMRigCC config.json settings:
"algo": "rx/yada",
"url": """,
"user": "Your wallet address.Worker ID",
@@ -110,7 +111,7 @@
"keepalive": true,

POOL BLOCKS

- +
Time FoundHeightRewardBlock Hash
Time FoundHeightRewardBlock Hash

MINER STATISTICS

@@ -118,132 +119,310 @@

MINER STATISTICS

-

MINER HASH RATE:

-

TOTAL HASHES SUBMITTED:

- - -
Time SentTXN IDAmount
-
- +
+
+
+
+
+
+
+ +
+
+
+ +
+ - From 8685dad7ba94d3b0a962078243eb6fc6ded40f14 Mon Sep 17 00:00:00 2001 From: Rakni1988 <67603180+Rakni1988@users.noreply.github.com> Date: Wed, 4 Oct 2023 21:56:21 +0200 Subject: [PATCH 03/94] Update config.py --- yadacoin/core/config.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/yadacoin/core/config.py b/yadacoin/core/config.py index 3f91e9c0..c004c274 100644 --- a/yadacoin/core/config.py +++ b/yadacoin/core/config.py @@ -122,10 +122,11 @@ def __init__(self, config=None): self.shares_required = config.get("shares_required", False) self.pool_payout = config.get("pool_payout", False) self.pool_take = config.get("pool_take", 0.01) - self.payout_frequency = config.get("payout_frequency", 6) + self.payout_frequency = config.get("payout_frequency", 300) # unused anymore self.max_miners = config.get("max_miners", 100) self.max_peers = config.get("max_peers", 20) self.pool_diff = config.get("pool_diff", 100000) + self.block_confirmation = config.get("block_confirmation", 6) self.restrict_graph_api = config.get("restrict_graph_api", False) @@ -145,7 +146,7 @@ def __init__(self, config=None): self.block_queue_processor_wait = config.get("block_queue_processor_wait", 10) self.block_checker_wait = config.get("block_checker_wait", 1) self.message_sender_wait = config.get("message_sender_wait", 10) - self.pool_payer_wait = config.get("pool_payer_wait", 120) + self.pool_payer_wait = config.get("pool_payer_wait", 1800) self.cache_validator_wait = config.get("cache_validator_wait", 30) self.mempool_cleaner_wait = config.get("mempool_cleaner_wait", 1200) self.nonce_processor_wait = config.get("nonce_processor_wait", 1) @@ -327,7 +328,8 @@ def generate( "shares_required": False, "pool_payout": False, "pool_take": 0.01, - "payout_frequency": 6, + "pool_payer_wait": 1800, + "block_confirmation": 6, "max_miners": 100, "max_peers": 20, "pool_diff": 100000, @@ -392,10 +394,11 @@ def from_dict(cls, config): cls.shares_required = config.get("shares_required", False) cls.pool_payout = config.get("pool_payout", False) cls.pool_take = config.get("pool_take", 0.01) - cls.payout_frequency = config.get("payout_frequency", 6) + cls.payout_frequency = config.get("payout_frequency", 300) # unused anymore cls.max_miners = config.get("max_miners", 100) cls.max_peers = config.get("max_peers", 20) cls.pool_diff = config.get("pool_diff", 100000) + cls.block_confirmation = config.get("block_confirmation", 6) cls.restrict_graph_api = config.get("restrict_graph_api", False) @@ -418,7 +421,7 @@ def from_dict(cls, config): cls.block_queue_processor_wait = config.get("block_queue_processor_wait", 10) cls.block_checker_wait = config.get("block_checker_wait", 1) cls.message_sender_wait = config.get("message_sender_wait", 10) - cls.pool_payer_wait = config.get("pool_payer_wait", 120) + cls.pool_payer_wait = config.get("pool_payer_wait", 1800) cls.cache_validator_wait = config.get("cache_validator_wait", 30) cls.mempool_cleaner_wait = config.get("mempool_cleaner_wait", 1200) cls.nonce_processor_wait = config.get("nonce_processor_wait", 1) From c762921a15626e34271d46047cdd739d71cd2a84 Mon Sep 17 00:00:00 2001 From: Rakni1988 <67603180+Rakni1988@users.noreply.github.com> Date: Wed, 4 Oct 2023 22:00:05 +0200 Subject: [PATCH 04/94] Update miningpoolpayout.py --- yadacoin/core/miningpoolpayout.py | 52 +++++++++++++++++++------------ 1 file changed, 32 insertions(+), 20 deletions(-) diff --git a/yadacoin/core/miningpoolpayout.py b/yadacoin/core/miningpoolpayout.py index 7d33bc17..3f36df7f 100644 --- a/yadacoin/core/miningpoolpayout.py +++ b/yadacoin/core/miningpoolpayout.py @@ -23,6 +23,7 @@ async def do_payout(self, already_paid_height=None): # first check which blocks we won. # then determine if we have already paid out # they must be 6 blocks deep + if not already_paid_height: already_paid_height = ( await self.config.mongo.async_db.share_payout.find_one( @@ -31,6 +32,10 @@ async def do_payout(self, already_paid_height=None): ) if not already_paid_height: already_paid_height = {} + else: + already_paid_height = {"index": max(already_paid_height.get("index", []))} + + self.app_log.debug("already_paid_height: %s", already_paid_height) won_blocks = self.config.mongo.async_db.blocks.aggregate( [ @@ -71,26 +76,29 @@ async def do_payout(self, already_paid_height=None): if coinbase.outputs[0].to != self.config.address: continue if self.config.debug: - self.app_log.debug(won_block.index) - if ( - won_block.index + self.config.payout_frequency - ) <= self.config.LatestBlock.block.index: - if len(ready_blocks) >= self.config.payout_frequency: - if self.config.debug: - self.app_log.debug( - "entering payout at block: {}".format(won_block.index) - ) - do_payout = True - break - else: - if self.config.debug: - self.app_log.debug( - "block added for payout {}".format(won_block.index) - ) - ready_blocks.append(won_block) + self.app_log.debug(won_block.index) + + confirmations = self.config.LatestBlock.block.index - won_block.index + if confirmations < self.config.block_confirmation: # We set the block maturation + if self.config.debug: + self.app_log.debug("Payment stopped, block has insufficient confirmations.") + continue + if self.config.debug: + self.app_log.debug( + "block added for payout {}".format(won_block.index) + ) + ready_blocks.append(won_block) + + if ready_blocks: + do_payout = True if not do_payout: + if self.config.debug: + self.app_log.debug("No payout is required.") return + else: + if self.config.debug: + self.app_log.debug("Payout is required.") # check if we already paid out outputs = {} @@ -156,8 +164,11 @@ async def do_payout(self, already_paid_height=None): "do_payout_for_blocks passed address compare {}".format(block.index) ) pool_take = self.config.pool_take - total_pool_take = coinbase.outputs[0].value * pool_take - total_payout = coinbase.outputs[0].value - total_pool_take + if pool_take == 0: + total_payout = coinbase.outputs[0].value - 0.0001 # We charge a transaction fee only + else: + total_pool_take = coinbase.outputs[0].value * (pool_take) + total_payout = coinbase.outputs[0].value - total_pool_take coinbases.append(coinbase) if self.config.debug: self.app_log.debug( @@ -248,8 +259,9 @@ async def do_payout(self, already_paid_height=None): await self.config.mongo.async_db.miner_transactions.insert_one( transaction.to_dict() ) + block_indexes = [block.index for block in ready_blocks] await self.config.mongo.async_db.share_payout.insert_one( - {"index": block.index, "txn": transaction.to_dict()} + {"index": block_indexes, "txn": transaction.to_dict()} ) await self.broadcast_transaction(transaction) From f13a0e6caca67a3a4c85df4f52cc5ecb01802146 Mon Sep 17 00:00:00 2001 From: Rakni1988 <67603180+Rakni1988@users.noreply.github.com> Date: Wed, 4 Oct 2023 22:01:17 +0200 Subject: [PATCH 05/94] Update pool.py --- yadacoin/http/pool.py | 158 +++++++++++++++++++++++++++--------------- 1 file changed, 104 insertions(+), 54 deletions(-) diff --git a/yadacoin/http/pool.py b/yadacoin/http/pool.py index 4773669d..08f06904 100644 --- a/yadacoin/http/pool.py +++ b/yadacoin/http/pool.py @@ -2,25 +2,116 @@ Handlers required by the pool operations """ +import time from yadacoin.http.base import BaseHandler - -class PoolSharesHandler(BaseHandler): +class MinerStatsHandler(BaseHandler): async def get(self): address = self.get_query_argument("address") - query = {"address": address} - if "." not in address: - query = { - "$or": [ - {"address": address}, - {"address_only": address}, - ] + query = { + "$or": [ + {"address": address}, + {"address_only": address}, + {"address": {"$regex": f"^{address}\..*"}} + ] + } + + miner_hashrate_seconds = 1200 + hashrate_query = {"time": {"$gt": time.time() - miner_hashrate_seconds}} + + if "." in address: + hashrate_query["address"] = address + else: + hashrate_query["$or"] = [ + {"address": address}, + {"address_only": address}, + ] + + hashrate_cursor = self.config.mongo.async_db.shares.aggregate([ + {"$match": hashrate_query}, + {"$group": { + "_id": {"address": "$address", "worker": {"$ifNull": [{"$arrayElemAt": [{"$split": ["$address", "."]}, 1]}, "No worker"]}}, + "number_of_shares": {"$sum": 1} + }} + ]) + + worker_hashrate = {} + total_hashrate = 0 + total_share = 0 + + async for doc in hashrate_cursor: + worker_name = doc["_id"]["worker"] + number_of_shares = doc["number_of_shares"] + + worker_hashrate_individual = number_of_shares * self.config.pool_diff // miner_hashrate_seconds + total_hashrate += worker_hashrate_individual + + if worker_name not in worker_hashrate: + worker_hashrate[worker_name] = { + "worker_hashrate": 0, + "worker_share": 0 + } + + worker_hashrate[worker_name]["worker_hashrate"] += worker_hashrate_individual + + shares_query = { + "$or": [ + {"address": address}, + {"address_only": address}, + {"address": {"$regex": f"^{address}\..*"}} + ] + } + + shares_cursor = self.config.mongo.async_db.shares.aggregate([ + {"$match": shares_query}, + {"$group": { + "_id": {"address": "$address", "worker": {"$ifNull": ["$worker", ""]}}, + "total_share": {"$sum": 1}, + "total_hash": {"$sum": {"$multiply": ["$difficulty", "$height"]}} + }} + ]) + + worker_shares = {} + + async for doc in shares_cursor: + worker_name = doc["_id"]["worker"] if doc["_id"]["worker"] else "No worker" + + if "." in doc["_id"]["address"]: + worker_name = doc["_id"]["address"].split(".")[-1] + + if worker_name not in worker_shares: + worker_shares[worker_name] = { + "worker_share": 0, + "worker_hash": 0 + } + + worker_shares[worker_name]["worker_share"] += doc["total_share"] + worker_shares[worker_name]["worker_hash"] += doc["total_share"] * self.config.pool_diff + total_share += doc["total_share"] + + miner_stats = [] + for worker_name in set(worker_hashrate.keys()) | set(worker_shares.keys()): + worker_hashrate_val = worker_hashrate.get(worker_name, {}).get("worker_hashrate", 0) + worker_share_val = worker_shares.get(worker_name, {}).get("worker_share", 0) + worker_hash_val = worker_shares.get(worker_name, {}).get("worker_hash", 0) + status = "Offline" if worker_hashrate_val == 0 else "Online" + + stats = { + "worker_name": worker_name, + "worker_hashrate": worker_hashrate_val, + "worker_share": worker_share_val, + "worker_hash": worker_hash_val, + "status": status } - total_share = await self.config.mongo.async_db.shares.count_documents(query) - total_hash = total_share * self.config.pool_diff - self.render_as_json({"total_hash": int(total_hash)}) + miner_stats.append(stats) + self.render_as_json({ + "miner_stats": miner_stats, + "total_hashrate": int(total_hashrate), + "total_share": int(total_share), + "total_hash": int(total_share * self.config.pool_diff) + }) class PoolPayoutsHandler(BaseHandler): async def get(self): @@ -42,46 +133,6 @@ async def get(self): out.append(result) self.render_as_json({"results": out}) - -class PoolHashRateHandler(BaseHandler): - async def get(self): - address = self.get_query_argument("address") - query = {"address": address} - if "." not in address: - query = { - "$or": [ - {"address": address}, - {"address_only": address}, - ] - } - last_share = await self.config.mongo.async_db.shares.find_one( - query, {"_id": 0}, sort=[("time", -1)] - ) - if not last_share: - return self.render_as_json({"result": 0}) - miner_hashrate_seconds = ( - self.config.miner_hashrate_seconds - if hasattr(self.config, "miner_hashrate_seconds") - else 1200 - ) - - query = {"time": {"$gt": last_share["time"] - miner_hashrate_seconds}} - if "." in address: - query["address"] = address - else: - query["$or"] = [ - {"address": address}, - {"address_only": address}, - ] - number_of_shares = await self.config.mongo.async_db.shares.count_documents( - query - ) - miner_hashrate = ( - number_of_shares * self.config.pool_diff - ) / miner_hashrate_seconds - self.render_as_json({"miner_hashrate": int(miner_hashrate)}) - - class PoolScanMissedPayoutsHandler(BaseHandler): async def get(self): start_index = self.get_query_argument("start_index") @@ -90,8 +141,7 @@ async def get(self): POOL_HANDLERS = [ - (r"/shares-for-address", PoolSharesHandler), + (r"/miner-stats-for-address", MinerStatsHandler), (r"/payouts-for-address", PoolPayoutsHandler), - (r"/hashrate-for-address", PoolHashRateHandler), (r"/scan-missed-payouts", PoolScanMissedPayoutsHandler), ] From 38e2b254abb87226986421baf095ca8df102096c Mon Sep 17 00:00:00 2001 From: Rakni1988 <67603180+Rakni1988@users.noreply.github.com> Date: Wed, 4 Oct 2023 23:40:54 +0200 Subject: [PATCH 06/94] Update health.py --- yadacoin/core/health.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/yadacoin/core/health.py b/yadacoin/core/health.py index 81575589..a05e3da0 100644 --- a/yadacoin/core/health.py +++ b/yadacoin/core/health.py @@ -174,6 +174,11 @@ async def check_health(self): class PoolPayerHealth(HealthItem): + def __init__(self): + super().__init__() + self.config = yadacoin.core.config.Config() + self.timeout = self.config.pool_payer_wait + 10 + async def check_health(self): if not self.config.pp: return self.report_status(True, ignore=True) From fc6f85d341a33e3cd0b91305803ae61bb038ac03 Mon Sep 17 00:00:00 2001 From: Rakni1988 <67603180+Rakni1988@users.noreply.github.com> Date: Wed, 4 Oct 2023 23:50:42 +0200 Subject: [PATCH 07/94] Update health.py --- yadacoin/core/health.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yadacoin/core/health.py b/yadacoin/core/health.py index a05e3da0..f22ab57a 100644 --- a/yadacoin/core/health.py +++ b/yadacoin/core/health.py @@ -176,7 +176,7 @@ async def check_health(self): class PoolPayerHealth(HealthItem): def __init__(self): super().__init__() - self.config = yadacoin.core.config.Config() + self.config = Config() self.timeout = self.config.pool_payer_wait + 10 async def check_health(self): From bb4b2fd67b471d5ddbeab5431add59511416ceb9 Mon Sep 17 00:00:00 2001 From: Rakni1988 <67603180+Rakni1988@users.noreply.github.com> Date: Thu, 12 Oct 2023 22:55:34 +0200 Subject: [PATCH 08/94] Update pool-stats.html --- .../yadacoinpool/templates/pool-stats.html | 464 ++++++++++-------- 1 file changed, 271 insertions(+), 193 deletions(-) diff --git a/plugins/yadacoinpool/templates/pool-stats.html b/plugins/yadacoinpool/templates/pool-stats.html index 763da671..e59b4825 100644 --- a/plugins/yadacoinpool/templates/pool-stats.html +++ b/plugins/yadacoinpool/templates/pool-stats.html @@ -1,3 +1,6 @@ + + + @@ -109,11 +112,19 @@
"keepalive": true,
  • +

    POOL BLOCKS

    - - +
    Time FoundHeightRewardBlock Hash
    + + + + + + +
    Time FoundHeightRewardBlock HashStatus
    -
    +
    +

    MINER STATISTICS

    @@ -125,6 +136,9 @@

    MINER STATISTICS

    +
    +
    +
    @@ -182,6 +196,7 @@

    MINER STATISTICS

    $('#network-last-block').html(dateString); $('#avg-network-hash-rate').html(formatHashRate(data.network.avg_hashes_per_second)); $('#current-network-hash-rate').html(formatHashRate(data.network.current_hashes_per_second)); + var poolAddress = data.pool.pool_address; function formatTime(seconds) { const minutes = Math.floor(seconds / 60); @@ -200,226 +215,297 @@

    MINER STATISTICS

    const formattedFrequency = formatTime(payoutFrequency); $('#pool-payout-frequency').html('Payout every: ' + formattedFrequency); - if(data.pool.blocks.length === 0) return $('#blocks-table').html('Time FoundHeightRewardBlock Hash'); - for(var i=0; i < data.pool.blocks.length; i++) { - var newDate = new Date(); - newDate.setTime(data.pool.blocks[i].time*1000); - dateString = newDate.toLocaleString(); - var reward = getRewardFromOutputs(data.pool.blocks[i].transactions); - $('#blocks-table').append('' + dateString + '' + data.pool.blocks[i].index + '' + reward + '' + data.pool.blocks[i].hash + ''); - } - function getRewardFromOutputs(transactions) { - var highestReward = 0.0; - - for (var i = 0; i < transactions.length; i++) { - for (var j = 0; j < transactions[i].outputs.length; j++) { - if (transactions[i].outputs[j].to === data.pool.pool_address) { - var currentReward = transactions[i].outputs[j].value; - if (currentReward > highestReward) { - highestReward = currentReward; - } - } + $.get('/pool-blocks').then((data) => { + if (data.blocks.length === 0) return $('#blocks-table').html('Time FoundHeightRewardBlock HashStatus'); + for (var i = 0; i < data.blocks.length; i++) { + var newDate = new Date(); + newDate.setTime(data.blocks[i].time * 1000); + dateString = newDate.toLocaleString(); + var foundDate = new Date(); + foundDate.setTime(data.blocks[i].found_time * 1000); + foundDateString = foundDate.toLocaleString(); + var reward = getRewardFromTransactions(data.blocks[i].transactions, poolAddress); + var status = data.blocks[i].status; + + var statusColor = ''; + if (status === 'Pending') { + statusColor = 'orange'; + } else if (status === 'Accepted') { + statusColor = 'green'; + } else if (status === 'Orphan') { + statusColor = 'red'; } + + $('#blocks-table').append('' + foundDateString + '' + data.blocks[i].index + '' + reward + '' + data.blocks[i].hash + '' + status + ''); } - return highestReward + ' YDA'; - } - var pagelength = 5; - var pageIndex = 1; - var selector = "tr:gt(" + pagelength + ")"; - $(selector).hide(); - - $("#loadMore").click(function(){ - var itemsCount = ((pageIndex * pagelength) + pagelength); - var selector = "tr:lt(" + itemsCount + ")"; - $(selector).show(); - pageIndex++; - }); - }); - $('#form').submit(function (e) { - e.preventDefault(); + function getRewardFromTransactions(transactions, poolAddress) { + var highestReward = 0.0; - let last24hPaid = 0; - let last7DaysPaid = 0; - let totalPaid = 0; + for (var i = 0; i < transactions.length; i++) { + for (var j = 0; j < transactions[i].outputs.length; j++) { + if (transactions[i].outputs[j].to === poolAddress) { + var currentReward = transactions[i].outputs[j].value; + if (currentReward > highestReward) { + highestReward = currentReward; + } + } + } + } + return highestReward + ' YDA'; + } - $.get('/pool-info').then((data) => { - const marketLastBTC = data.market.last_btc; - const marketLastUSDT = data.market.last_usdt; - $.get('/payouts-for-address?address=' + $('#address').val()).then((data) => { - createMinerPayTable(data, marketLastBTC, marketLastUSDT); + var pagelength = 10; + var pageIndex = 1; + var selector = "tr:gt(" + pagelength + ")"; + $(selector).hide(); + + $("#loadMore").click(function () { + var itemsCount = ((pageIndex * pagelength) + pagelength); + var selector = "tr:lt(" + itemsCount + ")"; + $(selector).show(); + pageIndex++; + }); }); }); - $.get('/miner-stats-for-address?address=' + $('#address').val()).then((data) => { - createMinerStatsTable(data); + $('#form').submit(function (e) { + e.preventDefault(); + + $.get('/pool-info').then((poolData) => { + const marketLastBTC = poolData.market.last_btc; + const marketLastUSDT = poolData.market.last_usdt; + const currentNetHashrate = poolData.network.current_hashes_per_second; + const avgNetHashrate = poolData.network.avg_hashes_per_second; + + $.get('/payouts-for-address?address=' + $('#address').val()).then((payoutData) => { + var currentPage = 1; + createPayoutsTable(payoutData, currentPage); + createMinerPayTable(payoutData, marketLastBTC, marketLastUSDT); + }); + + $.get('/miner-stats-for-address?address=' + $('#address').val()).then((minerData) => { + const minerHashrate = minerData.total_hashrate; + createMinerStatsTable(minerData); + createEstMiningProfitTable(marketLastBTC, marketLastUSDT, currentNetHashrate, avgNetHashrate, minerHashrate); + }); + }); }); - $.get('/payouts-for-address?address=' + $('#address').val()).then((data) => { - var currentPage = 1; - createPayoutsTable(data, currentPage); - }); - }); + function createPayoutsTable(data, currentPage) { + var itemsPerPage = 10; + var startIndex = (currentPage - 1) * itemsPerPage; + var endIndex = startIndex + itemsPerPage; - function createPayoutsTable(data, currentPage) { - var itemsPerPage = 10; - var startIndex = (currentPage - 1) * itemsPerPage; - var endIndex = startIndex + itemsPerPage; + if (data.results.length === 0) { + $('#payouts-table').html('Time SentFor BlockTXN IDAmount'); + } else { + $('#payouts-table').html(''); + $('#payouts-table').append('Time SentFor BlockTXN IDAmount'); - if (data.results.length === 0) { - $('#payouts-table').html('Time SentFor BlockTXN IDAmount'); - } else { - $('#payouts-table').html(''); - $('#payouts-table').append('Time SentFor BlockTXN IDAmount'); + for (var i = startIndex; i < data.results.length && i < endIndex; i++) { + var selectOutput = {}; + var newDate = new Date(); + newDate.setTime(data.results[i]['txn'].time * 1000); + dateString = newDate.toLocaleString(); - for (var i = startIndex; i < data.results.length && i < endIndex; i++) { - var selectOutput = {}; - var newDate = new Date(); - newDate.setTime(data.results[i]['txn'].time * 1000); - dateString = newDate.toLocaleString(); + var blockIndex = Array.isArray(data.results[i].index) ? data.results[i].index.join(', ') : data.results[i].index; - var blockIndex = Array.isArray(data.results[i].index) ? data.results[i].index.join(', ') : data.results[i].index; + for (var j = 0; j < data.results[i]['txn'].outputs.length; j++) { + if (data.results[i]['txn'].outputs[j].to === $('#address').val()) { + selectOutput = data.results[i]['txn'].outputs[j]; + } + } - for (var j = 0; j < data.results[i]['txn'].outputs.length; j++) { - if (data.results[i]['txn'].outputs[j].to === $('#address').val()) { - selectOutput = data.results[i]['txn'].outputs[j]; + $('#payouts-table').append('' + dateString + '' + blockIndex + '' + data.results[i]['txn'].id + '' + parseFloat(selectOutput.value).toFixed(8) + ' YDA' + ''); } } - $('#payouts-table').append('' + dateString + '' + blockIndex + '' + data.results[i]['txn'].id + '' + parseFloat(selectOutput.value).toFixed(8) + ' YDA' + ''); - } - } - - var totalPages = Math.ceil(data.results.length / itemsPerPage); - var maxVisiblePages = 10; - var pagination = $('#pagination').html(''); - var startPage = 1; - - if (currentPage > maxVisiblePages / 2) { - startPage = currentPage - Math.floor(maxVisiblePages / 2); - } - - var endPage = startPage + maxVisiblePages - 1; - if (endPage > totalPages) { - endPage = totalPages; - startPage = endPage - maxVisiblePages + 1; - if (startPage < 1) { - startPage = 1; - } - } + var totalPages = Math.ceil(data.results.length / itemsPerPage); + var maxVisiblePages = 10; + var pagination = $('#pagination').html(''); + var startPage = 1; - for (var page = startPage; page <= endPage; page++) { - var pageLink = $('' + page + ''); - var pageItem = $('
  • ').append(pageLink); - if (page === currentPage) { - pageItem.addClass('active'); - } + if (currentPage > maxVisiblePages / 2) { + startPage = currentPage - Math.floor(maxVisiblePages / 2); + } - pagination.append(pageItem); - } + var endPage = startPage + maxVisiblePages - 1; + if (endPage > totalPages) { + endPage = totalPages; + startPage = endPage - maxVisiblePages + 1; + if (startPage < 1) { + startPage = 1; + } + } - $('#pagination li').on('click', function () { - currentPage = parseInt($(this).text()); - createPayoutsTable(data, currentPage); - $('html, body').animate({ - scrollTop: $('#payouts-table-container').offset().top - }, 'slow'); - }); - } + for (var page = startPage; page <= endPage; page++) { + var pageLink = $('' + page + ''); + var pageItem = $('
  • ').append(pageLink); + if (page === currentPage) { + pageItem.addClass('active'); + } - function createMinerStatsTable(data) { - if (data.miner_stats.length === 0) { - return $('#miner-stats-table').html('Worker NameHashrateSharesHashesStatus'); - } + pagination.append(pageItem); + } - $('#miner-stats-table').html(''); - $('#miner-stats-table').append('Worker NameHashrateSharesHashesStatus'); + $('#pagination li').on('click', function () { + currentPage = parseInt($(this).text()); + createPayoutsTable(data, currentPage); + $('html, body').animate({ + scrollTop: $('#payouts-table-container').offset().top + }, 'slow'); + }); + } - for (var i = 0; i < data.miner_stats.length; i++) { - var workerName = data.miner_stats[i].worker_name; - var hashrate = formatHashRate(data.miner_stats[i].worker_hashrate); - var shares = data.miner_stats[i].worker_share; - var hashes = data.miner_stats[i].worker_hash; - var status = data.miner_stats[i].status; - var statusClass = status === "Online" ? "online-status" : "offline-status"; + function createMinerStatsTable(data) { + if (data.miner_stats.length === 0) { + return $('#miner-stats-table').html('Worker NameHashrateSharesHashesStatus'); + } - var row = '' + workerName + '' + hashrate + '' + shares + '' + hashes + '' + status + ''; - $('#miner-stats-table').append(row); - } + $('#miner-stats-table').html(''); + $('#miner-stats-table').append('Worker NameHashrateSharesHashesStatus'); + + for (var i = 0; i < data.miner_stats.length; i++) { + var workerName = data.miner_stats[i].worker_name; + var hashrate = formatHashRate(data.miner_stats[i].worker_hashrate); + var shares = data.miner_stats[i].worker_share; + var hashes = data.miner_stats[i].worker_hash; + var status = data.miner_stats[i].status; + + var statusColor = ''; + if (status === 'Online') { + statusColor = 'green'; + } else if (status === 'Offline') { + statusColor = 'red'; + } - var totalHashrate = formatHashRate(data.total_hashrate); - var totalShares = data.total_share; - var totalHashes = data.total_hash; + var row = '' + workerName + '' + hashrate + '' + shares + '' + hashes + '' + status + ''; + $('#miner-stats-table').append(row); + } - var totalRow = 'Total:' + totalHashrate + '' + totalShares + '' + totalHashes + ''; - $('#miner-stats-table').append(totalRow); - } + var totalHashrate = formatHashRate(data.total_hashrate); + var totalShares = data.total_share; + var totalHashes = data.total_hash; - function createMinerPayTable(data, marketLastBTC, marketLastUSDT) { + var totalRow = 'Total:' + totalHashrate + '' + totalShares + '' + totalHashes + ''; + $('#miner-stats-table').append(totalRow); + } - let last24hPaid = 0; - let last7DaysPaid = 0; - let totalPaid = 0; + function createMinerPayTable(data, marketLastBTC, marketLastUSDT) { + let last24hPaid = 0; + let last7DaysPaid = 0; + let totalPaid = 0; - if (data.results.length > 0) { + if (data.results.length > 0) { + const now = new Date(); + const last24hDate = new Date(now - 24 * 60 * 60 * 1000); + const last7DaysDate = new Date(now - 7 * 24 * 60 * 60 * 1000); - const now = new Date(); - const last24hDate = new Date(now - 24 * 60 * 60 * 1000); - const last7DaysDate = new Date(now - 7 * 24 * 60 * 60 * 1000); + for (let i = 0; i < data.results.length; i++) { + for (var j = 0; j < data.results[i]['txn'].outputs.length; j++) { + if (data.results[i]['txn'].outputs[j].to === $('#address').val()) { + const payoutDate = new Date(data.results[i]['txn'].time * 1000); + const payoutAmount = parseFloat(data.results[i]['txn'].outputs[j].value); - for (let i = 0; i < data.results.length; i++) { - const payoutDate = new Date(data.results[i]['txn'].time * 1000); - const payoutAmount = parseFloat(data.results[i]['txn'].outputs[0].value); + if (payoutDate >= last24hDate) { + last24hPaid += payoutAmount; + } - if (payoutDate >= last24hDate) { - last24hPaid += payoutAmount; - } + if (payoutDate >= last7DaysDate) { + last7DaysPaid += payoutAmount; + } - if (payoutDate >= last7DaysDate) { - last7DaysPaid += payoutAmount; + totalPaid += payoutAmount; + } + } } - - totalPaid += payoutAmount; } - } - const tableHTML = ` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Time PeriodPaidValue USDTValue BTC
    Last 24h${last24hPaid.toFixed(8)} YDA${(last24hPaid * marketLastUSDT).toFixed(8)} USD${(last24hPaid * marketLastBTC).toFixed(8)} BTC
    Last Week${last7DaysPaid.toFixed(8)} YDA${(last7DaysPaid * marketLastUSDT).toFixed(8)} USD${(last7DaysPaid * marketLastBTC).toFixed(8)} BTC
    Total${totalPaid.toFixed(8)} YDA${(totalPaid * marketLastUSDT).toFixed(8)} USD${(totalPaid * marketLastBTC).toFixed(8)} BTC
    - `; - - $('#miner-pay-container').html(tableHTML); - } + const tableHTML = ` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Time PeriodPaidValue USDTValue BTC
    Last 24h${last24hPaid.toFixed(8)} YDA${(last24hPaid * marketLastUSDT).toFixed(8)} USD${(last24hPaid * marketLastBTC).toFixed(8)} BTC
    Last Week${last7DaysPaid.toFixed(8)} YDA${(last7DaysPaid * marketLastUSDT).toFixed(8)} USD${(last7DaysPaid * marketLastBTC).toFixed(8)} BTC
    Total${totalPaid.toFixed(8)} YDA${(totalPaid * marketLastUSDT).toFixed(8)} USD${(totalPaid * marketLastBTC).toFixed(8)} BTC
    + `; + + $('#miner-pay-container').html(tableHTML); + } - }); + function createEstMiningProfitTable(marketLastBTC, marketLastUSDT, currentNetHashrate, avgNetHashrate, minerHashrate) { + console.log("Funkcja createEstMiningProfitTable została wywołana."); + + let estMiningProfit = 0; + const dailyCoins = 144 * 11.25; + + estMiningProfit = minerHashrate / currentNetHashrate * dailyCoins; + + console.log("Wartość estMiningProfit:", estMiningProfit); + console.log("Wartość marketLastBTC:", marketLastBTC); + console.log("Wartość marketLastUSDT:", marketLastUSDT); + console.log("Wartość currentNetHashrate:", currentNetHashrate); + console.log("Wartość avgNetHashrate:", avgNetHashrate); + console.log("Wartość minerHashrate:", minerHashrate); + + const tableHTML = ` + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Estimate Mining Profits
    Daily${estMiningProfit.toFixed(8)} YDA${(estMiningProfit * marketLastUSDT).toFixed(8)} USD${(estMiningProfit * marketLastBTC).toFixed(8)} BTC
    Weekly${(7 * estMiningProfit).toFixed(8)} YDA${(7 * estMiningProfit * marketLastUSDT).toFixed(8)} USD${(7 * estMiningProfit * marketLastBTC).toFixed(8)} BTC
    Monthly${(30 * estMiningProfit).toFixed(8)} YDA${(30 * estMiningProfit * marketLastUSDT).toFixed(8)} USD${(30 * estMiningProfit * marketLastBTC).toFixed(8)} BTC
    + `; + + $('#est-profit-container').html(tableHTML); + } + }); @@ -491,14 +577,6 @@

    MINER STATISTICS

    padding: 10px; } -.online-status { - color: green; -} - -.offline-status { - color: red; -} - .page-item.active a { background-color: #A9A9A9; color: #fff; From f520436e82adbb94255ca8326248a2c0095c149f Mon Sep 17 00:00:00 2001 From: Rakni1988 <67603180+Rakni1988@users.noreply.github.com> Date: Fri, 13 Oct 2023 08:56:26 +0200 Subject: [PATCH 09/94] Update pool.py --- yadacoin/http/pool.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/yadacoin/http/pool.py b/yadacoin/http/pool.py index 08f06904..d5e0318e 100644 --- a/yadacoin/http/pool.py +++ b/yadacoin/http/pool.py @@ -133,6 +133,17 @@ async def get(self): out.append(result) self.render_as_json({"results": out}) +class PoolBlocksHandler(BaseHandler): + async def get(self): + pool_blocks = ( + await self.config.mongo.async_db.pool_blocks + .find() + .sort("index", -1) + .limit(100) + .to_list(100) + ) + self.render_as_json({"blocks": pool_blocks}) + class PoolScanMissedPayoutsHandler(BaseHandler): async def get(self): start_index = self.get_query_argument("start_index") @@ -143,5 +154,6 @@ async def get(self): POOL_HANDLERS = [ (r"/miner-stats-for-address", MinerStatsHandler), (r"/payouts-for-address", PoolPayoutsHandler), + (r"/pool-blocks", PoolBlocksHandler), (r"/scan-missed-payouts", PoolScanMissedPayoutsHandler), ] From 9626461e675a95f2b27c9c1dbe970e51a3afdfb7 Mon Sep 17 00:00:00 2001 From: Rakni1988 <67603180+Rakni1988@users.noreply.github.com> Date: Wed, 18 Oct 2023 10:35:20 +0200 Subject: [PATCH 10/94] Update node.py --- yadacoin/http/node.py | 49 +++++++++++++++++++++++++++++++++++++------ 1 file changed, 43 insertions(+), 6 deletions(-) diff --git a/yadacoin/http/node.py b/yadacoin/http/node.py index e4eaf49c..05c8c0e2 100644 --- a/yadacoin/http/node.py +++ b/yadacoin/http/node.py @@ -113,14 +113,51 @@ async def get(self): }, {"_id": 0}, ) - return self.render_as_json([x async for x in status], indent=4) - status = await self.config.mongo.async_db.node_status.find_one( - {"archived": {"$exists": bool(archived)}}, - {"_id": 0}, - sort=[("timestamp", -1)], + status_data = [x async for x in status] + else: + status_data = await self.config.mongo.async_db.node_status.find_one( + {"archived": {"$exists": bool(archived)}}, + {"_id": 0}, + sort=[("timestamp", -1)], + ) + + await self.config.LatestBlock.block_checker() + pool_public_key = ( + self.config.pool_public_key + if hasattr(self.config, "pool_public_key") + else self.config.public_key ) - self.render_as_json(status, indent=4) + mining_time_interval = 600 + shares_count = await self.config.mongo.async_db.shares.count_documents( + {"time": {"$gte": time.time() - mining_time_interval}} + ) + if shares_count > 0: + pool_hash_rate = (shares_count * self.config.pool_diff) / mining_time_interval + else: + pool_hash_rate = 0 + + pool_blocks_found_list = await self.config.mongo.async_db.pool_blocks.find( + {"public_key": pool_public_key}, + {"_id": 0, "time": 1, "found_time": 1, "index": 1} + ).sort([("index", -1)]).to_list(5) + + response_data = { + "pool": { + "hashes_per_second": pool_hash_rate, + "last_five_blocks": [ + {"timestamp": x["found_time"], "height": x["index"]} + for x in pool_blocks_found_list[:5] + ], + "fee": self.config.pool_take, + "reward": CHAIN.get_block_reward( + self.config.LatestBlock.block.index + ), + }, + "status": status_data + } + + self.render_as_json(response_data, indent=4) class NewBlockHandler(BaseHandler): async def post(self): From 4b062d470aa7311659d4b58d47ceba8d45db0a36 Mon Sep 17 00:00:00 2001 From: Rakni1988 Date: Sat, 4 Nov 2023 16:57:58 +0100 Subject: [PATCH 11/94] yadapool v2 --- plugins/yadacoinpool/handlers.py | 135 ++-- .../yadacoinpool/templates/pool-stats.html | 699 +++++------------- yadacoin/app.py | 87 ++- yadacoin/core/block.py | 50 +- yadacoin/core/config.py | 7 +- yadacoin/core/consensus.py | 42 +- yadacoin/core/health.py | 1 - yadacoin/core/miningpool.py | 217 +++++- yadacoin/core/mongo.py | 6 - yadacoin/core/peer.py | 8 +- yadacoin/http/node.py | 2 + yadacoin/http/pool.py | 24 +- yadacoin/tcpsocket/base.py | 12 +- yadacoin/tcpsocket/node.py | 10 + yadacoin/tcpsocket/pool.py | 22 +- 15 files changed, 612 insertions(+), 710 deletions(-) diff --git a/plugins/yadacoinpool/handlers.py b/plugins/yadacoinpool/handlers.py index b918c0d4..b4b17be0 100644 --- a/plugins/yadacoinpool/handlers.py +++ b/plugins/yadacoinpool/handlers.py @@ -3,20 +3,21 @@ import requests from tornado.web import StaticFileHandler +from cachetools import TTLCache from yadacoin import version from yadacoin.core.chain import CHAIN from yadacoin.http.base import BaseHandler +cache = TTLCache(maxsize=1, ttl=3600) class BaseWebHandler(BaseHandler): async def prepare(self): - await super().prepare(exceptions=["/pool-info"]) + await super().prepare(exceptions=["/pool-info", "/market-info"]) def get_template_path(self): return os.path.join(os.path.dirname(__file__), "templates") - class PoolStatsInterfaceHandler(BaseWebHandler): async def get(self): self.render( @@ -29,31 +30,48 @@ async def get(self): mixpanel="pool stats page", ) - -class PoolInfoHandler(BaseWebHandler): +class MarketInfoHandler(BaseWebHandler): async def get(self): - def get_ticker(): - headers = { - "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36" + market_data = cache.get("market_data") + + if market_data is None: + market_data = await self.fetch_market_data() + cache["market_data"] = market_data + + self.render_as_json(market_data) + + async def fetch_market_data(self): + headers = { + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36" + } + response = requests.get("https://safe.trade/api/v2/peatio/public/markets/tickers", headers=headers) + + if response.status_code == 200: + market_data = { + "last_btc": float(response.json()["ydabtc"]["ticker"]["last"]), + "last_usdt": float(response.json()["ydausdt"]["ticker"]["last"]) } - return requests.get( - "https://safe.trade/api/v2/peatio/public/markets/tickers", - headers=headers, - ) + else: + market_data = { + "last_btc": 0, + "last_usdt": 0 + } + + return market_data - try: - if not hasattr(self.config, "ticker"): - self.config.ticker = get_ticker() - self.config.last_update = time.time() - if (time.time() - self.config.last_update) > (600 * 6): - self.config.ticker = get_ticker() - self.config.last_update = time.time() - last_btc = float(self.config.ticker.json()["ydabtc"]["ticker"]["last"]) - last_usdt = float(self.config.ticker.json()["ydausdt"]["ticker"]["last"]) - except: - last_btc = 0 - last_usdt = 0 +class PoolInfoHandler(BaseWebHandler): + async def get(self): await self.config.LatestBlock.block_checker() + latest_pool_info = await self.config.mongo.async_db.pool_info.find_one( + filter={}, + sort=[("time", -1)] + ) + + pool_hash_rate = latest_pool_info.get("pool_hash_rate", 0) + network_hash_rate = latest_pool_info.get("network_hash_rate", 0) + avg_network_hash_rate = latest_pool_info.get("avg_network_hash_rate", 0) + net_difficulty = latest_pool_info.get("net_difficulty", 0) + pool_public_key = ( self.config.pool_public_key if hasattr(self.config, "pool_public_key") @@ -62,66 +80,16 @@ def get_ticker(): total_blocks_found = await self.config.mongo.async_db.blocks.count_documents( {"public_key": pool_public_key} ) - pool_blocks_found_list = ( - await self.config.mongo.async_db.blocks.find( - { - "public_key": pool_public_key, - }, - {"_id": 0}, - ) - .sort([("index", -1)]) - .to_list(100) - ) - expected_blocks = 144 - mining_time_interval = 600 - shares_count = await self.config.mongo.async_db.shares.count_documents( - {"time": {"$gte": time.time() - mining_time_interval}} - ) - if shares_count > 0: - pool_hash_rate = ( - shares_count * self.config.pool_diff - ) / mining_time_interval - else: - pool_hash_rate = 0 + pool_blocks_found_list = await self.config.mongo.async_db.pool_blocks.find( + {}, + {"_id": 0, "index": 1, "found_time": 1, "time": 1} + ).sort([("index", -1)]).to_list(5) + expected_blocks = 144 daily_blocks_found = await self.config.mongo.async_db.blocks.count_documents( {"time": {"$gte": time.time() - (600 * 144)}} ) - if daily_blocks_found > 0: - net_target = self.config.LatestBlock.block.target - avg_blocks_found = self.config.mongo.async_db.blocks.find( - {"time": {"$gte": time.time() - (600 * 36)}} - ) - avg_blocks_found = await avg_blocks_found.to_list(length=52) avg_block_time = daily_blocks_found / expected_blocks * 600 - if len(avg_blocks_found) > 0: - avg_net_target = 0 - for block in avg_blocks_found: - avg_net_target += int(block["target"], 16) - avg_net_target = avg_net_target / len(avg_blocks_found) - avg_net_difficulty = ( - 0x0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - / avg_net_target - ) - net_difficulty = ( - 0x0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - / net_target - ) - avg_network_hash_rate = ( - len(avg_blocks_found) - / 36 - * avg_net_difficulty - * 2**16 - / avg_block_time - ) - network_hash_rate = net_difficulty * 2**16 / 600 - else: - avg_network_hash_rate = 1 - net_difficulty = ( - 0x0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - / 0x0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - ) - network_hash_rate = 0 try: pool_perecentage = pool_hash_rate / network_hash_rate * 100 @@ -154,18 +122,16 @@ def get_ticker(): payouts = ( await self.config.mongo.async_db.share_payout.find({}, {"_id": 0}) .sort([("index", -1)]) - .to_list(100) + .to_list(10) ) self.render_as_json( { "node": { - "latest_block": self.config.LatestBlock.block.to_dict(), - "health": self.config.health.to_dict(), "version": ".".join([str(x) for x in version]), }, "pool": { - "pool_address": self.config.address, + "pool_diff": self.config.pool_diff, "hashes_per_second": pool_hash_rate, "miner_count": miner_count_pool_stat["value"], "worker_count": worker_count_pool_stat["value"], @@ -178,14 +144,13 @@ def get_ticker(): f"{self.config.peer_host}:{self.config.stratum_pool_port}", ), "last_five_blocks": [ - {"timestamp": x["time"], "height": x["index"]} + {"timestamp": x["found_time"], "height": x["index"]} for x in pool_blocks_found_list[:5] ], "blocks_found": total_blocks_found, "fee": self.config.pool_take, "payout_frequency": self.config.pool_payer_wait, "payouts": payouts, - "blocks": pool_blocks_found_list[:100], "pool_perecentage": pool_perecentage, "avg_block_time": avg_time, }, @@ -199,7 +164,6 @@ def get_ticker(): "current_hashes_per_second": network_hash_rate, "difficulty": net_difficulty, }, - "market": {"last_btc": last_btc, "last_usdt": last_usdt}, "coin": { "algo": "randomx YDA", "circulating": CHAIN.get_circulating_supply( @@ -212,6 +176,7 @@ def get_ticker(): HANDLERS = [ + (r"/market-info", MarketInfoHandler), (r"/pool-info", PoolInfoHandler), (r"/", PoolStatsInterfaceHandler), ( diff --git a/plugins/yadacoinpool/templates/pool-stats.html b/plugins/yadacoinpool/templates/pool-stats.html index e59b4825..f8ef7aa6 100644 --- a/plugins/yadacoinpool/templates/pool-stats.html +++ b/plugins/yadacoinpool/templates/pool-stats.html @@ -1,526 +1,214 @@ - - - - - - + + + + + + + + + -
    -
    YADA MINING POOL
    -
    -
    -
    -
    POOL HASH RATE
    -
    -
    -
    -
    -
    -
    -
    BLOCKS FOUND
    -
    -
    -
    -
    -
    -
    BLOCK FOUND EVERY
    -
    -
    -
    -
    -
    -
    LAST BLOCK FOUND BY POOL
    -
    -
    -
    -
    -
    -
    -
    NETWORK HASH RATE
    -
    -
    -
    -
    -
    -
    DIFFICULTY
    -
    -
    -
    -
    -
    -
    -
    BLOCKCHAIN HEIGHT
    -
    -
    -
    -
    -
    -
    -
    BLOCK REAWORD
    -

    MINERS:

    -

    MASTER NODES:

    -
    -
    -
    -
    -
    CONNECTED MINERS / WORKERS
    -
    /
    -
    -
    -
    -
    -
    POOL FEE
    -
    -
    -
    -
    -
    -
    MINIMUM PAYOUT
    -
    -
    -
    -
    -
    -
    -
    PAYOUT SCHEME
    -
    -
    -
    -
    -
    - - -
    +
    + -
    -
    -
    HOW TO START
    -
    Create wallet
    -
    Download XMRigCC
    -
    XMRigCC config.json settings:
    -
    "algo": "rx/yada",
    -
    "url": """,
    -
    "user": "Your wallet address.Worker ID",
    -
    "keepalive": true,
    -
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    -
    -
    -
  • -
  • -
  • -
  • -
    - -

    POOL BLOCKS

    - - - - - - - - -
    Time FoundHeightRewardBlock HashStatus
    -
    - -

    MINER STATISTICS

    - - - - -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
      -
      +
      +
      Designed by Rakni v2.1
      - - + + diff --git a/yadacoin/app.py b/yadacoin/app.py index e9a9f4b0..29f17577 100644 --- a/yadacoin/app.py +++ b/yadacoin/app.py @@ -355,7 +355,7 @@ async def background_block_checker(self): await self.config.nodeShared.send_block_to_peers( self.config.LatestBlock.block ) - elif int(time()) - self.config.background_block_checker.last_send > 60: + elif int(time()) - self.config.background_block_checker.last_send > 300: # from now on, we optionally send a new block every 5 minutes self.config.background_block_checker.last_send = int(time()) await self.config.nodeShared.send_block_to_peers( self.config.LatestBlock.block @@ -364,6 +364,18 @@ async def background_block_checker(self): self.config.health.block_checker.last_activity = int(time()) except Exception: self.config.app_log.error(format_exc()) + # will significantly affect the processing speed of a new block when it is broadcast by another node, changing from 10 seconds to 1. + try: + if self.config.processing_queues.block_queue.queue: + if (time() - self.config.health.block_inserter.last_activity) >= 1: + self.config.processing_queues.block_queue.time_sum_start() + await self.config.consensus.process_block_queue() + self.config.processing_queues.block_queue.time_sum_end() + self.config.health.block_inserter.last_activity = int(time()) + except: + self.config.app_log.error(format_exc()) + self.config.processing_queues.block_queue.time_sum_end() + self.config.background_block_checker.busy = False async def background_message_sender(self): @@ -481,39 +493,38 @@ async def background_block_queue_processor(self): if self.config.background_block_queue_processor.busy: return self.config.background_block_queue_processor.busy = True - while True: - try: - synced = await Peer.is_synced() - skip = False - if self.config.processing_queues.block_queue.queue: - if ( - time() - self.config.health.consensus.last_activity - < CHAIN.FORCE_CONSENSUS_TIME_THRESHOLD - ): - skip = True - if not skip or not synced: - await self.config.consensus.sync_bottom_up(synced) - self.config.health.consensus.last_activity = time() - except Exception: - self.config.app_log.error(format_exc()) - - try: - if self.config.processing_queues.block_queue.queue: - if (time() - self.config.health.block_inserter.last_activity) > 1: - self.config.processing_queues.block_queue.time_sum_start() - await self.config.consensus.process_block_queue() - self.config.processing_queues.block_queue.time_sum_end() - self.config.health.block_inserter.last_activity = int(time()) - except: - self.config.app_log.error(format_exc()) - self.config.processing_queues.block_queue.time_sum_end() - + try: synced = await Peer.is_synced() - if not synced: - continue - break + skip = False + if self.config.processing_queues.block_queue.queue: + if ( + time() - self.config.health.consensus.last_activity + < CHAIN.FORCE_CONSENSUS_TIME_THRESHOLD + ): + skip = True + if not skip or not synced: + await self.config.consensus.sync_bottom_up(synced) + self.config.health.consensus.last_activity = time() + except Exception: + self.config.app_log.error(format_exc()) + self.config.background_block_queue_processor.busy = False + async def background_pool_info_checker(self): + self.config.app_log.debug("background_pool_info_checker") + if not hasattr(self.config, "background_pool_info_checker"): + self.config.background_pool_info_checker = WorkerVars(busy=False) + if self.config.background_pool_info_checker.busy: + return + self.config.background_pool_info_checker.busy = True + try: + await self.config.mp.update_pool_stats() + await self.config.mp.update_miners_stats() + except Exception as e: + self.config.app_log.error(f"Error in background_pool_info_checker: {str(e)}") + self.config.background_pool_info_checker.busy = False + + async def background_pool_payer(self): """Responsible for paying miners""" """ @@ -651,7 +662,7 @@ def configure_logging(self): tornado.log.enable_pretty_logging(logger=self.config.app_log) logfile = path.abspath("yada_app.log") # Rotate log after reaching 512K, keep 5 old copies. - rotateHandler = RotatingFileHandler(logfile, "a", 512 * 1024, 5) + rotateHandler = RotatingFileHandler(logfile, "a", 5 * 1024 * 1024, 10) formatter = logging.Formatter("%(asctime)s %(levelname)s %(message)s") rotateHandler.setFormatter(formatter) self.config.app_log.addHandler(rotateHandler) @@ -720,7 +731,7 @@ def init_whitelist(self): def init_ioloop(self): tornado.ioloop.IOLoop.current().set_default_executor( - ThreadPoolExecutor(max_workers=1) + ThreadPoolExecutor(max_workers=2) ) if MODES.NODE.value in self.config.modes: @@ -764,6 +775,12 @@ def init_ioloop(self): self.config.nonce_processor_wait * 1000, ).start() + PeriodicCallback( + self.background_pool_info_checker, + self.config.pool_info_checker_wait * 1000 + ).start() + + if self.config.pool_payout: self.config.app_log.info("PoolPayout activated") self.config.pp = PoolPayer() @@ -771,8 +788,8 @@ def init_ioloop(self): PeriodicCallback( self.background_pool_payer, self.config.pool_payer_wait * 1000 ).start() - while True: - tornado.ioloop.IOLoop.current().start() + + tornado.ioloop.IOLoop.current().start() def init_jwt(self): jwt_key = EccKey(curve="p256", d=int(self.config.private_key, 16)) diff --git a/yadacoin/core/block.py b/yadacoin/core/block.py index b77f39f3..cda412c8 100644 --- a/yadacoin/core/block.py +++ b/yadacoin/core/block.py @@ -6,6 +6,7 @@ from datetime import timedelta from decimal import Decimal, getcontext from logging import getLogger +from cachetools import TTLCache from bitcoin.signmessage import BitcoinMessage, VerifyMessage from bitcoin.wallet import P2PKHBitcoinAddress @@ -27,6 +28,8 @@ ) from yadacoin.core.transactionutils import TU +cache = TTLCache(maxsize=1, ttl=1800) + def quantize_eight(value): getcontext().prec = len(str(value)) + 8 @@ -232,27 +235,34 @@ async def generate( ] masternode_reward_total = block_reward * 0.1 - successful_nodes = [] - for node in nodes: - from tornado.tcpclient import TCPClient + successful_nodes = cache.get("successful_nodes") - try: - stream = await TCPClient().connect( - node.host, node.port, timeout=timedelta(seconds=1) - ) - except StreamClosedError: - config.app_log.warning( - f"Stream closed exception in block generate: testing masternode {node.host}:{node.port}" - ) - except TimeoutError: - config.app_log.warning( - f"Timeout exception in block generate: testing masternode {node.host}:{node.port}" - ) - except Exception: - config.app_log.warning( - f"Unhandled exception in block generate: testing masternode {node.host}:{node.port}" - ) - successful_nodes.append(node) + if successful_nodes is None: + config.app_log.info("Cache is empty, perform the testing of nodes and save the result in the cache.") + successful_nodes = [] + for node in nodes: + from tornado.tcpclient import TCPClient + + try: + stream = await TCPClient().connect( + node.host, node.port, timeout=timedelta(seconds=1) + ) + successful_nodes.append(node) + stream.close() + except StreamClosedError: + config.app_log.warning( + f"Stream closed exception in block generate: testing masternode {node.host}:{node.port}" + ) + except TimeoutError: + config.app_log.warning( + f"Timeout exception in block generate: testing masternode {node.host}:{node.port}" + ) + except Exception: + config.app_log.warning( + f"Unhandled exception in block generate: testing masternode {node.host}:{node.port}" + ) + config.app_log.info("Save the result in cache.") + cache["successful_nodes"] = successful_nodes masternode_reward_divided = masternode_reward_total / len(successful_nodes) for successful_node in successful_nodes: diff --git a/yadacoin/core/config.py b/yadacoin/core/config.py index c004c274..64e850dc 100644 --- a/yadacoin/core/config.py +++ b/yadacoin/core/config.py @@ -143,10 +143,11 @@ def __init__(self, config=None): self.peers_wait = config.get("peers_wait", 3) self.status_wait = config.get("status_wait", 10) self.txn_queue_processor_wait = config.get("txn_queue_processor_wait", 10) - self.block_queue_processor_wait = config.get("block_queue_processor_wait", 10) + self.block_queue_processor_wait = config.get("block_queue_processor_wait", 15) self.block_checker_wait = config.get("block_checker_wait", 1) self.message_sender_wait = config.get("message_sender_wait", 10) self.pool_payer_wait = config.get("pool_payer_wait", 1800) + self.pool_info_checker_wait = config.get("pool_info_checker_wait", 30) self.cache_validator_wait = config.get("cache_validator_wait", 30) self.mempool_cleaner_wait = config.get("mempool_cleaner_wait", 1200) self.nonce_processor_wait = config.get("nonce_processor_wait", 1) @@ -329,6 +330,7 @@ def generate( "pool_payout": False, "pool_take": 0.01, "pool_payer_wait": 1800, + "pool_info_checker_wait": 30, "block_confirmation": 6, "max_miners": 100, "max_peers": 20, @@ -418,10 +420,11 @@ def from_dict(cls, config): cls.peers_wait = config.get("peers_wait", 3) cls.status_wait = config.get("status_wait", 10) cls.txn_queue_processor_wait = config.get("txn_queue_processor_wait", 10) - cls.block_queue_processor_wait = config.get("block_queue_processor_wait", 10) + cls.block_queue_processor_wait = config.get("block_queue_processor_wait", 15) cls.block_checker_wait = config.get("block_checker_wait", 1) cls.message_sender_wait = config.get("message_sender_wait", 10) cls.pool_payer_wait = config.get("pool_payer_wait", 1800) + cls.pool_info_checker_wait = config.get("pool_info_checker_wait", 30) cls.cache_validator_wait = config.get("cache_validator_wait", 30) cls.mempool_cleaner_wait = config.get("mempool_cleaner_wait", 1200) cls.nonce_processor_wait = config.get("nonce_processor_wait", 1) diff --git a/yadacoin/core/consensus.py b/yadacoin/core/consensus.py index 1e836ed4..fe874c03 100644 --- a/yadacoin/core/consensus.py +++ b/yadacoin/core/consensus.py @@ -4,6 +4,7 @@ import datetime import json import logging +import asyncio from time import time from traceback import format_exc @@ -11,6 +12,7 @@ from yadacoin.core.block import Block from yadacoin.core.blockchain import Blockchain +from yadacoin.core.peer import Peer from yadacoin.core.chain import CHAIN from yadacoin.core.config import Config from yadacoin.core.processingqueue import BlockProcessingQueueItem @@ -137,11 +139,15 @@ async def process_block_queue_item(self, item): return if block.index < self.config.LatestBlock.block.index: - await self.config.nodeShared.write_params( - stream, - "newblock", - {"payload": {"block": self.config.LatestBlock.block.to_dict()}}, - ) + try: + await self.config.nodeShared.write_params( + stream, + "newblock", + {"payload": {"block": self.config.LatestBlock.block.to_dict()}}, + ) + except Exception as e: + self.config.app_log.error(f"Error sending response: {e}") + self.config.app_log.info( f"block index less than our latest block index: {block.index} < {self.config.LatestBlock.block.index} | {stream.peer.identity.to_dict}" ) @@ -205,18 +211,30 @@ async def insert_consensus_block(self, block, peer): } ) if existing: + self.app_log.info( + "Block with index %s, signature %s, and peer %s already exists in consensus." + % (block.index, block.signature, peer.to_string()) + ) return True + try: await block.verify() - except: + except Exception as e: + self.app_log.error( + "Failed to verify block with index %s, signature %s, and peer %s: %s" + % (block.index, block.signature, peer.to_string(), str(e)) + ) return False + self.app_log.info( - "inserting new consensus block for height and peer: %s %s" + "Inserting new consensus block for height %s and peer %s." % (block.index, peer.to_string()) ) + await self.mongo.async_db.consensus.delete_many( {"index": block.index, "peer.rid": peer.rid} ) + await self.mongo.async_db.consensus.insert_one( { "block": block.to_dict(), @@ -225,6 +243,7 @@ async def insert_consensus_block(self, block, peer): "peer": peer.to_dict(), } ) + return True async def sync_bottom_up(self, synced): @@ -284,8 +303,9 @@ async def sync_bottom_up(self, synced): # getblocks <--- rpc request # blocksresponse <--- rpc response # process_block_queue - if (time() - self.last_network_search) > 30 or not synced: + if (time() - self.last_network_search) >= 60 or not synced: self.last_network_search = time() + self.app_log.info("Calling search_network_for_new") return await self.search_network_for_new() async def search_network_for_new(self): @@ -301,6 +321,7 @@ async def search_network_for_new(self): try: peer.syncing = True await self.request_blocks(peer) + break # there is no point in downloading the same blocks from each node, TODO use random node selection or download a different blocks interval from each of them except StreamClosedError: peer.close() except Exception as e: @@ -510,10 +531,9 @@ async def insert_block(self, block, stream): self.app_log.info("New block inserted for height: {}".format(block.index)) if self.config.mp: - if self.syncing or (hasattr(stream, "syncing") and stream.syncing): - return True try: await self.config.mp.refresh() + await self.config.mp.update_block_status() except Exception: self.app_log.warning("{}".format(format_exc())) @@ -526,4 +546,4 @@ async def insert_block(self, block, stream): except Exception: from traceback import format_exc - self.app_log.warning("{}".format(format_exc())) + self.app_log.warning("{}".format(format_exc())) \ No newline at end of file diff --git a/yadacoin/core/health.py b/yadacoin/core/health.py index f22ab57a..7bed63b4 100644 --- a/yadacoin/core/health.py +++ b/yadacoin/core/health.py @@ -178,7 +178,6 @@ def __init__(self): super().__init__() self.config = Config() self.timeout = self.config.pool_payer_wait + 10 - async def check_health(self): if not self.config.pp: return self.report_status(True, ignore=True) diff --git a/yadacoin/core/miningpool.py b/yadacoin/core/miningpool.py index 5f377cc5..701d4d3f 100644 --- a/yadacoin/core/miningpool.py +++ b/yadacoin/core/miningpool.py @@ -1,9 +1,11 @@ import binascii +import time import json import random import uuid +import asyncio from logging import getLogger -from time import time +from decimal import Decimal from yadacoin.core.block import Block from yadacoin.core.blockchain import Blockchain @@ -25,7 +27,7 @@ async def init_async(cls): self.mongo = self.config.mongo self.app_log = getLogger("tornado.application") self.target_block_time = CHAIN.target_block_time(self.config.network) - self.max_target = CHAIN.MAX_TARGET + self.max_target = 0x0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF self.inbound = {} self.connected_ips = {} self.last_block_time = 0 @@ -37,7 +39,8 @@ async def init_async(cls): self.index = last_block.index self.last_refresh = 0 self.block_factory = None - await self.refresh() + if await Peer.is_synced(): + await self.refresh() return self def get_status(self): @@ -64,15 +67,19 @@ async def process_nonce_queue(self): "method": body.get("method"), "jsonrpc": body.get("jsonrpc"), } - data["result"] = await self.process_nonce(miner, nonce, job) - if not data["result"]: - data["error"] = {"message": "Invalid hash for current block"} - try: - await stream.write("{}\n".format(json.dumps(data)).encode()) - except: - pass - if "error" in data: + if job and job.index != self.config.LatestBlock.block.index + 1: + self.app_log.warning("Received job with incorrect block height. Resending job to miner.") await StratumServer.send_job(stream) + else: + data["result"] = await self.process_nonce(miner, nonce, job) + if not data["result"]: + data["error"] = {"message": "Invalid hash for current block"} + try: + await stream.write("{}\n".format(json.dumps(data)).encode()) + except: + pass + if "error" in data: + await StratumServer.send_job(stream) await StratumServer.block_checker() @@ -85,6 +92,7 @@ async def process_nonce_queue(self): item = self.config.processing_queues.nonce_queue.pop() + async def process_nonce(self, miner, nonce, job): nonce = nonce + job.extra_nonce.encode().hex() header = ( @@ -137,16 +145,7 @@ async def process_nonce(self, miner, nonce, job): accepted = False - target = int( - "0x" - + ( - f"0000000000000000000000000000000000000000000000000000000000000000" - + f"{hex(0x10000000000000001 // self.config.pool_diff)[2:64]}FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"[ - :64 - ] - )[-64:], - 16, - ) + target = 0x0000FFFF00000000000000000000000000000000000000000000000000000000 if block_candidate.index >= CHAIN.BLOCK_V5_FORK: test_hash = int(Blockchain.little_hash(block_candidate.hash), 16) @@ -164,7 +163,7 @@ async def process_nonce(self, miner, nonce, job): "index": block_candidate.index, "hash": block_candidate.hash, "nonce": nonce, - "time": int(time()), + "time": int(time.time()), } }, upsert=True, @@ -303,10 +302,10 @@ async def block_to_mine_info(self): if self.block_factory is None: # await self.refresh() return {} + target = hex(int(self.block_factory.target))[2:].rjust(64, "0") + self.config.app_log.debug("Target: %s", target) res = { - "target": hex(int(self.block_factory.target))[2:].rjust( - 64, "0" - ), # target is now in hex format + "target": target, # target is now in hex format "special_target": hex(int(self.block_factory.special_target))[2:].rjust( 64, "0" ), # target is now in hex format @@ -335,7 +334,7 @@ async def generate_job(self, agent): difficulty = int(self.max_target / self.block_factory.target) seed_hash = "4181a493b397a733b083639334bc32b407915b9a82b7917ac361816f0a1f5d4d" # sha256(yadacoin65000) job_id = str(uuid.uuid4()) - extra_nonce = hex(random.randrange(1000000, 1000000000000000))[2:] + extra_nonce = hex(random.randrange(10000, 1000000))[2:] header = self.block_factory.header.replace("{nonce}", "{00}" + extra_nonce) if "XMRigCC/3" in agent or "XMRig/3" in agent: @@ -360,6 +359,9 @@ async def generate_job(self, agent): "extra_nonce": extra_nonce, "algo": "rx/yada", } + + self.config.app_log.info(f"Generated job: {res}") + return await Job.from_dict(res) async def set_target_as_previous_non_special_min(self): @@ -564,6 +566,134 @@ async def verify_pending_transaction(self, txn, used_sigs): except Exception as e: await Transaction.handle_exception(e, transaction_obj) + async def update_pool_stats(self): + await self.config.LatestBlock.block_checker() + + expected_blocks = 144 + mining_time_interval = 600 + shares_count = await self.config.mongo.async_db.shares.count_documents( + {"time": {"$gte": time.time() - mining_time_interval}} + ) + if shares_count > 0: + pool_hash_rate = ( + shares_count * self.config.pool_diff + ) / mining_time_interval + else: + pool_hash_rate = 0 + + daily_blocks_found = await self.config.mongo.async_db.blocks.count_documents( + {"time": {"$gte": time.time() - (600 * 144)}} + ) + avg_block_time = daily_blocks_found / expected_blocks * 600 + if daily_blocks_found > 0: + net_target = self.config.LatestBlock.block.target + avg_blocks_found = self.config.mongo.async_db.blocks.find( + {"time": {"$gte": time.time() - (600 * 36)}}, + projection={"_id": 0, "target": 1} + ) + + avg_block_targets = [block["target"] async for block in avg_blocks_found] + if avg_block_targets: + avg_net_target = sum(int(target, 16) for target in avg_block_targets) / len(avg_block_targets) + avg_net_difficulty = ( + 0x0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + / avg_net_target + ) + net_difficulty = ( + 0x0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + / net_target + ) + avg_network_hash_rate = ( + len(avg_block_targets) + / 36 + * avg_net_difficulty + * 2**16 + / avg_block_time + ) + network_hash_rate = net_difficulty * 2**16 / 600 + else: + avg_network_hash_rate = 1 + net_difficulty = ( + 0x0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + / 0x0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ) + network_hash_rate = 0 + + + # Oto aktualizacja danych w bazie "pool_info" + await self.config.mongo.async_db.pool_info.insert_one( + { + "pool_hash_rate": pool_hash_rate, + "network_hash_rate": network_hash_rate, + "net_difficulty": net_difficulty, + "avg_network_hash_rate": avg_network_hash_rate, + "time": int(time.time()), + } + ) + + async def update_miners_stats(self): + miner_hashrate_seconds = 1200 + current_time = int(time.time()) # Aktualny czas + + hashrate_query = {"time": {"$gt": current_time - miner_hashrate_seconds}} + + # Grupowanie shares na górników i pracowników + hashrate_cursor = self.config.mongo.async_db.shares.aggregate([ + {"$match": hashrate_query}, + {"$group": { + "_id": { + "address": {"$ifNull": [{"$arrayElemAt": [{"$split": ["$address", "."]}, 0]}, "No address"]}, + "worker": {"$ifNull": [{"$arrayElemAt": [{"$split": ["$address", "."]}, 1]}, "No worker"]} + }, + "number_of_shares": {"$sum": 1} + }} + ]) + + worker_hashrate = {} + miner_stats = [] # Lista dla miner_stats + total_hashrate = 0 + + async for doc in hashrate_cursor: + address = doc["_id"]["address"] + worker_name = doc["_id"]["worker"] + number_of_shares = doc["number_of_shares"] + + worker_hashrate_individual = number_of_shares * self.config.pool_diff // miner_hashrate_seconds + total_hashrate += worker_hashrate_individual + + if address not in worker_hashrate: + worker_hashrate[address] = {} + + if worker_name not in worker_hashrate[address]: + worker_hashrate[address][worker_name] = { + "worker_hashrate": 0 + } + + worker_hashrate[address][worker_name]["worker_hashrate"] += worker_hashrate_individual + + # Zapisz dane do miner_stats + for address, worker_data in worker_hashrate.items(): + address_stats = [] + total_address_hashrate = 0 # Dodaj total hash rate dla adresu + for worker_name, data in worker_data.items(): + hashrate_data = { + "worker_name": worker_name, + "worker_hashrate": data["worker_hashrate"], + } + address_stats.append(hashrate_data) + total_address_hashrate += data["worker_hashrate"] + miner_stats.append({"miner_address": address, "worker_stats": address_stats, "total_hashrate": total_address_hashrate}) + + # Tworzenie dokumentu miner_stats + miners_stats_data = { + "time": int(time.time()), + "miner_stats": miner_stats, + "total_hashrate": total_hashrate + } + + # Zapisz dane w nowym formacie + await self.config.mongo.async_db.miners_stats.insert_one(miners_stats_data) + async def accept_block(self, block): self.app_log.info("Candidate submitted for index: {}".format(block.index)) self.app_log.info("Transactions:") @@ -580,4 +710,37 @@ async def accept_block(self, block): await self.config.websocketServer.send_block(block) - await self.refresh() + await self.save_block_to_database(block) + + #await self.refresh() + + async def save_block_to_database(self, block): + block_data = block.to_dict() + block_data['found_time'] = int(time.time()) + block_data['status'] = "Pending" + + await self.config.mongo.async_db.pool_blocks.insert_one(block_data) + + async def update_block_status(self): + pool_blocks_collection = self.config.mongo.async_db.pool_blocks + latest_block_index = self.config.LatestBlock.block.index + pending_blocks_list = await pool_blocks_collection.find({"status": {"$in": ["Pending", None]}}).to_list(None) + + for block in pending_blocks_list: + confirmations = latest_block_index - block['index'] + + if confirmations >= 6: + matching_block = await self.config.mongo.async_db.blocks.find_one({"index": block['index']}) + + if matching_block and matching_block['hash'] == block['hash']: + await pool_blocks_collection.update_one( + {"_id": block['_id']}, + {"$set": {"status": "Accepted"}} + ) + else: + await pool_blocks_collection.update_one( + {"_id": block['_id']}, + {"$set": {"status": "Orphan"}} + ) + + self.app_log.info(f"Block with index {block['index']} updated to status: {block['status']}") \ No newline at end of file diff --git a/yadacoin/core/mongo.py b/yadacoin/core/mongo.py index fd6edff5..6df89798 100644 --- a/yadacoin/core/mongo.py +++ b/yadacoin/core/mongo.py @@ -233,12 +233,6 @@ def __init__(self): except: pass - __timestamp = IndexModel([("timestamp", DESCENDING)], name="__timestamp") - try: - self.db.node_status.create_indexes([__timestamp]) - except: - raise - # TODO: add indexes for peers # See https://motor.readthedocs.io/en/stable/tutorial-tornado.html diff --git a/yadacoin/core/peer.py b/yadacoin/core/peer.py index e41cf012..b112d65c 100644 --- a/yadacoin/core/peer.py +++ b/yadacoin/core/peer.py @@ -246,7 +246,7 @@ async def ensure_peers_connected(self): for k, v in self.config.nodeClient.outbound_ignore[ outbound_class.__name__ ].items() - if (time.time() - v) < 30 + if (time.time() - v) < 300 # we try to reconnect to the ignored node after 5 minutes } await self.connect( stream_collection, @@ -268,8 +268,8 @@ async def connect(self, stream_collection, limit, peers, ignored_peers): @staticmethod async def is_synced(): - streams = Config().peer.get_sync_peers() - async for stream in streams: + streams = await Config().peer.get_outbound_streams() # to determine synced, we only take into account nodes from which we get blocks, not those that get them from us. + for stream in streams: if not stream.synced: return False return True @@ -1094,4 +1094,4 @@ async def get_routes(): outbound_peer.seed_gateway ].identity.generate_rid(outbound_peer.identity.username_signature) routes.append(f"{seed_rid}:{seed_gateway_rid}:{outbound_peer.rid}") - return routes + return routes \ No newline at end of file diff --git a/yadacoin/http/node.py b/yadacoin/http/node.py index 05c8c0e2..0d5d0a1a 100644 --- a/yadacoin/http/node.py +++ b/yadacoin/http/node.py @@ -129,6 +129,7 @@ async def get(self): ) mining_time_interval = 600 + shares_count = await self.config.mongo.async_db.shares.count_documents( {"time": {"$gte": time.time() - mining_time_interval}} ) @@ -159,6 +160,7 @@ async def get(self): self.render_as_json(response_data, indent=4) + class NewBlockHandler(BaseHandler): async def post(self): """ diff --git a/yadacoin/http/pool.py b/yadacoin/http/pool.py index d5e0318e..1168cc45 100644 --- a/yadacoin/http/pool.py +++ b/yadacoin/http/pool.py @@ -137,12 +137,28 @@ class PoolBlocksHandler(BaseHandler): async def get(self): pool_blocks = ( await self.config.mongo.async_db.pool_blocks - .find() + .find({}, {"_id": 0, "index": 1, "time": 1, "found_time": 1, "target": 1, "transactions": 1, "status": 1, "hash": 1}) .sort("index", -1) - .limit(100) - .to_list(100) + .to_list(None) ) - self.render_as_json({"blocks": pool_blocks}) + + formatted_blocks = [] + for block in pool_blocks: + formatted_blocks.append({ + "index": block["index"], + "time": block["time"], + "found_time": block["found_time"], + "target": block["target"], + "transactions": block["transactions"], + "status": block["status"], + "hash": block["hash"] + }) + + pool_address = { + "pool_address": self.config.address, + } + + self.render_as_json({"pool": pool_address, "blocks": formatted_blocks}) class PoolScanMissedPayoutsHandler(BaseHandler): async def get(self): diff --git a/yadacoin/tcpsocket/base.py b/yadacoin/tcpsocket/base.py index a869f20c..e2a91f3c 100644 --- a/yadacoin/tcpsocket/base.py +++ b/yadacoin/tcpsocket/base.py @@ -139,11 +139,11 @@ async def handle_stream(self, stream, address): # OPTIONAL: Adjust keepalive settings if needed if hasattr(socket, "TCP_KEEPIDLE"): - stream.socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPIDLE, 60) + stream.socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPIDLE, 120) if hasattr(socket, "TCP_KEEPINTVL"): - stream.socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPINTVL, 15) + stream.socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPINTVL, 10) if hasattr(socket, "TCP_KEEPCNT"): - stream.socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPCNT, 5) + stream.socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPCNT, 1) stream.synced = False stream.syncing = False @@ -153,7 +153,11 @@ async def handle_stream(self, stream, address): data = await stream.read_until(b"\n") stream.last_activity = int(time.time()) self.config.health.tcp_server.last_activity = time.time() - body = json.loads(data) + try: + body = json.loads(data) + except json.JSONDecodeError as e: + self.config.app_log.warning("Failed to parse JSON data: {}".format(str(e))) + continue method = body.get("method") if "result" in body: if method in REQUEST_RESPONSE_MAP: diff --git a/yadacoin/tcpsocket/node.py b/yadacoin/tcpsocket/node.py index 439d05c6..7793cb7e 100644 --- a/yadacoin/tcpsocket/node.py +++ b/yadacoin/tcpsocket/node.py @@ -372,6 +372,9 @@ async def getblock(self, body, stream): ] = {} async def blocksresponse(self, body, stream): + # Logowanie rozpoczęcia funkcji + self.config.app_log.info("blocksresponse function started") + # get blocks should be done only by syncing peers result = body.get("result") blocks = result.get("blocks") @@ -384,7 +387,10 @@ async def blocksresponse(self, body, stream): self.config.consensus.syncing = False stream.synced = True await self.send_mempool(stream) + # Logowanie zakończenia funkcji + self.config.app_log.info("blocksresponse function finished") return + self.config.consensus.syncing = True blocks = [await Block.from_dict(x) for x in blocks] first_inbound_block = blocks[0] @@ -403,12 +409,16 @@ async def blocksresponse(self, body, stream): if not status: await self.fill_gap(first_inbound_block.index, stream) self.config.consensus.syncing = False + # Logowanie zakończenia funkcji w przypadku błędu + self.config.app_log.info("blocksresponse function finished with an error") return False self.config.processing_queues.block_queue.add( BlockProcessingQueueItem(inbound_blockchain, stream, body) ) self.config.consensus.syncing = False + # Logowanie zakończenia funkcji + self.config.app_log.info("blocksresponse function finished") async def blocksresponse_confirmed(self, body, stream): params = body.get("result") diff --git a/yadacoin/tcpsocket/pool.py b/yadacoin/tcpsocket/pool.py index 485c250f..11ce1226 100644 --- a/yadacoin/tcpsocket/pool.py +++ b/yadacoin/tcpsocket/pool.py @@ -25,7 +25,7 @@ async def block_checker(cls): if not cls.config: cls.config = Config() - if time.time() - cls.config.mp.block_factory.time > 600: + if time.time() - cls.config.mp.block_factory.time > 900: await cls.config.mp.refresh() if cls.current_header != cls.config.mp.block_factory.header: @@ -52,12 +52,20 @@ async def send_job(cls, stream): cls.current_header = cls.config.mp.block_factory.header result = {"id": job.id, "job": job.to_dict()} rpc_data = {"id": 1, "method": "job", "jsonrpc": 2.0, "result": result} - try: - await stream.write("{}\n".format(json.dumps(rpc_data)).encode()) - except StreamClosedError: - await StratumServer.remove_peer(stream) - except Exception: - cls.config.app_log.warning(traceback.format_exc()) + + cls.config.app_log.info(f"Sent job to Miner: {stream.peer.to_json()}") + cls.config.app_log.debug(f"Job data: {job.to_dict()}") + + for _ in range(3): + try: + await stream.write("{}\n".format(json.dumps(rpc_data)).encode()) + break + except StreamClosedError: + await StratumServer.remove_peer(stream) + break + except Exception as e: + cls.config.app_log.warning(f"Error sending job to miner: {e}") + await asyncio.sleep(2) @classmethod async def update_miner_count(cls): From 3a361d2c0540ab6b8671139a3457972d34d9aedc Mon Sep 17 00:00:00 2001 From: Rakni1988 Date: Sat, 4 Nov 2023 17:06:39 +0100 Subject: [PATCH 12/94] pool pages --- .../yadacoinpool/static/content/blocks.html | 164 +++++++++ .../static/content/dashboard.html | 151 +++++++++ .../static/content/get-start.html | 64 ++++ .../static/content/miner-stats.html | 319 ++++++++++++++++++ .../yadacoinpool/static/stylesheet/styles.css | 197 +++++++++++ 5 files changed, 895 insertions(+) create mode 100644 plugins/yadacoinpool/static/content/blocks.html create mode 100644 plugins/yadacoinpool/static/content/dashboard.html create mode 100644 plugins/yadacoinpool/static/content/get-start.html create mode 100644 plugins/yadacoinpool/static/content/miner-stats.html create mode 100644 plugins/yadacoinpool/static/stylesheet/styles.css diff --git a/plugins/yadacoinpool/static/content/blocks.html b/plugins/yadacoinpool/static/content/blocks.html new file mode 100644 index 00000000..fd8785a6 --- /dev/null +++ b/plugins/yadacoinpool/static/content/blocks.html @@ -0,0 +1,164 @@ +
      +
      Blocks found in the last 30 days
      +
      + +
      + + + + + + + + + +
      Time FoundDifficultyHeightRewardBlock HashStatus
      +
      +
      + + + + diff --git a/plugins/yadacoinpool/static/content/dashboard.html b/plugins/yadacoinpool/static/content/dashboard.html new file mode 100644 index 00000000..ef62d035 --- /dev/null +++ b/plugins/yadacoinpool/static/content/dashboard.html @@ -0,0 +1,151 @@ +
      +
      +
      +
      POOL HASH RATE
      +
      +
      +
      +
      +
      +
      +
      BLOCKS FOUND
      +
      +
      +
      +
      +
      +
      BLOCK FOUND EVERY
      +
      +
      +
      +
      +
      +
      LAST BLOCK FOUND BY POOL
      +
      +
      +
      +
      +
      +
      +
      NETWORK HASH RATE
      +
      +
      +
      +
      +
      +
      DIFFICULTY
      +
      +
      +
      +
      +
      +
      +
      BLOCKCHAIN HEIGHT
      +
      +
      +
      +
      +
      +
      +
      BLOCK REWARD
      +

      +
      MINERS:
      +
      MASTER NODES:
      +

      +
      +
      +
      +
      +
      CONNECTED MINERS / WORKERS
      +
      /
      +
      +
      +
      +
      +
      POOL FEE
      +
      +
      +
      +
      +
      +
      MINIMUM PAYOUT
      +
      +
      +
      +
      +
      +
      +
      PAYOUT SCHEME
      +
      +
      +
      +
      + + \ No newline at end of file diff --git a/plugins/yadacoinpool/static/content/get-start.html b/plugins/yadacoinpool/static/content/get-start.html new file mode 100644 index 00000000..47dca9d7 --- /dev/null +++ b/plugins/yadacoinpool/static/content/get-start.html @@ -0,0 +1,64 @@ +
      +
      +
      Connection Details
      +
      +
      +

      Mining Pool Address:

      +

      Algorithm: rx/yada

      +
      +
      +
      +
      +
      Mining Ports
      +
      +
      + + + + + + + + + + + +
      PortDifficultyDescription
      Static Difficulty
      +
      +
      +
      +
      +
      + Mining Application Setup + Download +
      +
      +
      +

      "algo": "rx/yada",

      +

      "url": "",

      +

      "user": "YOUR_WALLET_ADDRESS.WORKER_ID",

      +

      "nicehash": false,

      +

      "keepalive": true,

      +
      +
      +
      +
      + + \ No newline at end of file diff --git a/plugins/yadacoinpool/static/content/miner-stats.html b/plugins/yadacoinpool/static/content/miner-stats.html new file mode 100644 index 00000000..3b76ab22 --- /dev/null +++ b/plugins/yadacoinpool/static/content/miner-stats.html @@ -0,0 +1,319 @@ +
      +
      Your Stats & Payment History
      + + +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      +
      + +
      +
      +
      +
        +
        +
        + + \ No newline at end of file diff --git a/plugins/yadacoinpool/static/stylesheet/styles.css b/plugins/yadacoinpool/static/stylesheet/styles.css new file mode 100644 index 00000000..6181bfa9 --- /dev/null +++ b/plugins/yadacoinpool/static/stylesheet/styles.css @@ -0,0 +1,197 @@ + \ No newline at end of file From 2e34245509092a2d3762e7a1a7bd6d6a1f5ba619 Mon Sep 17 00:00:00 2001 From: Rakni1988 Date: Sun, 5 Nov 2023 09:28:15 +0100 Subject: [PATCH 13/94] cleaning, chart --- plugins/yadacoinpool/handlers.py | 15 +++++ .../static/content/dashboard.html | 67 ++++++++++++++++--- .../static/content/miner-stats.html | 8 +-- .../yadacoinpool/templates/pool-stats.html | 2 +- yadacoin/core/config.py | 6 +- yadacoin/core/miningpool.py | 18 ++--- yadacoin/tcpsocket/node.py | 9 --- yadacoin/tcpsocket/pool.py | 4 +- 8 files changed, 86 insertions(+), 43 deletions(-) diff --git a/plugins/yadacoinpool/handlers.py b/plugins/yadacoinpool/handlers.py index b4b17be0..84552a10 100644 --- a/plugins/yadacoinpool/handlers.py +++ b/plugins/yadacoinpool/handlers.py @@ -72,6 +72,20 @@ async def get(self): avg_network_hash_rate = latest_pool_info.get("avg_network_hash_rate", 0) net_difficulty = latest_pool_info.get("net_difficulty", 0) + twenty_four_hours_ago = time.time() - 24 * 60 * 60 # 24 godziny w sekundach + + history_query = { + "time": {"$gte": twenty_four_hours_ago}, + "pool_hash_rate": {"$exists": True} # Upewnij się, że istnieje pole pool_hash_rate + } + + cursor = self.config.mongo.async_db.pool_info.find( + history_query, + {"_id": 0, "time": 1, "pool_hash_rate": 1} + ).sort([("time", -1)]) # Sortowanie względem czasu rosnąco + + hashrate_history = await cursor.to_list(None) + pool_public_key = ( self.config.pool_public_key if hasattr(self.config, "pool_public_key") @@ -153,6 +167,7 @@ async def get(self): "payouts": payouts, "pool_perecentage": pool_perecentage, "avg_block_time": avg_time, + "hashrate_history": hashrate_history, }, "network": { "height": self.config.LatestBlock.block.index, diff --git a/plugins/yadacoinpool/static/content/dashboard.html b/plugins/yadacoinpool/static/content/dashboard.html index ef62d035..3ed4c027 100644 --- a/plugins/yadacoinpool/static/content/dashboard.html +++ b/plugins/yadacoinpool/static/content/dashboard.html @@ -79,23 +79,26 @@
        PAYOUT SCHEME
        +
        Pool Hashrate History
        +
        + +
        \ No newline at end of file diff --git a/plugins/yadacoinpool/static/content/miner-stats.html b/plugins/yadacoinpool/static/content/miner-stats.html index 3b76ab22..4f61f4a2 100644 --- a/plugins/yadacoinpool/static/content/miner-stats.html +++ b/plugins/yadacoinpool/static/content/miner-stats.html @@ -2,20 +2,20 @@
        Your Stats & Payment History
        -
        +
        -
        -
        -
        +
        +
        +
        diff --git a/plugins/yadacoinpool/templates/pool-stats.html b/plugins/yadacoinpool/templates/pool-stats.html index f8ef7aa6..134db51d 100644 --- a/plugins/yadacoinpool/templates/pool-stats.html +++ b/plugins/yadacoinpool/templates/pool-stats.html @@ -39,7 +39,7 @@
        -
        Designed by Rakni v2.1
        +
        Designed by Rakni v2.2
        \ No newline at end of file diff --git a/plugins/yadacoinpool/static/img/banknote.png b/plugins/yadacoinpool/static/img/banknote.png new file mode 100644 index 0000000000000000000000000000000000000000..b6fbe615c3f9be6bf5a950b53395bbb14dfab1db GIT binary patch literal 25717 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 Gm;VRkJvyTR literal 0 HcmV?d00001 diff --git a/plugins/yadacoinpool/static/img/block-check.png b/plugins/yadacoinpool/static/img/block-check.png new file mode 100644 index 0000000000000000000000000000000000000000..bd6394469f6625e318d2cdbd31785f787d6e7b24 GIT binary patch literal 13171 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 literal 0 HcmV?d00001 diff --git a/plugins/yadacoinpool/static/img/block-reward.png b/plugins/yadacoinpool/static/img/block-reward.png new file mode 100644 index 0000000000000000000000000000000000000000..90a95fe57b14e93556ec83ba9a9d68c4faa43a25 GIT binary patch literal 15324 zcmch;byQSc_$Yj4h7ctbB%~Vw2c$t-Ko}`0kw%ahx;tj{RS={*B!@ES&QVYV34uWx zMmh(ik-EqC{oS?h_s6%szrM?YHOxMH?`J<<`@DXnqfT*^@hSiS6bKDfeE@)h|3ZN) zB;dz>0PYX?LF9cOVR!}n3Ayqt68ui)p<&_;0F+&S{~#%XluY2@Eg!WfJ_hdgKK@U= z>;Qj%e<7rsv$yS24?7`uFNZ9G93ud*0|-@R!+`9qnZR0mqd@$nJFStL2-TMlN%bE{~&{`SuD~Z8~Wn${;rnu=C^=_#eK6_wj z-`K}4c2kAcaOT2xjH!2i_H?#oP+?GETV`(1G`Naxr~PPRCHp9QW%C9%BJuz3?|D_J zAD~al476U6zCM0yoOQgwNmamAe&>pZq6f@l^lSLT7k1D*j!CHWtz#r!0&D5psmJ3F zwSp*6WNSa9=0?cZO6+W4;n>k@SLM?(P1$-2G2Au9dQ5)6 zb|)*UPwRfP?<4czx@+Npz`kF{%(nD%j0IThj<)p&X6s=!)p*H6shT zYL$uOD)%c^2o&47m{cxppoEt5edN5YEmvc5@P!hiFe&duT433dB;K+(G>O*Go*>R^ z4(EDQNTdUf!%LKt!8fJfKV#3- zc#q~2Q*3eQQNlR#0+~K$4q*f*Yn2`)@q`@C@U#xsha{Y8-Yh^$J$Zl(lImaub_&Qs zr`*omiDD?&%8@{^Xh6z%k1k`5!$^I(oD+w@o){nm5(JC{S`==qMfRtMVXg> z#-5H;lN^5;CVg;twt%Zaq&rA0C^u~_kB7oR);-NMZ%tNiZH#wWI7_NfE|e}sP9yQvM!5cE z@y`cMg^S9=s?A9tP^P7ZhpgO)&iy@HM@F5IBrugCYnXX=Dxn-b`S&Rj-{=+baQMe2 zbXxN~%Oq>5)J9!1Y1whzD%>^I8NKu+HZ`bQ8I}269f45FJwRShrz_rmp+p4@EA+d* zE<^+L+q2>O>t0;>aTI~Fm-=UMTdFEcv*s@3hf7$JpXBx$BMs`;y-Gg-;zu%TDSO2? z$v{m!$qq9#BzQGsj1k|0iP8E=f80LN8e98l=)MKCwbA2FCOLhQ-$(OObyUsO?&>l) zstwioZH^FRpa@XHcjOaE^160Q8vw;?F0?oIj71khq;D(u4t6eDh*^ z`s7f-UdR4{pQg9fVhmps3uDOPU1{y9OI_f=Q(%hE%=uEu)Ix2bdHt>s=ERc;mRmGQ z?#H%rRX1og8zEnTTT^32PQ9O-ezzL{?!f6@27Lly2IqZp@Q2f>Ei==V0tB6 z>KC1rk1sDZlIF%$z7#wX26fZ>NaA?2S6}&=7kl2a?XW%I;xtE+8;bd#0}+IVE$3x2 zr?Ve=2;?mnBC4gz$gl=jc^=r%q8Q}Iat<$CKC_cZDJid~seFdGQgqL|LEnF;;NCYP zC9#a&v+3UFB8!b_XCmahKxaa5IUB}=-h`|PaR^r{{1-lNlT>sYQZhR4pA9iZ2k2eq zrj_QysY{z-_dDH&pQQg1JF~}dc_mdp-1hBs*1jdy4@8B}RsBN3R2DLxbY^tV74oA7 z#DrJdjZRRLIDy}v8Ov#Y!{Z7iXLwuG^v@#w%r{jT0<{190naIhOa!E_KeCYQf}pIg zq3o@pc^O)NDR5t8(J2vVq*J=o-o1%Up-_-Dx=nHrNrti?e%AYl-V~607WPvJb@5%k zdjt~-IQ5>pN@PsFX9bC%mBR_Yl3eHq-68S_UUqPWtaeO$hcN8~^eBlgUevqsg?kDg zq=P$&rJOXS5ZiuBnKE>S{s?b^19hjD9G4AtmmT)cpm`IEv*L&O7v-oXsf{gAs6$7;X_Ye&*2K}MM8%P1rL-ajCiuN1682p(-c9&Q#$JHbvyY(~BR?qrH5^bMBZ zVNfrhc0-*bvKY&(Qh`&uuzJ5e#YH~AAG-07q~HRy8|KBLipDL(z%C7{$cGE9XL6d5 zJ3h(^TsawAH2lPX69aeCBq(81cwT&4R8n$vN-P2Hn_6*o8}_i{gu#d3K{2Q&@q;s{ zQHv==k3WDU2Lpws|IOcK`T+L5 zntEVgmmm`gdi2pnM!@MM8ERRy2M)w{a97#_fB25F{hpFwdr5NN3fz1V1WK`YhK<)4 z6m^z$WVv|M^e(ub%asUZHi+D1YB6GpK~qc=#4U%tx@=J0^kK09R&8gEgT`B9$D{}0OfsW(|@s60iSf&0pe@Cfi&#jbc;(KlH^~A zKz>LYWaLhd=ZKiHbcu-r$NFDw8?P#qRP+PKiq z7I>d}G>{(Nz7_dy{DqH@w+{!zahIu@Sjij2OXhs;0FHRiUwKVa%00eIcMuN}d11J3(3R{= z4^#?q1mFTm4@t@fLT*0EIhmNA`#{n~q_j7*XuoTK-A=yB-T85`;*~x0?upmnFVpqI z{0^$)BMJp~D0^Atf`)fNR&ocC-)qW{!tH*sul?U8B%T}Tjm7&DI;^;!47XlhiVQNW z2nfeen(HgVdHY|x1sOE69m~(FkA*9U&H7>!L02(AJuK5FbCgRJ>+67rVGd5SE(VIf z&7CSG<}Ae_!)zH-_|P3Bl-Hup3n^@T4f1+?*-uu^_wyL2pbE;2mB#Bw2NB9unv9Wc zi1UIXH~m5{kh7I)(N!HEl|$T}M1<-#Ztf1APMOATN#kp(Bbe*L;fAnb!{3-}3Dkxi z>4#-w%PHo6zq;3?fVc>p`)JK9h@yh}OGY{v2GcO5)M0ps({4tc zUi3*1@b4edZkz88oWNdQTwGwg5z$DsGy7S~+ir-=Ax``q8#l+oT?u`wkfenExq-8( zrWUey?NdFnEA*0QEfpk>VH;wXVLB)D%qPP9*u%xakM5vFr8%DJ>u7?E3oUGymAfKV zgjTXIUBAvT9c+j5?YT?x8^dJnyY3)N4ol7z`X_qZu-mX;A@*4+iQ`~(IDWg7DVFmx zrOb&S;~-L$-1bI-i2!e4O}mvchvA%l_#Ck&f$*|HTY6E_(eGxjT4Nws(91 z(>OonS=kn@omPF=#ZwkFgWfCir(sSRl15J)Hb{T?h;t--W)&*>dfdhcvqfH;Y8N7kfz|DLc+j6UAQ$#nA*{BVI4_dvUta7@ zm6vi;^f+cK5fa;ZqOR5WjOF86gb1H6LJ>|g`gjMFW@N`u2VY)T@1Es+MT90QT(_B* z2Z4^|m1t5>>!Y~rO?Tq&r0p_?9d2vtM{JU2Q_5+aQlV_0uVYSRQx6AE3o+WyH|NqY zlu-J_gIhR z%C_rqoxhClJLfgEzVKS{m0vTJQK%(J#5|Ud^I9NsgQR|WRdLIOZ2CdQY9^8PQlXZH&{RJjW9!6a zjnfhanz#{XME$G+BiP(m>hf~hq^>$JMOM~2?y?#>2>r;}uiX)F{x{v>vomuYQ(n_V zOt>$!pY1MHf*-G;2`NA|a(0$|lckXxDf*%KL}l5=dSewE?81~8H-&0EuC}&MZh`zrY+e`vb}c@ zErCs}0e05%PQka9ewvKehR~05RI(;wAQLo=8M{;!C1}Osx!@}XbX!gGB0#C^CUx~YJ9p%U7GlCI{ zh>QQq?lWqMp$M7Oi7G}c+%;cSPc#GvZmha0?iZtdF=cKYS2n5jnne7FXLT|;n_|;# zJ&4!RH4_bIVzCola)3IRaXMowVCvLjm!V`HH+O{a*)bxjKTqCEkLo7kL^M&C4>w_+ zBfD32Xz~7NHm-v>VfRP5OH3ULbMbzwrvk{BbJK%Unm-b<_un}Ut21a??C)XukcT^P zJH|#>n`!eli92)_$;^Dnfs-E!HoUis0Nt7NGqzA(gw#ww}|~ zfJxpdEU`Ce*zB@Cqx(rBX5b#RblM-Psqz$WNmeFAV$jwzd@wG2=cmwE!l7I|H}Y<3 z;?I+g)IU`7t6nrn;!i~}aRuB68Yi+H@7fk;OXFT6>>zcGQ$9Gh;D|TC8sNg8qzP=G zM=@@3LU-rs#K*u704`tfmL?qI!Ucr;BEB;t9a~o%tR=Np-ZR$wE+jtayAXg#BmqNPQ2s>!-AW7KMliC|{Qozc$5RK34|1coCa#26 za#h~m3kDcpHg+i8XH%YiRW5AUsuxYC4v=jNnuix5kA%f~HP&6nSbRqghPk5w2 z6I&x)Be^vF@t?2Zd>}{7ASKZE=n{l`W$IyX5FU!(!ust=D<*Q&)(Ltr?yw)QMXA8! zplqavnWu(`MBMaGtU8*n^b)AW>`L#PG7ZLXBfhker59Yl21UI=Dd=?J(@n&@G=*kU zy5wD`42b$qD6P{ykzB|~=0@iD!GtguFZ!!1cj3d*6d;pac#v03w<0olDyFY6SDqkJ zxRFAGFao%;Z}`Ks&cj8Jpw7m4#&yNkJ9fPkSOO@S5q4Pr(#s#!$?&^`H%cRQ2j&*x}P#{K&6SA?5aZf38KtyH6HQ(tgTlWQ9vQSbFkMC?wf*F!!8xD5hyCUGabb6Ka)w- z&Zn0&NHgp1aq$LXWbl&kBf^;+<>rkiqzHZWa}hh%J83{Sakm0@H!Mwm+5BA3V>1yG zJAtnK=rTguTY_5pR7Ex9h2KVowX+h}Q-LNN$I+p&7twp0q#Yhx0gm}WPgZ_^zWV!NqCjwbYs6Ri z#&5c5F3P5MA}i(!PdF^gXz0c$mEJw0vhMC13`-D4Y0XsT_~>|TYA})uP{fjw;huPwK4V#0A#8XFObMh0VX)y2-q_yJ7O64KZi%GUb&j#yHQE#LR1?< zvrvI@nlyy|m~KY~U;I#{zNn}5w>w?*eTyI6$hV~N_4mSLJQymWu?%ET!xXtdcW-RmkLYh)K?PTm+4{zJZT#XCXM9l%L zyqESTGWwdIFjH5@mChsLirglY6dyyUnT{0~*&-s){Y{>f_`%4VTmVYD-AzQ0QbXvLf`*gD zIA^hG;zMbYW6CP25ebacy4{v>Md_vHIcY+X&dHr5JF+$O^fPi@ou+K@EG7MjE%FfN zC%SD}>k?S!$#O?!QpiT><=yJ8R9`GwE7lllthXHy(@gB=+)|K8XOEi>7d~+RP*}|v z;Fgslw5ozrv`ih}4dd-(?Gis4Y#4{L`+n2IHk5_irk8zy%&H%i(7~Y>=s(@xsSOlb zerNknlr~**tg}^Q^x9#oK8{)rXZvwV94Ts_XMJk)BA&@Lt)<=3#VI~c_4~dem9rrf zEaGwFAa1l#be(Rz4y-UEy`wey&lNEj6znVZLrZ09(Hd|%3#40Ja@&PY$<%4C&r=Y& zKorh&XvtPkyOm4Bd2j6ElN5i_kBERfJHG2|f|?m#9LVby#%ekft~KV+*4mw_1QK_3 z-jb&9_M#1gXgbJy)TNsL=~H-38YyDop3cNsmtWsdmo7N{17F>KQv;T0^^a0|z8O*L zOPtRwk@ICT{0PRPtDfpOmjfcfI}I3bE+mAKRES;3+loTYePJ%v6zO94AT-i~ zKo|colC`tuq@AUL7p&18r9>lMF!J2rMx z;1QOtz1ic&ujet8AjDiOYq1PPvlFlOUs!1NQEgM&yAyINj3IMWQU00Yb*nrSwy6ay zkdUOtxt?O%052D{W_tM>H@6Kij}sz4ebrz20CnRy?5?-SA9vp82#XSjTCG>F^0zdM z$d%3EF0dKORk|>Ln+6ogq7wdl*EzPGvbD0PSuSGS4SiZ^rZgiC9xN+;?sG`@&Y~&t zG_zqE5-*4Uk-E-l)F4szdJAC__9y}7R!~A03X{H*XE_|g{Gge)u>8^+O;3aqY&Nq_ z#w9zICEt5WdsnS5uJo~Ypicv~)U2~i?Hx}L`Cw_2+$02>COY2_=lLpt7*)IUXufMr zXu@ngE?nQlagJ7AZA=+|)^Lbw`bM9D9Cj&+OrH7$E<0RM*Ek7Ye zF0$K{Z06`T6!)q5+ttheR2C5M+R++2TJUp9_+zt=j|Nep3Xq*~orq%XGY_hNVQ9F& zpYa`)_7eA@=^QOg?eF4rkn%2)iiAuDIX+>2ReviI{ zj^AqE%#Hr*&SE4hc~dHGxItTK24nITI<3*CrszbNlgHR^y=GbFXHgDs*j+zc^%^iO9(m93j$q z+mt?%mu3Yy;ifOIh|q7^Vx$t_u=St53GY8>FW?IDC*sEWTSA#TlemIPRJY4|y*PK| z`yM+-<(Tdh9daDbh~h)LB#x*+ixJC(a=+mp4qD+*jehZ=L(cl9%Lkhkj4Rgo_gy(j zQZI2@2|CbnUcx<7icK2*njZ0Wx?_$U8l(DuK;U;p=;uv`ub9k9u5265pI(1!Dt-d$ zpJkkT*0m}c-)3T$lp8<=Q8_1pU zS2(S=wR~&+)-VzJ>}x~GH1c(;L3j!d2?H{T;?43mrB4Royfa+eJcrX1cFlE>?gamV zKv~d099<8t8J8;X>eaU;k6TddoyzbTG}rA5^r>7{Vx}@jOjFFuO}{C2)q(5pC(r2V zZ`+G+-2=UZ=aF-X^C1p&Li3rY>Qh60zQWrI_Y#lG)Kn}g%QSVk{dx%#(y#c2OU>{K zHUsWfk`^?-=?4ukQZKf+1WFt{orXMA<9;>4x_59l $qd9s4}nom}luunN8Mx=G% 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 AegFUf literal 0 HcmV?d00001 diff --git a/plugins/yadacoinpool/static/img/block-time.png b/plugins/yadacoinpool/static/img/block-time.png new file mode 100644 index 0000000000000000000000000000000000000000..38f643b4364572abf6856879185deeea67a7d57f GIT binary patch literal 25259 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

        }4ypNhbzz< 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 literal 0 HcmV?d00001 diff --git a/plugins/yadacoinpool/static/img/connected-miners.png b/plugins/yadacoinpool/static/img/connected-miners.png new file mode 100644 index 0000000000000000000000000000000000000000..18a234b334eb9f5aef2ddf5c9da7981b0e06434e GIT binary patch literal 12143 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 Hw|oB&QI2>3 literal 0 HcmV?d00001 diff --git a/plugins/yadacoinpool/static/img/dashboard.png b/plugins/yadacoinpool/static/img/dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..fbcfdfa30c72fe7e205112f1d50ff5401cfff7e1 GIT binary patch literal 22859 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 XvPs*i)0=N6V@lrVy0_$K|KxuIJ^+eS literal 0 HcmV?d00001 diff --git a/plugins/yadacoinpool/static/img/discord.png b/plugins/yadacoinpool/static/img/discord.png new file mode 100644 index 0000000000000000000000000000000000000000..f70cbc025f483a2ba9ce2585303441f44631cfda GIT binary patch literal 22860 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

        Prb(v9(E>&Zxn&k zw6u*gl|2zy6^ILOU_uzj#EqR0N0mfp!3%pIJTfzR?EY}jn*qKd3J#UBU5cJY8%=qL zqXKh{-jdL?N8d#hYLBXZpK=zzMZ_dU4#0skvVkK_JhJ@7qh{IK15dTC&+Q3aMiu!> zFA1F9Gv8 z&rWv4hE*SBunuamVvP3>tIm++;*?fZJD=x{IX!2DU+4p@OiOx>TkpE-A;tU<W`ZCU;3H~#SbK2ywVZ|oXP7dbvV5{XIK}!c zqpLtObq5C`gbP~Th<7&Kf(}{HZsdIqp@F&uv?&W@;bsM(;V#mUTV_ReBMf;v6*nRm z0db6Y;FpWHNv(V^>4XW-D{Y6$NKTfg3>d#AcV{j%=RA=XM|s$^ z#Vb#0#tDop8XGj<;g@_JEJ<f#&`kMh zjaUHG=&Y-sW%IIQVF=>M(I-dmA2t|qvJV5sj^YGCU(I0pn|0Y{E@{CNrr>6~Z{Y$= znRy%b11)WcL?!aWSj@SatSGf^Sh)h3&X(xbrZ+i(Qw1#&3AcjeK1(#yydf)8(*^g- zGtn=1PZTiEYN*>OS`W{u0_E32i3=DA{u7aH-gMFL z3xZN)Dm87{gcC?G{R@!EgH#X+26i2<;r-eve7R(H@NS)PzHN9+HT%b~E6cm4Y)Ooe zcyZEbd%beW@Sl*HvO~T^Eg5H)by-CfS-f@^_yp;$q>XxcpE_5N@V(Ztkfio1{q0Ix zBS0%CXq}Scx

        ~_7 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

        =I5@1 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 EKL^dH3jhEB literal 0 HcmV?d00001 diff --git a/plugins/yadacoinpool/static/img/hashrate.png b/plugins/yadacoinpool/static/img/hashrate.png new file mode 100644 index 0000000000000000000000000000000000000000..4726061c1c525666569afde9f2cf64276a7a70bf GIT binary patch literal 10561 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 XEIxnL%yS(~cLXqcSltS3hiCr>R|RSO literal 0 HcmV?d00001 diff --git a/plugins/yadacoinpool/static/img/luck.png b/plugins/yadacoinpool/static/img/luck.png new file mode 100644 index 0000000000000000000000000000000000000000..fef436632dc5136753d4fcbb5201b1b2e2aef969 GIT binary patch literal 16706 zcmch9gK}dHa40M2mq~!dHf=GNB-IJ6a z-SB+){(jH%Cp^65h5PL6p19|pd+z(3yBPf^niQl=q#zK80uFm@2m%oR|0Mw3A_o2( z1df~me+YdZ!HsVLKcTmtM+2`(JYi3LKp@Jln_qCcASE;KkkMD&+}FtCg>S$!Z%0r- zK!6Cs-Nnb@nWv+OhqqJiwgM9f!~udoRy7XH+nNo?;#L3Jd>tZ%A;zXW#ipdDq;inn zXZvnIZbx}nY&Dej(C&mue>aPUO>v!?Xp#Ch?PJ>XJnr6qQl9RK zbP`bBuboNZK19VMJ(2{b%LOlXv5c5SZ8<3L@ckNQI`SOd;l0Cq$rh+XvZ|JX8Vgat zQn}9M-)(vYG};^ z9+c@Kg(KY}y9q)FLLkEre~{EfOE52_yzfrq=8qdRx|%*P#2Mq%QEpLuE^b)zHy&Uz z@h(NsOzZ|BEX86)Rz-Q)q<{)kSe!@dE9Xh;=^wL8RqE3-z0UzRM64Lh6?LX#NKo4s zECqyC=7vw-VpkugtEZr_2jGaJyx6@^yW>#x)9b_Ju?NlQIP+HcC8l##;Jq;s6kJYf z36_V*lb5l=A($6nqewsE>vn$3EJhLKfjLg{_iw%1{1V^kV(&rFVfCoPmT*ojN82{t z51xCGR$DZfj{?WoIHgFynNx{hhviC;Dy$1{@#1K4=Ggn*mlZ)6d;9r>%#`p!xgcTu zgIz_i^6#g&;LcHg$nn&&h;&)J>;2Ef14MJG>(BJP1!`A=NDxHd4{!?Q6$jl~ z5d;OgOnU!nmqEtwgoxPYG!UjXN$v`=79=$gri_4~;LeX{vEjwOJf0Hm!?yz=wW~W_ zZGRXV6%lwF<5RPgBfTWRlZo)!<<%3dx|ylLgj25cp3GjWn}aB}H)TNtHF?eZIHU?( z@pGcYLd%-`uY8hCrcn3wh4!xek5HI6NzS@SSAJZ$U1!@LZ9~OAE|WYHvpE9<5yI_a zGII5ka~;fu?{R(!!wN+wtup6!XkN0cKfHX#=w>}&MYv{ROkESi9z5G^d18rz!E0s@i!%{+XAIkv>w~M?#qerDdwF>&3af(eDsSYeORyiaI^)E9iSXyF*qyoo+`PhLCfBb7=CG;yzam)7Kg@4S&j}V%QDXf( zilM!sKH+yy$kFnhR;T!;o#6L z-}VN?FK4(U-lw_Mx6OP^-W`enTiWb9rjhU|emf3@(c$ z#aZFF4#rlQ;5>nB%Zim%_uRTI-U!1e62D}M+7Kx48)a+MDIu1^hrB}{1mGlVCDF+i zem|5ZeM#{C*i~Zq`b02hD{bHIjQ;R%)eNLL$(#M3xKHjrS!TX>7XuNJHICaDm!%zJ z+hhh^L0BOvC8?5hipBaymvVGQvc}=~FJD}s{ajkN7FlGzH{Hvu>-^_!--oj&OR6## z(H#VdI!<I~%`pbH?O>{J1@#Jn>mwkE)CNhm}g$vju9Zq#r1C<0*R@9O(jk{XRVI@bS5diff_B zy{fXQ%yq%#83Yf$B|4Q4eZ~1vzMao!Q`Yq{(+~E`BE|TVf)rcAE|bi5@^w44oOVv! zb0cN^3UZ$hz0#rEr?%)HyHjFg#tdShzAjP}kr~J({aKe&e+R{8@N;MG^$1m)Fzy0g zj^;-RYjUyO-RWZqarZ$A#)S1$afUS|##aBGUSC$Nt^f5K-SM#MVZ&udM)25Nmjd@T z!3)QPc3@v=x^s?f&o&NX@H1BtvL%ZyaXUlW8ic7^nXE%?tWJc=4a!Vdkzb;xYPWx* z)|}j$K!I|IjZwd-y&2LIUQgd|p`4A8mp&?NZsMS}qV5q{vzz6S+NER{q34|C=c0?9+fh#lJK|2L2o4m&hb;u`u?UAL7-e&( z|9xrCcFSZlz?Q)%QamOM)8Tc;Ym?4%MpSR1xjfSvE+3q68f3?_7Mwa_*KKt1%#$iL z#KA2!9>#TA!d4T9bZdG4hX~vq7M9s<9HvOw{Ca&xTqmJ-C>1LGi+i5Wk3MZ|X?7{v?G*1*L_HA= zthD5{wwL@?fN|@RCg{kiyPaa+$GZZ?*%fK#s+H>iBG0eko5yJt2H5!k!XK1f)%IUm zvNCJQQwaLFR>1l{Ga7XR2)*{doJU6S%Gj`@y(2G93f5WwGT z>FqK{7#w}dU3|R2R>P27#+=~jjuFe7o|UI83yks#w1^ReH73-7rre^C3T(G}NBn8snl0K>X zJyId~n+Kd~>Xs%Lns727OZnHA88>&Nie(NpFhYKZ>={r@fL=C5`)xQ8FAWLKQ7YU` z(qq4#B75-BuHcydB1Cdp9fMX4lFh2;aRt~vhH%&mJgaWbZw{lOgcitcb~0QN+EF1p z?xqb=tDeFHhB~^)FP_Q=;3%YsnqOz_hm#~qVB71bcsZI-%h-Y2&*n z;n28*AD-k$j_sBivHR>MJ;W-lpE*{(DNnWe#_zOa%8{Xs_u_FPy^5@aYcwid|ENfT zEHK0>=ho~=@1#SHtB5-o)5fPEd(n4qm;1}eb5IqM2-`u5F006T9CiSE4Qa+?)8DPV zYM}s8d{y9}Vg~*9b}LE9hm9GGx!3%$$pZ9nLcmcR(CWAvPTD z-_H~l(#N?~Oy59%{ya6e`DIT*mzB}R3Z)fx!k@R@YwmF<(OzumkC*vP24N7)4@-&X zF7{PuT_32(+RzJ7HSyJ>uXH^D-gKYdydY>YaD(7>OEV31YZ=AHN2GwHD9u%CO8&}y z&zK`((5P}OSbS6pbR^sv?Ho-J{k6>h7i;s#h7{2g?yZB&I)blqntv=@b#e5rpijY; zcYJi+lI1m*+`65rJ9lUz3aWB99#pgW~3&BP># zoM-%6E&W+ByfIzDi=>wGL9YJQ>Nv{^$|9l;ZAs?+3DCbu(Sxc6^6}-5q(JLV z>^M&Bi-&#|VIE3SAWjAH(1urwQ#Ulkm~?Q^CwqWqxgS%AUM&ydGhtPU3(daJ-k$>9 z#vFC^&3DRhP{A>B7`;#7N%Q7FlrA`k-S^wOdMiT64YSnNw9P6doF7 z8{0zf_y|v4iqaiOV5j{?(=T4Gy}*fMcmWzvBGP!l@w($mENrPB;^AD8q;|apG3@lL{Q=huxI<_O*HqfgHHxsOAYc5z^gO?tbqJ}2suP#;TQJ3ON<9B z>h}oCw9!?X%KS|5@KBevnv)|S&>K;M@Z|`~nt-ys`*Uk)Az`8Nwg$#D8z5=w018E6 zmjgqxHX!5M+>b2zlCI$xGg0i<=Ih*1{E4?id*;xGM}$w<&(R1M-WybO47q+&ayo4< zQ0w8sHOyX@{@4#MWM5rqwoGB`+`(=%@cn`k$H@5mgThtn9uvsyxzM}vhI_Sw?+3cS zbs3r!Jd&l_^FdPV(Wx=IX|GT6FSdLYc91pB=f{Y~wENp+G!Pno@8=fIqQ1PXOk%m< z7C^Zy0m^U`iYoU}s2%T5M-3XK$Q>vxu;aQNg(J(o$$__tk&~yfA4nAnPuNf&p9@Eh zc#0#ZW7;!G!W4i9SzG!L!^O|4oADv62K|TgjuJJw_zLamDnM zU^A_j#Zb^ybLQ5}F)%-eb=afLHM`tmy;|Oxw>YMX373kX;mCY zf3Bw6{!|b$-)?Q+!5`G!yuU1G@BV0Y*16|hbQs1qLpqdbnzFgTTi}{G@^Ft%-8oS) z<}1nIZ`NjKH>f@P9@+leYLyU3fZ>zn&a4CSR0$Fft`!a6oD7YY=w@h`GU9`PGpD znTf2RUZHO7Xm!xZdB%%}^j4feiT49Oh@p|6)-2>#DXrqEW!KLSvmMNi8+nh02Vbs{ z=edpSZ+eTk&m$G87(;ci@;eDAfqZueW4k4-l$~eZ(qW(?mB7|fEgx5@6^e^NVL%1N7xHQLcO6?UhN4IRGpi>*GzVGI*uv9KWAxM#WHaN zmN^ruT_(hi{$ds4xk*Y}Y1X?`piD|OJ;Ne?+D_T)WJPDmA=(AgSJTQqo57FSJ;^;q zg9NTS34FY1b=D<;xEfWE4bY4>#h__z^5i|i2n;@Z34H=Z)*&0dr0K*j2_fyr$a@wC z0KJ&Q8Pf(uR8K#N4XDHw$fX{3wY^t?1J=0%w&ma>SfNt_{`{J$+n^;NSWK8aWw|}5Jx9V%Ev#ur0y|w z-OJXHv)NDExnc@(0fy1+BTV2b`&gFi%j{|Qb`Q=Zk-H$hO$C^ccRD$X)S+o6@)+qv zu>Z?)mnw-qU`jyklsmrWy}k6#+Nql9_gUDk)^|nRqC$+stVqC*dA)VjJcDp*p7<5Y z*x4?#6{@Ec$C9yTZ0x_-{LWcmInJ4_3+x=9xjdhrs;5a5RNVLHss;`dz(=vbT{KQTVpxm}qthG-?VGqA|mAD{% z8OkzKvTgOG*2SH!#sBGjXor}ur-g;`o|03?{NeqVApp@c zcI>Go{4o6rW5>dm63odh*<)qDLTF2*Gsx1Kvyl%>pHi;k`g*0BbEU1$A>9@JfWa>D z&TnD#^9a6`XZR{$Io1|D-rd;RnJgLbV8==ysvFx*Qt35;M7uwSl>R&iiBY|I2WutQ zqM1Z4j86+pO>WeK0W9E^ris}B*DxnmVjvsX2@Oqi^+O$sJ{<5(o$8ym5z%(eO<{3) z#0vTKeO@E&ce70)^I$1K0K_aGfOjbhJ?R1DTVtT@9FqcOyz&wb`MX_wrWIc4OIc$E zU(V$H;h|T11QMa>bwNtlty!v`qVtt*g%;bfF+<28_P-GFIG!j(cdSEpj|qkfS&Ax% zfx=v5gxCN`7Ye<;eusQlL1NVYlUSuq8T5{5d6cS+^kk>#Vnj(3)G3(NO@e8K*z-@* zV|*eRQW_WBHuhae(5n8cIAw+urNfy=Q#3ew+zZ$HpNbmiR7~V(W#k`pj$)W2J&0G( zN9I(`iT1~P5AE2{WbN*a-~#C^N{rK(Cjgiy(^IvCKd=Vk`oSItnn0Q7ih04z)2>J( zfZ|7W_4hhW#m0PCp_EARna8oN4izMVt6idvWP+-Y)lh05HXAr3edOV_W_no>O$ROn zW=>Owh>}2w#7cGdOV*X7Fpsdz0g<6cFEQ)o!xY}-z}~OP9str@eb*V;q<_&8Y`>B< z&gE8m3BgKlmkajTXji}?8Ol@&kSxioK^`=79ejSZw>iiR%--#;$a8M68Em0ikiY7G zk3vcz_pI`phZcea&x}oowoEvLXsyrKq_uMVdV{JmI&9>p&4ol*kcjnj9vZhN)|-CI zCt46+*1g1>qS9$s6E2?d_-*&6Mbus0vfOIlUevidla;}pJ|?6CJfyLs#9<9 zzoM=~$(1yNhk{T`M=<5BVRQPVBa}>x#FZNMzW;|7 z>)+dapDB+5T`xxa%TV!d9gsf0m17$sg-$yw`BbTL^qKDP$a`NdynSc~%wdYMImg*! zB!ZxjE3DhPWM;wnbvCML-2o|@>>nq%5g_tK4`Yn`a>qfuK{{WvXEVDG9!H0$|==r5L!XlsNdx_fB(w@a^kj2G}NT;K`_C<^2gUw`GQ5k!oHj)oJnD8_W23*+l?<|85QTokky zx}%YQhg?A;--0e5SE{H@xu2k2*bi6%qYi7{l5%#TnA2uxK-rC%sT3f7(~V+@mJWGlom{lP%l(>m&QI59G2AMZFnfE0?>? z1DpmNL~(p5(o%kRzIeyx9EmMgFd}x+ZN$gpbf}M5iZ}kte6;a55813nCLNzhgbC4I zoB}RMmRuZDz^TUKVI|wr#nKtlmrD3pKn$ieX~eqt!V|1t6R7!3z1Bj1 z)b;5T92-`0in|Whu5X$2!f8`(vyj>Bu31w?@)6^S#%Sb0OWE9v+p#eg$2fkhM-l0W z+P&jq!lG@YNOJO>`)ZpU$N#PN@l*92ks!r2pOHfhg@WPQ@l-IwMrzqz<&64AOJLMb z)%?O;TP|Vu(SEHoQsdRQlJU=K7UqkG60PS?M_Zys!W16FbcV4ZK+n>*p;fqKtt$(x zPAs#R-TLD(2qm{9F(r2xarv~(J*N~U5`_mto%aumy9s~-3cq66O6e%3E~^cl)~fLh zUw^0h&WRX49LG2Tp?4!jYp#-^-WrdNuj;ojO>}g5YsVk6>?yw2-GX%+%!H%15B^S6 zak*I?cw<543?;oD@;G6XYVoCU$mhA3^9H{5s&fcG zPHjAyP1sh5lJFFHm;r^8b+$1~mmw9 zl509RMa*KBmGl`i%z;Qwc8mabAa->b0=J~=jH)NT7=d>c2T#(T(4wDZ@8@*9m-uXE z_^uJ61h>fhxUTif*xf=kxHbIY4~6XQ)}x3=Q++Rwzja3J;UbPGI@`yH=inA<_r@i| zy)#na!r~NxQl6x1mY$>O>1cBcVk_8sN*E0~M9N3@=U0V%slHbMgSe)5S7= z#k@zW?flUXkn1Y3e*NiadNyLgmk1%*V+IOIqE`|4?nBxYD1Df#R~0J7M?o%pUbkq7 zRpdYy`N5{KfQr{`>#+lASbJ>KzQZqhf-}@BFZOgX)6wBb%yL>tgq50y(73Rp_#27N z^L7jZ)o@Z#bt{D5T5alb_m*8hNqEJV3&&S?`LyPH*}piyB*r`TZc&_=H)3ImFPS`V z<3+Hz++1`=imQhf*vnf<&x?0Ucamt_0lM|UBf&q{&6 z?qAO{p`?+*u&7BXRvl(AGo`i<@pa`ZWb*&*1(*gre#2@ncxJpHPN@?8C#gR@dY@T1o71# z1uYtCQxkrk8HT7UqWAwF9Y}SBK`zWpmoWQv*XXmRosxhjf=c zv0E%yfmm^E!Jr0zo)s(B99ehCL7`YZdDeotOzBYgP$MTrUd8Zcq&)H(x~Xsfb;Djj zthKFOF#zX`nuQrTaBUBFzDTe(Oj<)V5M}6xy-`jZ02gTP^v9m^{1}{t0~R$3%g8$S zlRUJtRKv;~eY|M+F0V_Kno+m4Z17{J=p=~6P3x0HPD4!Y?0!yPEl{1wMpYfkRdNS1 z;|+4;!$h$*w919Q;Tv+W{OBAy{O_4a?e#e$w$PoT;_t`Hd z`4-SXAorZH#~uoz-%5e5a@Pf~hCNA!b}#Z4R!^31PBZx`eeLZI+ZZ0*O&CrDsQsFO zueH|~#!lumcK0t!Hw`L&9dWHFDa!@mQhrK7PDIOdrBsbWOUi3^?IW&pDfbv)X2**2Rj$v6;AxJS|Z z%X+t(SD1IH31fc++nrxmgaTVgi2CD z4#yfPyyc$B#UCYHLT9op5qTU14Etov)^7MEObsk zwEKK>J{UlqNH#q^`efPFkS3Wti`L8_YkyD$Z_iG=W8ph{iAY?t`rOem43JMi4|;j!_D;QQz;vsc28*AM;ULyGHcuL zk$OL5F1E8&jz(;|%f^*|!iQf;vnlmJ)2>3t5qr|ewH@FW$*cREwC0ul_+%7d6^rec z*rt<*f>(5ybNDc+3DqzxmtXy&qZ`0U`e}x6ZQOua;#lFkrl*hBnCuFzhz!lDcvqy4 zzE#Gsz;`z`(>4v7-p}hvEUjUFVGiyj?&@N1UB_uDyye~bSrmFi*htZ9{?j(F)AL`C4G8P2A6W6xGa$HjIz zgx#z2-1cF2)rxs$)-G@2AOO(v=0c>6Y?iN~b|nBbXCTVG-DDg8TgJs#wDjb#;dR!V z*Qf%C)T}o$KecSRj z9w*L7H(0xxdiCeT8@My>SRVjxSOUF%dfy+TwP!%?i6b@66vW2IKHT7we{T0a{p%!# zkbNpSt=nb8u+z)bzV2#t0~i<`8_vDwK{rSdy5H;A>txnEYx;58Wy1_~C)i3J`2lcs zHGpS3wx8!E>l=L zcSHv@eILGqs{!yZk?MOL;0H)W_4f6<3soQ9Me2Uh5S5%U=u+xAhYS8h=U?S}Gl6V@ zev;9DKAQbGTvmb_do2ji zf0Q&f)h-yCqn=N1=>P~H*owQ{Y*YIptHk3!h|nO;oxJpSWCI|c$wV{&RXV)@ph_=p z1k!WKukO~wL#KPFvU5%^X`H>?I{ie*~c!rvD zTYqF}*DP{-eay1B)#KgA#fKScL9Vwh(!8rOwLQ%Y(1Nxc+r$^FB5gx1?x;3mOel*c zmUoa~yC~1aQPNYTqZrmN{jS-=^Ej2B+R)=`79bAV{kF8rWeM&WGv@8uOy*#t7Z{R*2ikTb)Bp4tkThhMnzl z0jGTJhisxg4rLUbg)?HvaG;-)?I@FElQaL?=lf;ra`Egdlwstj+Iy2h0qBT}vUXvGO17 zb~`4-*STWpg|A;BX2R{6p;Xt`{l;ZB_2LMg_Hx0KTC6kf5&$sPsat7$)Yx+6Jx8(A zzsyJ~yWDJk*N`EK90A1NeC-)72q0qhDhQC@WKHT8z>Oe7M?wX~*<6_LEAP8Eh=7)| zeGe-?4u@uvK!UZpQi11?BGx04o<#+_XDUk09dy}=#}+fra@Y;zY&oSpc_(Lkjg_$< z#~1Lw^wf%=2+AI{t)y0P4I93{7?4f606eLMX=wYl~Enet{O9N&$!? z8#d31q`cyFz;`_Z^;wJET~QDv)CM$T=p~c`)EZZ&?{iRTURQ`%-7U*vjwGUEIlg1K zxCO#(k|tEcYry}8ikDNWkot0XnvbeV%$P7H`bnV|=AkE&qwm>=xF75&B7IL zE6(IE-U%v&56_x;Uuh$ElKm+ZSp=_s0_F*&rT~RdOIVE#zWI)fsE~Qfdu~J$M45C% z8bpV{?FvR}Ys(~{L^gGIsapkM+F!Il9;h>erA&h`H5B@YV@28=ZgKCx4MYD_n*+_& zdfTVY<7Spk2WCOt+M)ujMZ%KtBf7Q+7o9-$viCQ=|Nbmp+8`wWv7U}q$stv{7f;fD znXBs@UmO7ish_SOiTN;8(1kiHZPL4`XZhujyY;LH2WG#We~=3Pq&;eqFMyc`ii(SP z0IsFI8zyH4We{q>^I5m!G($b;u@ zI3E+}(1U;^jXeg(@7m>GB_n@y>9hyy01H>y%2x<3rpZGp%v2opcTTEriTxz zts?^nSH}J0AbXzKczQrswobC%k5n>|>(Z|cBvst-By(DF=YY+ zHQ#BLxnKPqnMt%<`eIT+rjrrXzEILf+;KO{HdkE&RLN!0$KGV!L67n9Z2MJ>u-oPRNV6!~)wx zdidiDmaDkP?)0P`5Wda(iJIU=)WYg<60qY6EE(IgfB7Bh1Z)T8-b%aa2Y0Y+hfQfo z$B$SlfHUO%@bFn`ednz1q%vD|rI(rD!M>-rOgM|NcZJi+n+SU{cP8Rd1_C6^p`8S8UVr!|Lwi z*9GY-*%}t1=)Xasen0~L<6L4{$@5*rJH`&iG6jyP^ zAMGg}L1}#0F1z>|Fie=BB?KXPX$3M--`&AZu0|Swm$iJHAjgz(f1Y6Xdi3s#y=}bj zLyXa9Ix{{fBkyj3W-<8t=Ku#h7XK-u+vz2K~{kzD=( z#i=LOw^}rrzH+Th@RZi>QY2y0r9kg={F}amr_EajiX>Bx&4z*^bXQ;fi8dg8x{IEj z*r)`7hIT+|V{AJ}hDOE>U+9$bg3$^*Ll@Zg+bi!M^Ii*-Qy^1E)OguZ-dn zx#ag}U3pD<%am4zrwN?l=|FvWe&PP^kd?~mYWRu0BHweFIsG&0cJakEzOKAFE^nv^ zf1<)27|8WY8(cNFV>J;!+fNL=-_j(*y>u-O{2hk+*-c|rk|RxT3tz}U_X2; zda)pVt@-Q*f|0Gr z1zJmOo&ZgrC?@kn3CHsFURkp#&Xsz}IfEtn)i_O-*2D=!!ED(e_JZ-=bW+Abf*fDf z72n|}ehd^|f~=@2`u${(RL)8FSb0fthpRO+BJK2qYxtK$K-akrHki?1b)gSvqb)DV z=MQkml0yx?&i}lULph^4x8E@teK(;$^kN7Lz|jwLpOfOn?FYZB-h}+dGvqkUbi4US zU-%5#xsosSx@|{_^R2Z&^s{pVv|J)t)}zqnd8*A!ppPl1G@c?d^KHS07uk=P(hJY? z5~Yq7mPi-wisnC=Vy$(50qNxEX#20*xxaw~@h6M<)0L{V#N~sN8Hr!i#y$gyj650A zX0*Qp*Oai%*?wyj6EO#q0xfyR5Fa3CG$cC!>w!A7eHiWpN3SG+MAy54&&-Qy3ALKh zYV)nJT=~sBaD^=O6f3WJ=bMzT=?@>wTYSGnqk2*+znmC7$B1&%_FzcwkomX_mo7e4gUb2 zUbdio^qqFfT6z!m9l8$oNgdWDgzrguOK;&=7;44vM7`FDi(osOU(5RalV?UE;xI_X z3V~(HN|cAh$@OQ=7W#3*3UUjkYWg0=lC&Na(sHvqz{d=mPl=@VQ?TF(VvjMn9XCWqz5DK0E?_`ZdP)nMe7v zozihii<)MY$-Gn;<_%_!?kC;>D>cFe6gMttFNHfv+EVI!pScGRFeGVgh;mrx2BZdO zk1@VSkQpWpAEDBZy?5ZdMmQqWTO_yS)J}Aep!0^(?sr!Bp-2D61e$rkWS!X(91Uo3 zqh6f|uFpIi@XvTdd$xq8)SvwIChTH#u0y_4GGgJv9M?M(D-8^5(w|$}{NNFgG1k=? zZNo)!KUPfz?)gI5qr74!E%o8a#jcZB)rd5;|kcYRz+2kPgx;OIs&eUbG2v7xkUNxP1{Q^(5IauRM^IKZttvt zyYISveFoE}w59PCS~EjyF_t!=0mNbg1UuO(78=)33-V?zc{$BZZLy|s;{x)Y%Egjd+WQlik3H~RDw(!px# z+t*3M~n1_qDa>6%EYZ&DozI$5*p0NU{+4Ip-;VwUqt zjf-{ZrjZx-&>xKa9OvB57`O7ia>A`cm};pepzx^f9D6wg)%mAAQ9fZyGDQ3N7vMHg z1c}Umw!G|9u1&SC(>oev!;uhP0}Z%ygDuT@jWw)cV>Mv0qATOF>sgSd?_j`}4g1H8 zv716C5(~t78XxOmg#p~~l8MNZofaxk;^5P0_z7XHV@KhE>@!%`BgK3PPy&U_z#1!y z6X!dSGM~H9kLSar*rE{#q?a51nZcToGRdDT)P3NQ?{GsUXH;hOdu#R z%jy_q!Z5lYNtF~ahS@@?=Ux01gu$ZAjoXPCgcM8_LUHfontl(+v$sAf!sPR>(=*e|-NN_;hfmrm~P+W{gi> zA%h!TDh1sxo6*345J@=c$f#)RbT>DgZW_>_06I<@7&R}r>-nBpPH10{Ai>Z1U3Ut1 z!vytG{(v7D-VgT%L!TNQAc#vxNm69Ih;Cw+@qU#>NhLF2!kVFMzxW}-H&6)8_tn2X z_*X8B>!iYy9lR4mmWX>(fjbA>d1?W+>ucqm|3`_V>lqUd?>-dMiXOGbd%uqPNaJAZ}6} z#Fyym&ea?(q1E0Q6%k;H+06*p-LawZRA}l>|7izNX@4P!=fpuxpoWm9zceJC`Bp-H4VHXrzJ| z*|hg}c02e-11dhgYG-ff1u;u&E*mnM7+J9acc=ju*+_xf^6S%Fr0I-Otw|LkC3I^o zzbb=$r&So^qd=tquO#e(V&ccT{Pmp8YuM~nfZpDY6SS+QGA<%O6|>6%;fVi6j7+nF zIG_9H|4wEU|>;2%K=^Ud1}BjeW&*U^e*Y-Y8i;rc$8;&YK{V0ieat z0I3>fyfLorrq4hbo=c^eEHR~QVZ;nN0tNu`W4{%0+->arv-y;kiH!wU+$1Ieqo<|t z#7G%D0pWm?*6|}KBI7>2fE1o1Js=@z*8e`MqKZDR5lIYsi4mJUS4}aFokbo)K7!-! zS7QsQLaAj~vNB4aC;FRZ?j~d$ZSQ4GLs{x_S#OmV44L_X41eozQDEc=C-UoQw~jCx z)+;^?o{VdjSN|$sQ!~66KZ8}A=!#|yQer5qFV4kbxpZ_vrv2SSk*Ej&pzL*E#r~9F zPW?GoNv6YkG0)EFw>GbQG8lq{3dVT5x(r_)pAWe{Iu@iB;THZY{*)?tpots4jvea? z{b}xVr@N!Ecv0)~iVz5%pGA|@?akY?X4qB!egnF6uOXHKcpCi@q;piK@fczUv{s`` zYr!078fuS!k9GETw#j7tlf?)P1t&pCBQXO1S&#>?AV5$E+5{&#-&{a^Qpu3i{d|6j zD;UJd^uVwJn1Yd*Xgv@a-)R5 zgA{Iix+;TVT>ta>BUpq?rcn`uy>&xtzlc=emA~cr@HaH^IYfmC@I+KhA8#31doMAv z5QL%zoFk{F3>+jxOs~7=VMfR@&jvyeGJ{fhzdTi8YhpN=PFIQewx}m~a%{K(aF9p_ zPUfsc*BviKF(a=cL>m$SThPRu5bC3#AfWFD&@vuapV-GzBt75RKxc@jQJCDXF6capEP0+9MH-h>;Fenh)?K0!!5?#1qEuWu&EcC z0Oq>UlxdJ2(Dc@gVEkEt+>6-^Nt(a}zWCM|K#r7nb@OOa?xq{skOG)GiGm<-5Um^N zz@QC`kHNVm=e?XPMx4z(AwD+W(04MfL{+ zxP`|2>4U^*VwIsc(Ww8_5Tb^FJb>!j6BV}O|Laf=|0~QTQsIK|e~f6(84S8&1Vp4l zQv5G_!%V%K^?2h=2q8ZN2v~XP7+_LsN0w=B3`}yPrY`#pSF*tS92wEVF*`T$;>JiC zb-*>l4o=RwE3gy**);yI+ae^Up-Wz2Dr_Jhva8E>3^rN?C3RzL33=irgG@Hi{8i~q zfRM-mROliH&>CW*{bofD%KyR@Q$Hm*=&=N7#qdJb5%91#fDub3`8fc6F;al}X5;mp zd2X2J5V)E>NDPUYL^@3)6>h@fKY-lHjm0OlnCPa6=ru5&1}Q;$Lt3tVtlV_~dfcy( zWbxyMX#F7s6nhN7%8iFV2&_(uY#-|F(utc z&;qVaaXj%VVxG#1`F3{)ILHbB&_*n79%rit?~B+g;XPG^&IxZyDNF!D16T7eIUz?z z?_2}-42cT1f^f!mJFkL-elmiv%{TLEmyZ`NK?u_CAJz;CjvL6H1Q37nIMcWPLCO?ZJ$MVo8g`|~0gDGN52*u; z4p(8(BkTFTb8YwzU^FHApPLLr_GI`tsL*_XlNtNYh9R{9KcqwzL>B|GQVs}PhBxtp z5u^$2@+3h3!lXzZR?z>;o9kmYnz_7GvxZ$6L?d_elMr5^~~VGGE>E!nSOJRfGuEew?+R~9s+s)eeo z>mGy1$|;MHw#mI5h!nt{?Fi6`*QhEjehUx+xI!!i-Yz}czHlG@>X=6kPYM1-7CCBc ziw?-y1~&>W>%dY*9Bkm?V}#B5M?$uzftU>7%L6{%d@q0y+)#LvGEesqxB!5V#j|4h z$l$6ol;&8^X^Wd`87yAkYljy^|3r4G6=5z LAj0|2pvLHBnk?cfEbXb6zKxeLRCPj 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 DUK)!w literal 0 HcmV?d00001 diff --git a/plugins/yadacoinpool/static/img/payout-scheme.png b/plugins/yadacoinpool/static/img/payout-scheme.png new file mode 100644 index 0000000000000000000000000000000000000000..ff91544f7e1deca83d603b6f0a9e6915c08a0a84 GIT binary patch literal 19199 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 literal 0 HcmV?d00001 diff --git a/plugins/yadacoinpool/static/img/percent.png b/plugins/yadacoinpool/static/img/percent.png new file mode 100644 index 0000000000000000000000000000000000000000..cc3fa11e63997ba5dd1749b21558e92374a543e1 GIT binary patch literal 13036 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 b?m@$U`rEnw-WdhoOo1TH?aXS=c;5Lx%wIks literal 0 HcmV?d00001 diff --git a/plugins/yadacoinpool/static/img/pool-payouts.png b/plugins/yadacoinpool/static/img/pool-payouts.png new file mode 100644 index 0000000000000000000000000000000000000000..f792c908fc1d8114df940d59602982c74d1d81e6 GIT binary patch literal 17042 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

          `f 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 -
          @@ -37,9 +39,15 @@ + +
          -
          Designed by Rakni v4.0
          +
          by Rakni for Yadacoin 2024
          @@ -143,7 +187,7 @@ left: 0; height: 100%; background-color: #333; - width: 15%; + width: 16%; overflow-y: auto; } @@ -160,7 +204,8 @@ text-decoration: none; font-size: 20px; color: #fff; - display: block; + display: flex; + align-items: center; padding: 10px 5px 10px 15px; } @@ -172,6 +217,12 @@ margin-top: 0; } +.menu ul li a img.icon { + width: 25px; + height: 25px; + margin-right: 10px; +} + .top-bar { width: 100%; height: 50px; @@ -194,7 +245,8 @@ .content { float: right; - width: 85%; + top: 30px; + width: 84%; padding: 20px; margin-bottom: 30px; } @@ -225,6 +277,10 @@ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); background: linear-gradient(45deg, #333333, #666666); opacity: 0.9; + position: relative; + display: flex; + flex-direction: column; + align-items: flex-start; } .box2 { @@ -248,6 +304,20 @@ opacity: 0.9; } +.watermark { + position: absolute; + top: 5px; + margin-right: 10px; + right: 0; + width: auto; + height: 90%; + opacity: 0.3; +} + +.box-content { + flex: 1; +} + .column { float: left; width: 25%; @@ -314,23 +384,43 @@ table { border-collapse: collapse; width: 100%; + margin-bottom: 20px; } th, td { text-align: left; - padding: 8px; - font-size: 14; + padding: 10px; + font-size: 14px; + border: 1px solid #ddd; + border-radius: 5px; } -tr:nth-child(even){background-color: #A9A9A9} +tr:nth-child(even) { + background-color: #A9A9A9; +} th { background-color: #696969; color: whitesmoke; } -li { - display: inline; +a { + color: #0066cc; + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +.payout-pagination-button { + padding: 8px 12px; + margin: 2px; + border: 1px solid black; + background-color: #808080; + color: white; + cursor: pointer; + border-radius: 5px; } From cc27b2e74db7e23d72691abbf030fc7d6db42fe6 Mon Sep 17 00:00:00 2001 From: Rakni1988 Date: Tue, 20 Feb 2024 16:11:45 +0100 Subject: [PATCH 60/94] fix: missing UI img --- plugins/yadacoinpool/static/content/faq.html | 3 +++ plugins/yadacoinpool/static/img/accept.png | Bin 0 -> 17264 bytes plugins/yadacoinpool/static/img/not_accept.png | Bin 0 -> 16895 bytes plugins/yadacoinpool/static/img/pending.png | Bin 0 -> 14060 bytes 4 files changed, 3 insertions(+) create mode 100644 plugins/yadacoinpool/static/content/faq.html create mode 100644 plugins/yadacoinpool/static/img/accept.png create mode 100644 plugins/yadacoinpool/static/img/not_accept.png create mode 100644 plugins/yadacoinpool/static/img/pending.png diff --git a/plugins/yadacoinpool/static/content/faq.html b/plugins/yadacoinpool/static/content/faq.html new file mode 100644 index 00000000..3bca8406 --- /dev/null +++ b/plugins/yadacoinpool/static/content/faq.html @@ -0,0 +1,3 @@ +
          +

          will be created by Andy

          + \ No newline at end of file diff --git a/plugins/yadacoinpool/static/img/accept.png b/plugins/yadacoinpool/static/img/accept.png new file mode 100644 index 0000000000000000000000000000000000000000..21289a3191a147f488ac2e0965c267b017e29548 GIT binary patch literal 17264 zcmYj(2Rzl^|Nps0X1HcHS7nxxz2!<}j}S6Klw@7mTnZOi*~thY*(+t1%KBtvh9WMd z2v^26|L5xadp!O<9z81O{eHdAYo6D6y`Hb44fVB;({j-Q0FGa|j5Y><4E~i2P#=ST z{Pi2&fqzhVU%X;U4SxkuJL2HKX*@1p_XdFBJ?S?hRh)qv{*V)+Wq~nqzlHI&_i_Th zzP@K~-*feLu=j8}>+a>8^+%Zt00D3Xtzqi-bor~lpXo-6+UnMi{~XB>U#tz)-NgU+ zeBd>zi@B9qcDkWHz_s3T^4sL-#Qd1eq{}O-^of@nX5~7+&9V}GYC!%+N;WnQ)+sh5 z`a{o?MBQ6`KenhSG?*V}KFwUY{;l%I>;56S?#!)%nceJ_rQ+AT2o~fR&N*>N9NigtNJTx^;Zr}Zp9z@a-pObp{LQ( zK{pkFQDXKr69qxxr{j~yHrea9jJjBRKZ_b>mJLLcEmgGtS^YMBjm@r}jGuh_G6jFh zY%s3OFm5+@mxJW+qpLXsL%W>ZrC^AmDY`(`2pC@gf6Khw&PB zlseuJXxptPDLp^SFmpyd4R`ZJOw0QkpT#=!q87^=H{7xqwDCSX04@52*!AD)*~4%1 z>h)!}LD7pDCXx7K=iXu(u;bJ-K1c~lOp=SsV5E<0&hN&mf=SFdl;n3HFu@t|^s9A{ zy1Z!T%NakBcq)$*SlpsZT{a)J4f}_SR!)Lw_J&lsW_v}}q%2RsUjrYr`m}BnS;LE;Sx}F3mgCMo(sH;_q=|e@Nd+h;%3jxAn!n5ApRcZOrc8NS^pZ^xmFxBfI6u6r`6P|9opk64slIYUf62 za1jnYa!FzOT0%{sRo*({#j-y7$%6Sv#Rd3vULJrKbsjd2=S9Y+iyKnTU{*J_9nE;c ziH7CX+J9y1IO;0pAiWYuZ-X#N@YY=Gk`NIiCab<4A5BJdS39q(P<1WC)ofN~HxZ=| zkv70Zp{hfBg8B6qF2t|lcVEj-=^3nQ#&yNPhpxqB#R#8D_EKf#&^$MS;mfyYk%*ej zy^>_LkRo&T0&i3aBNgCGpH9o=o?sQdM#pi{^EBwioX)4eOpD1O^PNBCm38Okow*`% zqbewi^I9@m$w=Bz?)-Gos;EU}^cPfnC+(C|#IlvchiYHFAJ6P&L0(yDMMXo7%2LFT zpjUU=k4>U%GpnO41*7IhL*LqO?rpR8DSA90g)PgrwvvNt%vZK1R*>MqS z4Jp#~t16UTqC7zQZmLXblHT`ibGB^->;t_Yf&_6&_SmjZ*{);XzIxhgzgkqryTMI2 z^gQWFy7BCrj^GXpNY?!!NSnw;Ydu+i@2eXRS;|=kaP@kKRY=81@-DyOzKq2l`r}=H zwJ^2o3Y&U+ONgs%RN(j*k_TwLxnx}?rbb?s4y8D(ZBFi`5(S=zlVgv`ERX7VZBEV2 z(LJ*~&aRde>&8d6iQCSdq?-uTEf(~h19^yR=H^!YdNP7gCT$htFg8&Q{9( zh@U8(C|s1s>+^u&N*B%BFUohUK-81Ii|E^d*CqC9p4W-qQlx$j)$UeocYp2t&F&4L ze?B_`$20T{rFKW$HE0mSJx~|Kl zvUt5)vlU-efsXHw>ylwMY#GvDIPeX;wtQ#EUPMVAgsTfi#66!5|0M%XXT)owD>i7* zp~IG=L6wUFDR7^v=F&|rq4gI-DOcHsuH(8cES%Ijn`JWE_#cL;hlc^=KJg#>4_VOp zX!mu@0S}Bv%4od84N%digRYosqS;}g!ZNbSr1Y6u9UgmYN}@2wN+V$r?{@nZ)bK)vLT}MX@*VP0QtCcx} zeY9h{6x}GXnh+_hOZDup2ki=V>ErcL(^4K23C3D)88kdMRwv-Oskl#{d#U zOT?$mPx>=rIg4tUkO;s^=cd!=D(MoL-M%4P_-R5 z42XvN!zd$Gv7h92=BMbpQJ0JvVCm)zeb@9p=OY zk_t;VKW6%ek9JEnZ(v9deut~5Q)bX=#B5~q*`h$53Ij;*t`yI?7d;Fz92M!1Nt$M~ zWj$$x$YLmk{?%*XtTAcFrwHdP4$yeXWVTI*h>cTf7kD44cCY}Bj3W(yjBnx`aLPLi{voRYM(Z&Ehn2^_;D3e1^+WAkz; z3zPQ0Dbv)Dl>a5&e;3f;aliX|(E|!jTbo%uBi_bJUxJ-C$P zyE?}A=jTtup|J2s1BBysC%yTfeTI7>NHmE_FY;^Br!Tqhd~B{=@Oje5e3A!T$C%w9 z+Sp(D2y`z%x9rkmwJ75fyIWaeYpR&R#;MAwx%_t z5ssBZ+|sbW(ank7r|8YaxfGv{{pCPB{+tN6iJ(%CWEvy zS27r8eS_H4i$n^4u718leL!*GeHwK&g7WfU*bhGG@4u-+-S}(;6FHly1jvuhB$Xtk zYimBx5pd0Vca+A;Tk_`K#orscvKL9-Ztpx|s!ts?cl=*i>Ed8DutYYUWRDBJsTh;% z0pvv{c=q$NsXtL-LP->Y7Gy>SzPPb%tYk9Ga_|5Kg{BwV?S{q+6KiP&rSToh6Cz>m`aL_Vvkc06Xve+-I8B@y>?O^@Qxk@Yy%?s-S#ViXBltQJ4Hsoei|vHFBNj$Cu4FC>*t|z1=D*vSt)yKF z074`eL7`0ztxRpb!r)>DA~F13Oq3gg z%wgB)_;y*4{#un5B`%_FF_4p6JV43F!rbc^#rf4pH595cdJ^?~*(q+h=s_bJRXd>N z*3rMnyiUqJ>5$0h&vmY?Pl`R^zrgz*W(+$}K?UAjFhg!!oHrP(Ui>j!9bmZ;0{i5f#1HD^4? zNp@J`cHID+a3)Fe^}C(K@(WM;Z`<5eyevz32e8Vq8C;zpu>NyYbVbeQ(E*xewheJz zs_wM*X4<@(A}@@TXt_iv3iYegQD>>>y0e#Fkw&1{ZDHYW?jA1~byjmV?g)Zm)f$Z$C6g_Z!vSO~U5xka3c3WHhBLfn7 zJga3s72yrPdD4~<8~%n6to1k+EZre(*}tdQY+Uv9zbL1>wyXj!tUOV;_`ZS)x(Ci! z?ybJX226~E^r*U7rx~zD4j&KL1`3V@)vxGfqQ7T0Bq;SEojk9q;;)+EcF`gav6Aq~7{&0oIZ9?2;-afIjjJ+n@E<3|uQ+Z0rzlMXgx1W2|Nef8>LT6(ORsmeN5HL& zJ`FUw)yMMN#Q8R9-gly{ezXFXw)bmVi2k9iUl@@{Cu1^peYZ1i0iQ96-wAs_zM#nK z?mhVfW^C}05dyUu*_izhP3oukM+E*WYv6!eM-Y8SZvIM*E%=uS27<3W)io za~9xTkIblw+CxJ_^F{G)XRQGOomF64$1)lVK9YhmI;`%js2Bce%}1xA2ZbHU!r%gb zCTBxndEi@kz@ofAMh>?Y*A#tDmdgwD0*?+bQ=yt3k4e&F#dvv{%O7|TiGKe6x)|j9 z3_7?~vx6>DM8Z+4zcUNG6sWaydq~6h`wJEx$fmcs>} z{ps2uoygEc@|UTL?neY1+9_TVQ(k9P4+;K@p&JeI6S;syQpUKwRg{6z_2Hs`=J#k8 zEVRM68i7!9k_All8jru~Z+2av9@2<>$3iYJr9e>R+lQ){6!n<-d45iLtrUzMqHhcv zDw0y<+2OZDgtQ*xMKg@ z+On)9&#)sI|KRH49rR&91CWWuK)FA6fyiN@h0YQ@rpZYUt?fz1zkF@d~JgA2iapZX^SN?H!MAD(VEnUD~SWmm~Kl!E1 z4x4Q;>~8IT`}NR+mYO1|&uoAE*%Bq4cB`XtQ@1|Ek zzw%?=(}7H-Pv#${c*gjyKTdi;x{-bf8ZYBly4$n(`Vo{p1<$J=)!Xa0$Lv4i7s=Dq zz>=(&T+m_3O8(A!@$-t#7R0QZ17{A(RoQ=PTH^Wp-rr30ZM#tNPK84m=ejAX;xpfyt&xI;r#n;jThOu^@>cP zOL4rrve+wM{FG6sSDrO{uRbJ$>Fx~qffjK9JZ8?8HB8|zG3;w8OYPa5Wyq6@Ym$9 zrqn4ZySuY{n?}7v=?B?rF{GP!HzkxmhhjSl1RB7L>AKXuJSQ(085v2tSkZ-dU_!n& zlI?9{)W(M5e)UW3b0Rofw!NcT3>jvyx~j+EH#0;IRe2Dto&y)6Bx7z75K_CW*qKhw z7FA?YZ-xYE?LeR^B&qwi^IdrB)HX1md8m6M7uV%BWq1%QPZspOG5pP}iImUUqvL>X zbUyQqEF{|aVsF=j!Y}vo!W(I!P~%uq>BsD+%!%zf4OISJCGY7AtF~vw58c*2g)4t* z&|+{Q-FFu0oQv|x2NY-Z~A_&v$ z24u>vng*zvt-aC-AAOtQwcO8hcS5;R!t5XXgnk9m#-^IcV** zWSd7rayn*H6j(`m{|!K+&(21{Rpg9H!;F%?O@Fo82TGs$-I$Zpm)KS96LBJwd!`4I zvvFZLH-)t}k8ZWmu?qLe1Rgh&jDjH8mPRs)gz9&)Jn;6Dr1t55rH); zKi_sHhr;h;6n{ldV}HJm`)}Sq5j+Zran_jh>b>YL_i*C_0L9?g9~~HEz4ShUhZ8i+ zSm|5Co6ebVQ<93BHB2Qjc*Twu^^hAxR-MPa?LQ8qyM)6n;MRr^73tIwnCXSb3yhK8 zN%pw_m%4qLbWLN?kPO8NBlwu~PtWgtw{i3%R~Nk58%i%nflT7A+EasE2TX@Etgwb! zkPA#0-lwH7iSj-U2Ou%`g1|cC<2N`EN z4~2$;?NBHai-V4iVsh)};;f%lvUHxv74F2{&IS+P2(gjKQbDo_knH31%NEZUgB&c$ z)hT}ztp}sgr>pm}A+vmG4&53R_$GIUb#^;BPYDi)r7u(p7&Ijm(Vjm`_kzY0x--&jjRZwq$1{X z{cTU|Qd;}JlVoamS5!cehAW)aP_22v3MM4y5 zVzeaZ(cIq=WW)}-c4pIKot4mdONr3+({U5Mn1=#cRp*Dj-x;>~b&;#vb39Lv!ilU~ z9Q-+_C^dn3sLo=c8KN*Vu!1m*E=rBWiFClF>IUKGTls=f(LWPIE%-l!E_acyjO~cq zFbV5nN^5H>8?SnYd6=iPv=sSSl75~pN*bVL=6z4V<+{qMy&FF=8FOWL1y?1kqA(o? ziN~;%^I3tNk2c2eQ>ax**F;`Om<@KvKT7ge%9dN z&))$;)OqJG%0uT}YCX9%zjiWgYCT{8bnFSxr`Yr}rO3^B)`br6D^jEYelOtrE%+oi z`^5+MxAH<`Q~D2ClIW`TzAkn%=Dd^Xw~2a~EzKLzaO#2YmVW;Lyuf!_d`&Vy&=bok zqj66^5`2Zz+FovK#!pCxe7nA`NVOB5ec(pxqoq%}B-7s{HnH?hZ+Lmh#w&X|+g1&= z8Qlrx6z;qu%9eoLY_4ZpTgYTAUZNepgnmedq$pE$ozO;;T z0c58M61hy#JDqKDkTW#&`rg;ZcsivwyStwdhxfmD{ys@MRC}S)-V?S8r<%_@#B=|Y zquS#xO4IMxokt+U9?^8+i#w_oWBD76G8;<~N`&+{|4u6F5J z9DFN^nWNfiIiSK`%scVdjRLaSe#GWh^bFeNaBFu%iIiHCBXql5#84=>>zMf!?xuOU zw2&8V(?5N|cpAN*qdFR&!fB#^i`X;}o@!9D7ksjClV*Q^N8JG70ho*~eai5Xs*qpM zmIzJ1UPZWKy*srb5z22=Z+rrv$XoAXVOQWEH^Qk0p(WGy0A}ZxK#;;*G)^S(--=`y zpDL-|t9tlbi5?qg*8dE6)jp2Fkwwg}=u3o7_h!ql6+BQqj8&osz3+^^bZeqD-VuC@ zDaCW&%kO;&?v5rB;H0Snu?TDTbOH1Yl&}F&UkM{6)|6OO!r% z3QS?;n29H+=Ow|3>`#VhyurW4(Z;QaMzuS>qEjRK{Eep0hG?sGvappNZRi~~p*H~_VUfcYk zzqWxg?O1;^d#5g*${>K|NNy?l<-)L7@3i66^wB=_=2=GnFQnZYB(#v(i`V~n;8ySX z)mv_+nk~Uugi|4+pV%}sC(bdWsQSY|v_|`VX9Mgwy#jgK826#Dt}IecTlM}OTjw5i zv2JEkm?NGQim7@}^oH3ME*N{p0AT^UAd%l;LKqKx9sX^&MooaD_KN+?}dDmY^AVOc7J8J4I_xyCRI|Z20p{V_d?;cuXNo)J9 z+&W8Ry)|`QBGgOQ_QzIB0Tpbxh-A%AM+qaoK<^MvQ*#QxyBL&7YK@l2I0ROGY9eFa zIBx{glq^aozJC(c=x#=z9OJ4D`H#?muRwBBoM}>o0b-t%ZX&C^ zhlFz<=JM@2q_y={?RCo!uBDa2>gI!*enu!Tp}f%lZKZiK_mRm55giKuq6daANAL;% zhXuG#JW9duCcuagJn#O}O_7!|TcAJuX5k`Fib}{)VxRTT67HeeFViU_sOi?tx@PDOYB3v;=KQ;y@*?DyI21ACc>T$!2V73p4!|P z^5_&$^GA!&V-Gi0Inxf~_ck%42N&A5m=3lg+Mpch-m%Mrpon?3b8Sy4baR84L%isF zr`@0do)=^Q{Psk~zTZN5m3zdM@f+}m8n8h^mv%Vd??drVseEiTy25$i9f-w!uK(kS zAVmk%9{0eEWO2QR`k$dIpY2A>*h?IK_ui$>P+dgB*jc^TO$D8Z4;pH`m3I5zE5ftF zd%jDG5}|}>#}hmt2kJOy@|!S8P>ii|{Bo@x7kYE|1nd!)GxRkyeW!9dVJ7&VnJ(R6 zS5W^6CV!CUpNcy}JMVQ6gmbT0V!eRh`&Ng|w+8X^>u)nz8!m1yR-2#TMg%4E`#$L; z2p?Xtpk0*B4v$=@5jy*!YxVNb`5?)=5v%KSA&)l#$^1HUl~lIB1x-PFI{e~zT|Iq~ zRl2cYQ=ZxO+p^)%c`~6%11gfxa@TzY5AX)6qfVk#-56S~sqSP0DPBR38XxBNTo@eG zh{^qKHF;2Y;V>G$hxuF2-z#8c)3^9_FCX6E0PlN){h=_hsrub@Lr|D z3v-f^2mHOcL3&|&X#|RP7K!hjvKe^zGF0PsvKnP%elPQ2T#@&{%;;trDS3Mu5G_Db z@!7ycHKK_fE^jEj3s#d|JlunJiWaFKeplo5V1^-PVQoA&{L<zu02)Gt#_a z4VSkTL2E><(x)4;3BJ1~V9`@gOj0o~&%V@iT^g0yUCMGHADh?!!unP+A_N zvU*m?7@3vZRKxcD@jF@Z7p>?wPLkB-o&KpquYX-QlveC|2VzFBKlCrzK`Z_qDS>8%s832uIK#hng7Pn7(g&gF83A{46vtJWT+BP zmQ8IVzFD;e{jRKq$=C1W&}(U>TVyaZucMa8e){TaKYJEPOg5J%v%ZA(m@Q;!h$rp! z)7<1PGXhAAxN4e+x1PKiQE`qp(s-R9T&a$RkD}2Ydp4a87)RE#djvU{aMcpWbJd6} z2rT;V*r>=O%i~zzH2;C%$^(|epk>=4hXL7lX4KD3bYP^p;QQr4BT);UFLhcsC-QIS z(gIf4ccSn5Q^aBv(CWE5wl?yhRJT*W>r`t8{~&`|eVUx!1mV~^A?b^RG|yIRfEq0N ze8kYB#_WkK8`^5eu&o9eu+J(V5Av7ceRQYTD&*(16u_i*pTj>2v~A&MZ0ZQ5aUiH;xHzdfD{?COX&)_FDP8yH+{os@EydqnM^PID?k+ zJxF5#@B^7JJMToQhe`Qfni%{B>{;e0O-ujUseAVb=E7`adu#B}F1LH2zOiuLLfXLRHE8^q|d-!AI zxh;%<)vwca6+0m(Pu8Wjuo+w^37=te-`Y~O$94CW3@i+IdrSI zgfxACJK}{|JWqXLSAds;=vg|Z!Y>^vrX2pZTa1-u8>W*HZ|9+2KsC^T{5TZZGcZ}~}Na7Y{ zebxFNss064;d>f6UIkNv)z=6BnEVA@J-bF!xe;zf1&ImuZA$6$1}XM2yiLJT2mx9K zFmY#{dYfAtIH7l&yw^e{zrBM5&LIO=5x}C~S%}_Wdz#uMxcDoEm4JkM+qAgC8wAQM zTXv1X*Xvi%InNBI2%p`c0I1=rnUDLpPsi`v!w6Oqx8eEdJRj`4s37NHz6rvA$)!l`&brYatalBx*ocq7w) z{BIUH0~Qv?^$h8^|SY|4;s@1uDff?V|4*f#0bkw=rZ ztwS)vaba=fMCf4MVf5POg=)Gh?2`R!SQOyQOTtdzKvmjqI^ zzwEe*{;QB12U@37U?vycjJCb=vLw`9#8#mYIu2P~AwRAp6e>2?-yu(D4Yr#rlLUP? z5~;A|JqUHqL0<;}ZEVxsv!UNswehFOUiy^SD&Z05#4?*ed)v@ev@{Mfd_o&54h_Hg zvU!5;!(7f^=8XQ}uK$&{PwS+R$HU5HE9R)r#m^hyubE96+8n&vcxlqqDEpi%N`x(V zi$b~O&a*|4Fc?1wQcVh}mHM}Vg~9}_T`~Vzb!lrFrRYQd1+I9kgaeVq-_jgH_5@q@ zDh;lZ3$VxeydZRhiLA?$)x<*TKA#m=%KWom1Zl@Wzq@(+M(MO>O8h6G8OwMqy{lg` z>5=>wzTQ3L0*=pU)O|~*wNv6BX159V zC?gh@J&!XfKmE0Zd@gP;yc*?P0q;R4dULxZ9q$Ed1oq@kWDy_)w`8<%BN%;qmfC|I zuBl0X(${wd4=y-d=s{74gHNd4 zahxl+3WGx?9$L$q;D(1cj!E>%bs?4*lgtE(EdRkjQ%ANO;PLc=@Hkh*)1Lf`As4V zF}-v@;d@XUy_~vzaQ92V!1c!m7b(OXGh;5i$E^Lw^WmaM1q{ywNra8NsH@@$GQBOX z4n=5dB7ZnHWpI(AIgjRk6^BM~sD*T6Sk0ji6SI!DILOa4%AW%#Gxw;lf}scJjEero zVbjedWqCi4j<=OlkGWcX8#y>Pfy;|K*J%Wno0y`XvKoB!+%S2|i+~C{G|}3firKl= z(bBh?3qjOBv-_;0T($!qtAz0&eB5QBeUi14@%Zai3Xuy)CQVYz2nknc;UDJ3Vc*Dc zdyI*9yb;X6HQSGr8k|-n=r;=rpRK98f7|P@^nozWE|O(T$m^nUvIQ&?@hE>6(B+XC z#5{cjqZ4J%@r0bvLrs0_u4lynYbfPU=XXKiwXQ)8mAT4>m4wZH&7ue=6bNlf;hnDP z;wfHkP+dCi1-zfW;Y%{vxzyg9+YEs<1<-jlgwBv)Gzva4oe=*mQfBqE89oA8X#92M z@DYGV&#K5>ZKcsc=zz$3QL{IME3e>F{y4spgtx3*5!~PGId*=P{%&zaFBZGp=k+=p z?UlUL>V5YKZ_xTzT*&CmRHHTTtDFeLFWW2X_rNc{JsJM;UenTOadvZ2fiOHs`+v9c zwzp-so=q}&ll-+LgdpcPpM0vQpzz_m0jmY~n?UcwKYz7&`N4YMlQGfu>8J3?et$$y za;}6tKLOH%#^(8SZI&LXuG%DSeipu{&;OIHYpoyzW1;jzHAKg5$;JG;Kd)lGj~UoR zjEzAAbI*PFVMmR7T~qZJ3d`#joq+cRpJ0@*&*uH_=5(buE|4}x@souFwv+PNfZZp6 zo!xn4liQ^cEHo1*BSBqhWhf=;<^Q-4d z7sTd-!Anc_FT1&chQ`=E*!oLKmd&M5&Rm066*Z)rHl8CPWUe(LGbH0tE&%FdZ+u=M zEHdLdQC`N*?myC!v9F}Of=N&6gl#QP$(}_!}@~Lgxy{*w&@i$?rT;GC>exFKLx;8rTiuW}i zEG_R;i%D|67Pn$dOJxCe>!R%tZ3fM)XVigNLG)gy+%!v7Co>_@8HhnbZ3D=%;nnzCs7P(YD3G%pQj?8KJM1sENNBEpHM!YQzHIH<#=F zm(S2=;50RDEwK@;A2aDGu{|TYq!uE!$s^-=c{+Lcg)BPj8jS$OS*o4IRUIDhFnxLsR@zL(Ru0chxGAj&fO*z-_u%z;ko>Bc(^6S^HvV*^jC*Yulp@q3MebQ-@1c*s+d~(Kkz-Dy(-fVRov|f=i z$!w~hnWry6NJXYVVw6=6ciYWhYqdL4?Yw+b`UenU;&=>V0LULVJXe$EZ2t*x*(_FM z0xv5APohv#`ty};&-Em;9@$}_05Vf3(?_73 z6gIK8crAzAjClJX0NP7O0>7PX|4l;AAf3iv@`u!Po+;7=G8FR?}Pd#)6ncd!>%aFsUpy6cP-Y5pw@BI~ISY6wF zQEGjU^!X$f^x6Ybi%s{(wsJu(Wz_|(jSuG|STm1s6tWstuGdYTEuPr-{7R$FZ`CnP zRW*17@{o3;rfYRje6Mb;1SZ6OO+V;KJ!15^CbV1AiNCFjJmj9sP;3sis)S1-Invn= zAiRx@OgVUJw!nJ7RCeqe`M^JT-5L*^xPb6Fv?kN5Gdv?U6LrIw#B9$E=uma3vMmx~ zV@JY}Mz?vx1~%Ub01|n=tXqMK!>B6|d$jdL1$Cf3BuGN+PB6T zC_c(Kj@56xoDn|845QP@;dhjzcz#>)vY4_A0C~$#7k+@oKbmZi!3@^Mn)15a&lY)J z5T;1nbMS9iMX25(iJJ1;Tmf^Et6tRQsNe7cC2%V4RG{$PW(vDz(q>sNyI#}OZn!oK zF+rCVmHpwVoHcEGT~dZ5xbUlz>vtgUd;knsezS&YItlS3V!_(@vc8#!7*dGr7=m#> zfH`ReVR7r|V-c+dLbGbp**6=N)c|Q8qxM=GLf|$D3PiMdXQoowk{8^vD9|xagf_R# z_K8klCy+$6Yufa0>1NFMP?5L%TMkH6v9r95OFilc>}C>9EC}$1$f`&a*d5Nu)l?bRBCE=XB;(V}dZf9>F zbYT+j(hfuW+5BAe9A$h=;2ueDoMYlBw(|Mol^G0=-NN7?8{G7`V7sp_3CdYuijB4E z;o_I#eg80V5fnAUs*kO5)vuXz6vam%y-TLA(&WCnC_WT@>&H2x&T2etL14W0)LoGl zhNt9%+WInLbKcb2bgsH8WmT%Wd9d;t3WO;i2%>0F(1H_w9{;a*{}}TU3-(N3$qSw= z?szrCOfLzpW_0O{)=5vV|3j^A(zLU$zq~W{A~Ht6;%MVe|J77Q)LuWxTBESz{-F24 zB>9RzeY?#OX0|}}YUJNxg;Sp@vlwRCl@a5YV1jRjm7!~IBcT;hok2IPomzHZSIVvA$Q?Sw6%;KJjKfeL9$gNYkrWig}PPZl6$ z2rqsxzDISrjX}VkMEAHD%}+`gWzRtL8ZT8l6O6xOe-;2uwW77dc%TuLWWdGof0JLCp#-Mk* zLZq|@D125`(a40VMLar3LSWAXNF-H$?BU|pqgvx)z)BwtXpGzfO(fm2UXIacJL4+u z9x{Mom7E19B3*9$wXiBvfCD0=<#Vp~&#EB1SB5m2A-fr{8C>92y+Ahp32rMNyKRal zK-0-R&-=bt9`G1i*xo;9*H3khG~a;A-8DS(-yLzcfG-djJ_kH5*D361DG9D4h>uBO zOLfCWq|o{90p5)3Y%4NR^CldOx&}cZek9T;eoN+ta}VZM;M56KJq&G8muF7`UXqZB z5$b$>NQKug>K22CuJ1jBNcwWEa#x5Et3`VxkSOOAZ|`=Y^+O!4&sh!`?L}?@$C!%{ zks4Z_-$r(*z=C{!RcroN8sXzhfjyoyUAyy67WTnwp}>p#-*Li+G*6A46yx%L{6quJ z86?{Bt9%W=Mg_Y|koehGm(V?sXC;U{S7N|QMEAw>-LW#G!%C6_hQAu)D`;l#>fiAa z;zr;o0Xy3;>yoH~!g-N+5;V2TDTgMauJLstQ3#G9gjbSvx<3|Ee)@bG!(25<6vt^&`@?*r>lOWbh zNoyvEy(4YvvbzN<@*jN8B77 z7tWp=W5@Me1I%y`3i({{S-$zgDU|c-#{Qr8#lX6vcEUP+a ztGA6Ae+$Z86p)sN4I`HF=s(HyyGu)M0o>9wIxvahL(x)LVYvgf-4!3rueiZhM|A#94GY`mGGHKCLy&89`R0dZw(4R% zs%PKlXs`yPV6*Z4SF|=69IxXejd7U=Aod3NkhvcTTa2*VXNbA~*RZ~9k_4G$M-k*d zB;Ti=z9;Es2|IfVvE=QQtj6OOJ8mU5RCXLgp13aWH^4eO9cSICw6`Bk-u~lg&XL)x zmij75H3>|0*IPE7NCzCOk9o@jvV2n9p}YqieW3um>Q%}9MwQQhV$5K;nAw>H$n&2! z6I*$z8JK1+t+E`8b_r}Dn;K8X@pKUw8DIt75KcHDX?IV93#5~@gJQkBaK8f%HNcy# z;eAg)VPWKO1=bwHZt_FwB25&2H?Ds56rXM(YZnVjWXEDHV#PXk5$qp#8PCX{Q^Gd8QyK;j|CVBAuLzQqAYF z2=5j3ClX!9k7ntj1mP@S-XpQHm)p!IJ!!Byh({N)qq@jt)i-jx&mBk?7ZQDj?7Q0F zP^viTxK~0=c_)_b}Bo)%dHfGCPPn;1i&Kj z2o%3=M<%A*s0-Fxag+N?hmhKq!% zR~9D?j(^^vWldG)%#)ZnIS>V2=*8pY2r|3)YmgM(poO%-oLN{*8t{_Ee${nGsSS?M z-sW&gPA%}hIcSl-h(>pOK&ZDK&G!brkJXMo8t0bh+N;$U9rC64oF8NH?$VEA%ZyfZ}#0#c-PeLYY2^s{9+Cr`0iGFP&_1c zmqiR@G6k{=bdtl2B=*ry%GHz@Rq7-v?GHlzYvq2TaOPZOAivs$FQ7wvvZ`3q;~47@ z;*oTAtW-Wn`%SR^;a#}n$paDhnF0Z5of9AbYq}NR#eHEx9+@dPz``oem-tohNB%I) zYBiZb?9ZY6XPqoUZ*tuvT~^@dy3WW0+%cmmQ{@r;S-)$)DcE=<2RZ=EeqtMjj@zB5 zpwsescBjvzoXrPL@M+;;V)p;f{7*jCM3-v{Zc68{Izlx`(p6p7O0y8tAr7e+{eqNv zjK_`Tzr|=X)N3&!M>MZ_P@5*qoVz?30Ni8jUWldPBA!2?m%M$ZGLVBzhBvs{9$WPmdD#o>A1b@D#h}P?%2nAscXC1+aQ{;3E{qKEJ{sfsj@x@g zj_t}LjjDXFSp7!pYHL;XiZb(N>>r`T7Vwp&{g2gwq@(VINW2xp{v;j;}qB&#EF`dZQ|v_Zvi$|D+h8)L=9nC4WOB=1O7lvfUEb wa;)7_WK{j)%fPUNAE`2B3+Gjmn)XAPHI=`f2vkjmrFn2gOCMcv(JuV|0SzesD*ylh literal 0 HcmV?d00001 diff --git a/plugins/yadacoinpool/static/img/not_accept.png b/plugins/yadacoinpool/static/img/not_accept.png new file mode 100644 index 0000000000000000000000000000000000000000..2b4c3568f247b4dfde2a07949312bc9c55bec95d GIT binary patch literal 16895 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 Vy%ao^3KC7wH8pK~uB!FZ{{w8S7&-s| literal 0 HcmV?d00001 diff --git a/plugins/yadacoinpool/static/img/pending.png b/plugins/yadacoinpool/static/img/pending.png new file mode 100644 index 0000000000000000000000000000000000000000..d1f936793784ab0cc944edf95f396cdc5eb690a8 GIT binary patch literal 14060 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 Date: Wed, 21 Feb 2024 08:41:34 +0100 Subject: [PATCH 61/94] Update nodes.py --- yadacoin/core/nodes.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/yadacoin/core/nodes.py b/yadacoin/core/nodes.py index 8c23b8f1..1a106a72 100644 --- a/yadacoin/core/nodes.py +++ b/yadacoin/core/nodes.py @@ -20,7 +20,7 @@ def set_nodes(cls): for fork_point in cls().fork_points: for NODE in cls()._NODES: for rng in NODE["ranges"]: - if rng[1] == fork_point: + if rng[1] and rng[1] <= fork_point: continue if rng[0] <= fork_point: cls().NODES[fork_point].append(NODE["node"]) @@ -362,7 +362,7 @@ def __init__(self): "node": SeedGateway.from_dict( { "host": "yada-bravo.mynodes.live", - "port": 8080, + "port": 8000, "identity": { "username": "", "username_signature": "MEQCIFvpbWRQU9Ty4JXxoGH4YXgR8RiLoLBm11RNKBVeaz4GAiAyGMbhXc+J+z5VIh2GGJi9uDsqdPpEweerViSrxpxzPQ==", From a3e684ecd4bb7f0d84872469d83c23afcc1e5f7f Mon Sep 17 00:00:00 2001 From: Rakni1988 Date: Sun, 3 Mar 2024 00:24:43 +0100 Subject: [PATCH 62/94] explorer --- static/explorer/3rdpartylicenses.txt | 168 +- static/explorer/assets/arrow-right.png | Bin 0 -> 3718 bytes static/explorer/assets/circulating-supply.png | Bin 0 -> 9489 bytes static/explorer/assets/difficulty.png | Bin 0 -> 5604 bytes static/explorer/assets/hashrate.png | Bin 0 -> 10561 bytes static/explorer/assets/network-height.png | Bin 0 -> 11454 bytes static/explorer/assets/yadalogo.png | Bin 0 -> 20486 bytes static/explorer/favicon.ico | Bin 5430 -> 44158 bytes static/explorer/main.js | 360 +- static/explorer/polyfills.js | 5483 +---------------- static/explorer/runtime.js | 138 +- static/explorer/styles.css | 1 + templates/explorer/index.html | 25 +- yadacoin/http/explorer.py | 186 +- yadacoin/tcpsocket/pool.py | 7 +- 15 files changed, 171 insertions(+), 6197 deletions(-) create mode 100644 static/explorer/assets/arrow-right.png create mode 100644 static/explorer/assets/circulating-supply.png create mode 100644 static/explorer/assets/difficulty.png create mode 100644 static/explorer/assets/hashrate.png create mode 100644 static/explorer/assets/network-height.png create mode 100644 static/explorer/assets/yadalogo.png create mode 100644 static/explorer/styles.css diff --git a/static/explorer/3rdpartylicenses.txt b/static/explorer/3rdpartylicenses.txt index a35bc366..10c1925a 100644 --- a/static/explorer/3rdpartylicenses.txt +++ b/static/explorer/3rdpartylicenses.txt @@ -1,103 +1,21 @@ -core-js@2.5.7 +@angular/common MIT -Copyright (c) 2014-2018 Denis Pushkarev -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -zone.js@0.8.26 -MIT -The MIT License - -Copyright (c) 2016-2018 Google, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -style-loader@0.21.0 -MIT -Copyright JS Foundation and other contributors - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -@angular/common@6.1.0 -MIT -MIT - -@angular/compiler@6.1.0 -MIT -MIT - -@angular/core@6.1.0 -MIT -MIT - -@angular/forms@6.1.0 -MIT +@angular/core MIT -@angular/http@6.1.0 -MIT +@angular/forms MIT -@angular/platform-browser-dynamic@6.1.0 -MIT +@angular/platform-browser MIT -@angular/platform-browser@6.1.0 -MIT +@angular/router MIT -rxjs@6.2.2 +rxjs Apache-2.0 -Apache License + Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -298,61 +216,29 @@ Apache License WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + -tslib@1.9.3 -Apache-2.0 -Apache License - -Version 2.0, January 2004 - -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. - -"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. -4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: - -You must give any other recipients of the Work or Derivative Works a copy of this License; and - -You must cause any modified files to carry prominent notices stating that You changed the files; and - -You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and - -If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. +zone.js +MIT +The MIT License -7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. +Copyright (c) 2010-2023 Google LLC. https://angular.io/license -8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -END OF TERMS AND CONDITIONS \ No newline at end of file +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/static/explorer/assets/arrow-right.png b/static/explorer/assets/arrow-right.png new file mode 100644 index 0000000000000000000000000000000000000000..0c5b53a1e452e189655723125e281ce49b2fff82 GIT binary patch literal 3718 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 DkW`F#D( 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 Jt&&aT{{w>-JevRj literal 0 HcmV?d00001 diff --git a/static/explorer/assets/difficulty.png b/static/explorer/assets/difficulty.png new file mode 100644 index 0000000000000000000000000000000000000000..532405674434d27dc02ca0840a464e3c94d4619a GIT binary patch literal 5604 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 XvPs*i)0=N6V@lrVy0_$K|KxuIJ^+eS literal 0 HcmV?d00001 diff --git a/static/explorer/assets/hashrate.png b/static/explorer/assets/hashrate.png new file mode 100644 index 0000000000000000000000000000000000000000..4726061c1c525666569afde9f2cf64276a7a70bf GIT binary patch literal 10561 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 XEIxnL%yS(~cLXqcSltS3hiCr>R|RSO literal 0 HcmV?d00001 diff --git a/static/explorer/assets/network-height.png b/static/explorer/assets/network-height.png new file mode 100644 index 0000000000000000000000000000000000000000..60354f5475b356d9f1d8aad2130b0be560d8abfb GIT binary patch literal 11454 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 literal 0 HcmV?d00001 diff --git a/static/explorer/favicon.ico b/static/explorer/favicon.ico index 8081c7ceaf2be08bf59010158c586170d9d2d517..12a34dfbcd1bb2655afad3f1330e4f6375f51908 100644 GIT binary patch literal 44158 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 JnZ}s({{c^w$L0V4 literal 5430 zcmc(je{54#6vvCoAI3i*G5%$U7!sA3wtMZ$fH6V9C`=eXGJb@R1%(I_{vnZtpD{6n z5Pl{DmxzBDbrB>}`90e12m8T*36WoeDLA&SD_hw{H^wM!cl_RWcVA!I+x87ee975; z@4kD^=bYPn&pmG@(+JZ`rqQEKxW<}RzhW}I!|ulN=fmjVi@x{p$cC`)5$a!)X&U+blKNvN5tg=uLvuLnuqRM;Yc*swiexsoh#XPNu{9F#c`G zQLe{yWA(Y6(;>y|-efAy11k<09(@Oo1B2@0`PtZSkqK&${ zgEY}`W@t{%?9u5rF?}Y7OL{338l*JY#P!%MVQY@oqnItpZ}?s z!r?*kwuR{A@jg2Chlf0^{q*>8n5Ir~YWf*wmsh7B5&EpHfd5@xVaj&gqsdui^spyL zB|kUoblGoO7G(MuKTfa9?pGH0@QP^b#!lM1yHWLh*2iq#`C1TdrnO-d#?Oh@XV2HK zKA{`eo{--^K&MW66Lgsktfvn#cCAc*(}qsfhrvOjMGLE?`dHVipu1J3Kgr%g?cNa8 z)pkmC8DGH~fG+dlrp(5^-QBeEvkOvv#q7MBVLtm2oD^$lJZx--_=K&Ttd=-krx(Bb zcEoKJda@S!%%@`P-##$>*u%T*mh+QjV@)Qa=Mk1?#zLk+M4tIt%}wagT{5J%!tXAE;r{@=bb%nNVxvI+C+$t?!VJ@0d@HIyMJTI{vEw0Ul ze(ha!e&qANbTL1ZneNl45t=#Ot??C0MHjjgY8%*mGisN|S6%g3;Hlx#fMNcL<87MW zZ>6moo1YD?P!fJ#Jb(4)_cc50X5n0KoDYfdPoL^iV`k&o{LPyaoqMqk92wVM#_O0l z09$(A-D+gVIlq4TA&{1T@BsUH`Bm=r#l$Z51J-U&F32+hfUP-iLo=jg7Xmy+WLq6_tWv&`wDlz#`&)Jp~iQf zZP)tu>}pIIJKuw+$&t}GQuqMd%Z>0?t%&BM&Wo^4P^Y z)c6h^f2R>X8*}q|bblAF?@;%?2>$y+cMQbN{X$)^R>vtNq_5AB|0N5U*d^T?X9{xQnJYeU{ zoZL#obI;~Pp95f1`%X3D$Mh*4^?O?IT~7HqlWguezmg?Ybq|7>qQ(@pPHbE9V?f|( z+0xo!#m@Np9PljsyxBY-UA*{U*la#8Wz2sO|48_-5t8%_!n?S$zlGe+NA%?vmxjS- zHE5O3ZarU=X}$7>;Okp(UWXJxI%G_J-@IH;%5#Rt$(WUX?6*Ux!IRd$dLP6+SmPn= z8zjm4jGjN772R{FGkXwcNv8GBcZI#@Y2m{RNF_w8(Z%^A*!bS*!}s6sh*NnURytky humW;*g7R+&|Ledvc-\n

          \n Yada Coin Explorer\n

          \n\n\n\n" - -/***/ }), - -/***/ "./src/app/app.component.ts": -/*!**********************************!*\ - !*** ./src/app/app.component.ts ***! - \**********************************/ -/*! exports provided: AppComponent */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AppComponent", function() { return AppComponent; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; - -var AppComponent = /** @class */ (function () { - function AppComponent() { - this.title = 'explorer'; - } - AppComponent = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Component"])({ - selector: 'app-root', - template: __webpack_require__(/*! ./app.component.html */ "./src/app/app.component.html"), - styles: [__webpack_require__(/*! ./app.component.css */ "./src/app/app.component.css")] - }) - ], AppComponent); - return AppComponent; -}()); - - - -/***/ }), - -/***/ "./src/app/app.module.ts": -/*!*******************************!*\ - !*** ./src/app/app.module.ts ***! - \*******************************/ -/*! exports provided: AppModule */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AppModule", function() { return AppModule; }); -/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/platform-browser */ "./node_modules/@angular/platform-browser/fesm5/platform-browser.js"); -/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/forms */ "./node_modules/@angular/forms/fesm5/forms.js"); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _angular_http__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/http */ "./node_modules/@angular/http/fesm5/http.js"); -/* harmony import */ var _app_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./app.component */ "./src/app/app.component.ts"); -/* harmony import */ var _search_form_search_form_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./search-form/search-form.component */ "./src/app/search-form/search-form.component.ts"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; - - - - - - -var AppModule = /** @class */ (function () { - function AppModule() { - } - AppModule = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_2__["NgModule"])({ - declarations: [ - _app_component__WEBPACK_IMPORTED_MODULE_4__["AppComponent"], - _search_form_search_form_component__WEBPACK_IMPORTED_MODULE_5__["SearchFormComponent"] - ], - imports: [ - _angular_platform_browser__WEBPACK_IMPORTED_MODULE_0__["BrowserModule"], - _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormsModule"], - _angular_http__WEBPACK_IMPORTED_MODULE_3__["HttpModule"] - ], - providers: [], - bootstrap: [_app_component__WEBPACK_IMPORTED_MODULE_4__["AppComponent"]] - }) - ], AppModule); - return AppModule; -}()); - - - -/***/ }), - -/***/ "./src/app/search-form/search-form.component.css": -/*!*******************************************************!*\ - !*** ./src/app/search-form/search-form.component.css ***! - \*******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = "" - -/***/ }), - -/***/ "./src/app/search-form/search-form.component.html": -/*!********************************************************!*\ - !*** ./src/app/search-form/search-form.component.html ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = "

          Current block height: {{current_height}}

          \n

          Coins in circulation: {{circulating}}

          \n

          Maximum supply: 21,000,000

          \n

          Network hash rate: {{hashrate}}h/s

          \n

          Difficulty: {{difficulty}}

          \n

          Hashing algorithm: RandomX Variant (rx/yada)

          \n
          \n \n \n
          \n
          Searching...
          \n
          No results
          \n

          Balance: {{balance}}

          \n
          \n
            \n
          • \n

            Mempool

            \n

            public_key: {{transaction.public_key}}

            \n

            signature: {{transaction.id}}

            \n

            hash: {{transaction.hash}}

            \n

            fee: {{transaction.fee}}

            \n

            diffie-hellman public key: {{transaction.dh_public_key}}

            \n

            relationship identifier: {{transaction.rid}}

            \n

            relationship data:

            \n
            No inputs
            \n
            0\">\n

            Inputs

            \n \n
            \n
            No outputs
            \n
            0\">\n

            Outputs

            \n \n
            \n
          • \n
          \n
            \n
          • \n

            Block {{block.index}}

            \n

            version: {{block.version}}

            \n

            target: {{block.target}}

            \n

            nonce: {{block.nonce}}

            \n

            merkleRoot: {{block.merkleRoot}}

            \n

            index: {{block.index}}

            \n

            special min: {{block.special_min}}

            \n

            time: {{block.time}}

            \n

            previous hash: {{block.prevHash}}

            \n

            public_key: {{block.public_key}}

            \n

            signature: {{block.id}}

            \n

            hash: {{block.hash}}

            \n

            Transactions

            \n
              \n
            • \n

              public_key: {{transaction.public_key}}

              \n

              signature: {{transaction.id}}

              \n

              hash: {{transaction.hash}}

              \n

              fee: {{transaction.fee}}

              \n

              diffie-hellman public key: {{transaction.dh_public_key}}

              \n

              relationship identifier: {{transaction.rid}}

              \n

              relationship data:

              \n
              No inputs
              \n
              0\">\n

              Inputs

              \n \n
              \n
              No outputs
              \n
              0\">\n

              Outputs

              \n \n
              \n
            • \n
            \n
          • \n
          " - -/***/ }), - -/***/ "./src/app/search-form/search-form.component.ts": -/*!******************************************************!*\ - !*** ./src/app/search-form/search-form.component.ts ***! - \******************************************************/ -/*! exports provided: SearchFormComponent */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SearchFormComponent", function() { return SearchFormComponent; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _angular_http__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/http */ "./node_modules/@angular/http/fesm5/http.js"); -/* harmony import */ var _search__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../search */ "./src/app/search.ts"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - -var SearchFormComponent = /** @class */ (function () { - function SearchFormComponent(http) { - var _this = this; - this.http = http; - this.model = new _search__WEBPACK_IMPORTED_MODULE_2__["Search"](''); - this.result = []; - this.resultType = ''; - this.balance = 0; - this.searching = false; - this.submitted = false; - this.current_height = ''; - this.circulating = ''; - this.hashrate = ''; - this.difficulty = ''; - this.http.get('/api-stats') - .subscribe(function (res) { - _this.difficulty = _this.numberWithCommas(res.json()['stats']['difficulty']); - _this.hashrate = _this.numberWithCommas(res.json()['stats']['network_hash_rate']); - _this.current_height = _this.numberWithCommas(res.json()['stats']['height']); - _this.circulating = _this.numberWithCommas(res.json()['stats']['circulating']); - if (!window.location.search) { - _this.http.get('/explorer-search?term=' + _this.current_height.replace(',', '')) - .subscribe(function (res) { - _this.result = res.json().result || []; - _this.resultType = res.json().resultType; - _this.balance = res.json().balance; - _this.searching = false; - }, function (err) { - alert('something went terribly wrong!'); - }); - } - }, function (err) { - alert('something went terribly wrong!'); - }); - if (window.location.search) { - this.searching = true; - this.submitted = true; - this.http.get('/explorer-search' + window.location.search) - .subscribe(function (res) { - _this.result = res.json().result || []; - _this.resultType = res.json().resultType; - _this.balance = res.json().balance; - _this.searching = false; - }, function (err) { - alert('something went terribly wrong!'); - }); - } - } - SearchFormComponent.prototype.ngOnInit = function () { - }; - SearchFormComponent.prototype.onSubmit = function () { - var _this = this; - this.searching = true; - this.submitted = true; - this.http.get('/explorer-search?term=' + encodeURIComponent(this.model.term)) - .subscribe(function (res) { - _this.result = res.json().result || []; - _this.resultType = res.json().resultType; - _this.balance = res.json().balance; - _this.searching = false; - }, function (err) { - alert('something went terribly wrong!'); - }); - }; - SearchFormComponent.prototype.numberWithCommas = function (x) { - return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); - }; - Object.defineProperty(SearchFormComponent.prototype, "diagnostic", { - // TODO: Remove this when we're done - get: function () { return JSON.stringify(this.model); }, - enumerable: true, - configurable: true - }); - SearchFormComponent = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Component"])({ - selector: 'app-search-form', - template: __webpack_require__(/*! ./search-form.component.html */ "./src/app/search-form/search-form.component.html"), - styles: [__webpack_require__(/*! ./search-form.component.css */ "./src/app/search-form/search-form.component.css")] - }), - __metadata("design:paramtypes", [_angular_http__WEBPACK_IMPORTED_MODULE_1__["Http"]]) - ], SearchFormComponent); - return SearchFormComponent; -}()); - - - -/***/ }), - -/***/ "./src/app/search.ts": -/*!***************************!*\ - !*** ./src/app/search.ts ***! - \***************************/ -/*! exports provided: Search */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Search", function() { return Search; }); -var Search = /** @class */ (function () { - function Search(term) { - this.term = term; - } - return Search; -}()); - - - -/***/ }), - -/***/ "./src/environments/environment.ts": -/*!*****************************************!*\ - !*** ./src/environments/environment.ts ***! - \*****************************************/ -/*! exports provided: environment */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "environment", function() { return environment; }); -// This file can be replaced during build by using the `fileReplacements` array. -// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`. -// The list of file replacements can be found in `angular.json`. -var environment = { - production: false -}; -/* - * In development mode, to ignore zone related error stack frames such as - * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can - * import the following file, but please comment it out in production mode - * because it will have performance impact when throw error - */ -// import 'zone.js/dist/zone-error'; // Included with Angular CLI. - - -/***/ }), - -/***/ "./src/main.ts": -/*!*********************!*\ - !*** ./src/main.ts ***! - \*********************/ -/*! no exports provided */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _angular_platform_browser_dynamic__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/platform-browser-dynamic */ "./node_modules/@angular/platform-browser-dynamic/fesm5/platform-browser-dynamic.js"); -/* harmony import */ var _app_app_module__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./app/app.module */ "./src/app/app.module.ts"); -/* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./environments/environment */ "./src/environments/environment.ts"); - - - - -if (_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].production) { - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["enableProdMode"])(); -} -Object(_angular_platform_browser_dynamic__WEBPACK_IMPORTED_MODULE_1__["platformBrowserDynamic"])().bootstrapModule(_app_app_module__WEBPACK_IMPORTED_MODULE_2__["AppModule"]) - .catch(function (err) { return console.log(err); }); - - -/***/ }), - -/***/ 0: -/*!***************************!*\ - !*** multi ./src/main.ts ***! - \***************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -module.exports = __webpack_require__(/*! /media/john/4tb/home/mvogel/yadacoin/plugins/explorer/src/main.ts */"./src/main.ts"); - - -/***/ }) - -},[[0,"runtime","vendor"]]]); -//# sourceMappingURL=main.js.map \ No newline at end of file +"use strict";(self.webpackChunkexplorer=self.webpackChunkexplorer||[]).push([[179],{90:()=>{function le(e){return"function"==typeof e}function Vo(e){const t=e(r=>{Error.call(r),r.stack=(new Error).stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}const _s=Vo(e=>function(t){e(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((r,o)=>`${o+1}) ${r.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t});function jo(e,n){if(e){const t=e.indexOf(n);0<=t&&e.splice(t,1)}}class lt{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;const{_parentage:t}=this;if(t)if(this._parentage=null,Array.isArray(t))for(const i of t)i.remove(this);else t.remove(this);const{initialTeardown:r}=this;if(le(r))try{r()}catch(i){n=i instanceof _s?i.errors:[i]}const{_finalizers:o}=this;if(o){this._finalizers=null;for(const i of o)try{Ih(i)}catch(s){n=n??[],s instanceof _s?n=[...n,...s.errors]:n.push(s)}}if(n)throw new _s(n)}}add(n){var t;if(n&&n!==this)if(this.closed)Ih(n);else{if(n instanceof lt){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=null!==(t=this._finalizers)&&void 0!==t?t:[]).push(n)}}_hasParent(n){const{_parentage:t}=this;return t===n||Array.isArray(t)&&t.includes(n)}_addParent(n){const{_parentage:t}=this;this._parentage=Array.isArray(t)?(t.push(n),t):t?[t,n]:n}_removeParent(n){const{_parentage:t}=this;t===n?this._parentage=null:Array.isArray(t)&&jo(t,n)}remove(n){const{_finalizers:t}=this;t&&jo(t,n),n instanceof lt&&n._removeParent(this)}}lt.EMPTY=(()=>{const e=new lt;return e.closed=!0,e})();const bh=lt.EMPTY;function Eh(e){return e instanceof lt||e&&"closed"in e&&le(e.remove)&&le(e.add)&&le(e.unsubscribe)}function Ih(e){le(e)?e():e.unsubscribe()}const er={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},ys={setTimeout(e,n,...t){const{delegate:r}=ys;return r?.setTimeout?r.setTimeout(e,n,...t):setTimeout(e,n,...t)},clearTimeout(e){const{delegate:n}=ys;return(n?.clearTimeout||clearTimeout)(e)},delegate:void 0};function Mh(e){ys.setTimeout(()=>{const{onUnhandledError:n}=er;if(!n)throw e;n(e)})}function Ju(){}const dE=Ku("C",void 0,void 0);function Ku(e,n,t){return{kind:e,value:n,error:t}}let tr=null;function Ds(e){if(er.useDeprecatedSynchronousErrorHandling){const n=!tr;if(n&&(tr={errorThrown:!1,error:null}),e(),n){const{errorThrown:t,error:r}=tr;if(tr=null,t)throw r}}else e()}class ec extends lt{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,Eh(n)&&n.add(this)):this.destination=_E}static create(n,t,r){return new Bo(n,t,r)}next(n){this.isStopped?nc(function hE(e){return Ku("N",e,void 0)}(n),this):this._next(n)}error(n){this.isStopped?nc(function fE(e){return Ku("E",void 0,e)}(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?nc(dE,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(n){this.destination.next(n)}_error(n){try{this.destination.error(n)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const gE=Function.prototype.bind;function tc(e,n){return gE.call(e,n)}class mE{constructor(n){this.partialObserver=n}next(n){const{partialObserver:t}=this;if(t.next)try{t.next(n)}catch(r){Cs(r)}}error(n){const{partialObserver:t}=this;if(t.error)try{t.error(n)}catch(r){Cs(r)}else Cs(n)}complete(){const{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(t){Cs(t)}}}class Bo extends ec{constructor(n,t,r){let o;if(super(),le(n)||!n)o={next:n??void 0,error:t??void 0,complete:r??void 0};else{let i;this&&er.useDeprecatedNextContext?(i=Object.create(n),i.unsubscribe=()=>this.unsubscribe(),o={next:n.next&&tc(n.next,i),error:n.error&&tc(n.error,i),complete:n.complete&&tc(n.complete,i)}):o=n}this.destination=new mE(o)}}function Cs(e){er.useDeprecatedSynchronousErrorHandling?function pE(e){er.useDeprecatedSynchronousErrorHandling&&tr&&(tr.errorThrown=!0,tr.error=e)}(e):Mh(e)}function nc(e,n){const{onStoppedNotification:t}=er;t&&ys.setTimeout(()=>t(e,n))}const _E={closed:!0,next:Ju,error:function vE(e){throw e},complete:Ju},rc="function"==typeof Symbol&&Symbol.observable||"@@observable";function Nn(e){return e}function Sh(e){return 0===e.length?Nn:1===e.length?e[0]:function(t){return e.reduce((r,o)=>o(r),t)}}let Ee=(()=>{class e{constructor(t){t&&(this._subscribe=t)}lift(t){const r=new e;return r.source=this,r.operator=t,r}subscribe(t,r,o){const i=function CE(e){return e&&e instanceof ec||function DE(e){return e&&le(e.next)&&le(e.error)&&le(e.complete)}(e)&&Eh(e)}(t)?t:new Bo(t,r,o);return Ds(()=>{const{operator:s,source:a}=this;i.add(s?s.call(i,a):a?this._subscribe(i):this._trySubscribe(i))}),i}_trySubscribe(t){try{return this._subscribe(t)}catch(r){t.error(r)}}forEach(t,r){return new(r=Th(r))((o,i)=>{const s=new Bo({next:a=>{try{t(a)}catch(u){i(u),s.unsubscribe()}},error:i,complete:o});this.subscribe(s)})}_subscribe(t){var r;return null===(r=this.source)||void 0===r?void 0:r.subscribe(t)}[rc](){return this}pipe(...t){return Sh(t)(this)}toPromise(t){return new(t=Th(t))((r,o)=>{let i;this.subscribe(s=>i=s,s=>o(s),()=>r(i))})}}return e.create=n=>new e(n),e})();function Th(e){var n;return null!==(n=e??er.Promise)&&void 0!==n?n:Promise}const wE=Vo(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let kt=(()=>{class e extends Ee{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const r=new Ah(this,this);return r.operator=t,r}_throwIfClosed(){if(this.closed)throw new wE}next(t){Ds(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const r of this.currentObservers)r.next(t)}})}error(t){Ds(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;const{observers:r}=this;for(;r.length;)r.shift().error(t)}})}complete(){Ds(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:t}=this;for(;t.length;)t.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){const{hasError:r,isStopped:o,observers:i}=this;return r||o?bh:(this.currentObservers=null,i.push(t),new lt(()=>{this.currentObservers=null,jo(i,t)}))}_checkFinalizedStatuses(t){const{hasError:r,thrownError:o,isStopped:i}=this;r?t.error(o):i&&t.complete()}asObservable(){const t=new Ee;return t.source=this,t}}return e.create=(n,t)=>new Ah(n,t),e})();class Ah extends kt{constructor(n,t){super(),this.destination=n,this.source=t}next(n){var t,r;null===(r=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===r||r.call(t,n)}error(n){var t,r;null===(r=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===r||r.call(t,n)}complete(){var n,t;null===(t=null===(n=this.destination)||void 0===n?void 0:n.complete)||void 0===t||t.call(n)}_subscribe(n){var t,r;return null!==(r=null===(t=this.source)||void 0===t?void 0:t.subscribe(n))&&void 0!==r?r:bh}}function xh(e){return le(e?.lift)}function xe(e){return n=>{if(xh(n))return n.lift(function(t){try{return e(t,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}function Te(e,n,t,r,o){return new bE(e,n,t,r,o)}class bE extends ec{constructor(n,t,r,o,i,s){super(n),this.onFinalize=i,this.shouldUnsubscribe=s,this._next=t?function(a){try{t(a)}catch(u){n.error(u)}}:super._next,this._error=o?function(a){try{o(a)}catch(u){n.error(u)}finally{this.unsubscribe()}}:super._error,this._complete=r?function(){try{r()}catch(a){n.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:t}=this;super.unsubscribe(),!t&&(null===(n=this.onFinalize)||void 0===n||n.call(this))}}}function ne(e,n){return xe((t,r)=>{let o=0;t.subscribe(Te(r,i=>{r.next(e.call(n,i,o++))}))})}function Rn(e){return this instanceof Rn?(this.v=e,this):new Rn(e)}function Ph(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=function ac(e){var n="function"==typeof Symbol&&Symbol.iterator,t=n&&e[n],r=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(i){t[i]=e[i]&&function(s){return new Promise(function(a,u){!function o(i,s,a,u){Promise.resolve(u).then(function(c){i({value:c,done:a})},s)}(a,u,(s=e[i](s)).done,s.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const Fh=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function kh(e){return le(e?.then)}function Lh(e){return le(e[rc])}function Vh(e){return Symbol.asyncIterator&&le(e?.[Symbol.asyncIterator])}function jh(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const Bh=function GE(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function $h(e){return le(e?.[Bh])}function Hh(e){return function Oh(e,n,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var o,r=t.apply(e,n||[]),i=[];return o={},s("next"),s("throw"),s("return"),o[Symbol.asyncIterator]=function(){return this},o;function s(g){r[g]&&(o[g]=function(v){return new Promise(function(_,y){i.push([g,v,_,y])>1||a(g,v)})})}function a(g,v){try{!function u(g){g.value instanceof Rn?Promise.resolve(g.value.v).then(c,l):d(i[0][2],g)}(r[g](v))}catch(_){d(i[0][3],_)}}function c(g){a("next",g)}function l(g){a("throw",g)}function d(g,v){g(v),i.shift(),i.length&&a(i[0][0],i[0][1])}}(this,arguments,function*(){const t=e.getReader();try{for(;;){const{value:r,done:o}=yield Rn(t.read());if(o)return yield Rn(void 0);yield yield Rn(r)}}finally{t.releaseLock()}})}function Uh(e){return le(e?.getReader)}function dt(e){if(e instanceof Ee)return e;if(null!=e){if(Lh(e))return function qE(e){return new Ee(n=>{const t=e[rc]();if(le(t.subscribe))return t.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Fh(e))return function WE(e){return new Ee(n=>{for(let t=0;t{e.then(t=>{n.closed||(n.next(t),n.complete())},t=>n.error(t)).then(null,Mh)})}(e);if(Vh(e))return zh(e);if($h(e))return function YE(e){return new Ee(n=>{for(const t of e)if(n.next(t),n.closed)return;n.complete()})}(e);if(Uh(e))return function QE(e){return zh(Hh(e))}(e)}throw jh(e)}function zh(e){return new Ee(n=>{(function XE(e,n){var t,r,o,i;return function Nh(e,n,t,r){return new(t||(t=Promise))(function(i,s){function a(l){try{c(r.next(l))}catch(d){s(d)}}function u(l){try{c(r.throw(l))}catch(d){s(d)}}function c(l){l.done?i(l.value):function o(i){return i instanceof t?i:new t(function(s){s(i)})}(l.value).then(a,u)}c((r=r.apply(e,n||[])).next())})}(this,void 0,void 0,function*(){try{for(t=Ph(e);!(r=yield t.next()).done;)if(n.next(r.value),n.closed)return}catch(s){o={error:s}}finally{try{r&&!r.done&&(i=t.return)&&(yield i.call(t))}finally{if(o)throw o.error}}n.complete()})})(e,n).catch(t=>n.error(t))})}function fn(e,n,t,r=0,o=!1){const i=n.schedule(function(){t(),o?e.add(this.schedule(null,r)):this.unsubscribe()},r);if(e.add(i),!o)return i}function Le(e,n,t=1/0){return le(n)?Le((r,o)=>ne((i,s)=>n(r,i,o,s))(dt(e(r,o))),t):("number"==typeof n&&(t=n),xe((r,o)=>function JE(e,n,t,r,o,i,s,a){const u=[];let c=0,l=0,d=!1;const g=()=>{d&&!u.length&&!c&&n.complete()},v=y=>c{i&&n.next(y),c++;let C=!1;dt(t(y,l++)).subscribe(Te(n,M=>{o?.(M),i?v(M):n.next(M)},()=>{C=!0},void 0,()=>{if(C)try{for(c--;u.length&&c_(M)):_(M)}g()}catch(M){n.error(M)}}))};return e.subscribe(Te(n,v,()=>{d=!0,g()})),()=>{a?.()}}(r,o,e,t)))}function Mr(e=1/0){return Le(Nn,e)}const Zt=new Ee(e=>e.complete());function uc(e){return e[e.length-1]}function Gh(e){return le(uc(e))?e.pop():void 0}function $o(e){return function e0(e){return e&&le(e.schedule)}(uc(e))?e.pop():void 0}function qh(e,n=0){return xe((t,r)=>{t.subscribe(Te(r,o=>fn(r,e,()=>r.next(o),n),()=>fn(r,e,()=>r.complete(),n),o=>fn(r,e,()=>r.error(o),n)))})}function Wh(e,n=0){return xe((t,r)=>{r.add(e.schedule(()=>t.subscribe(r),n))})}function Zh(e,n){if(!e)throw new Error("Iterable cannot be null");return new Ee(t=>{fn(t,n,()=>{const r=e[Symbol.asyncIterator]();fn(t,n,()=>{r.next().then(o=>{o.done?t.complete():t.next(o.value)})},0,!0)})})}function Ne(e,n){return n?function u0(e,n){if(null!=e){if(Lh(e))return function n0(e,n){return dt(e).pipe(Wh(n),qh(n))}(e,n);if(Fh(e))return function o0(e,n){return new Ee(t=>{let r=0;return n.schedule(function(){r===e.length?t.complete():(t.next(e[r++]),t.closed||this.schedule())})})}(e,n);if(kh(e))return function r0(e,n){return dt(e).pipe(Wh(n),qh(n))}(e,n);if(Vh(e))return Zh(e,n);if($h(e))return function s0(e,n){return new Ee(t=>{let r;return fn(t,n,()=>{r=e[Bh](),fn(t,n,()=>{let o,i;try{({value:o,done:i}=r.next())}catch(s){return void t.error(s)}i?t.complete():t.next(o)},0,!0)}),()=>le(r?.return)&&r.return()})}(e,n);if(Uh(e))return function a0(e,n){return Zh(Hh(e),n)}(e,n)}throw jh(e)}(e,n):dt(e)}class bt extends kt{constructor(n){super(),this._value=n}get value(){return this.getValue()}_subscribe(n){const t=super._subscribe(n);return!t.closed&&n.next(this._value),t}getValue(){const{hasError:n,thrownError:t,_value:r}=this;if(n)throw t;return this._throwIfClosed(),r}next(n){super.next(this._value=n)}}function B(...e){return Ne(e,$o(e))}function Yh(e={}){const{connector:n=(()=>new kt),resetOnError:t=!0,resetOnComplete:r=!0,resetOnRefCountZero:o=!0}=e;return i=>{let s,a,u,c=0,l=!1,d=!1;const g=()=>{a?.unsubscribe(),a=void 0},v=()=>{g(),s=u=void 0,l=d=!1},_=()=>{const y=s;v(),y?.unsubscribe()};return xe((y,C)=>{c++,!d&&!l&&g();const M=u=u??n();C.add(()=>{c--,0===c&&!d&&!l&&(a=cc(_,o))}),M.subscribe(C),!s&&c>0&&(s=new Bo({next:D=>M.next(D),error:D=>{d=!0,g(),a=cc(v,t,D),M.error(D)},complete:()=>{l=!0,g(),a=cc(v,r),M.complete()}}),dt(y).subscribe(s))})(i)}}function cc(e,n,...t){if(!0===n)return void e();if(!1===n)return;const r=new Bo({next:()=>{r.unsubscribe(),e()}});return dt(n(...t)).subscribe(r)}function Lt(e,n){return xe((t,r)=>{let o=null,i=0,s=!1;const a=()=>s&&!o&&r.complete();t.subscribe(Te(r,u=>{o?.unsubscribe();let c=0;const l=i++;dt(e(u,l)).subscribe(o=Te(r,d=>r.next(n?n(u,d,l,c++):d),()=>{o=null,a()}))},()=>{s=!0,a()}))})}function d0(e,n){return e===n}function ae(e){for(let n in e)if(e[n]===ae)return n;throw Error("Could not find renamed property on target object.")}function ws(e,n){for(const t in n)n.hasOwnProperty(t)&&!e.hasOwnProperty(t)&&(e[t]=n[t])}function Re(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(Re).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const n=e.toString();if(null==n)return""+n;const t=n.indexOf("\n");return-1===t?n:n.substring(0,t)}function lc(e,n){return null==e||""===e?null===n?"":n:null==n||""===n?e:e+" "+n}const f0=ae({__forward_ref__:ae});function fe(e){return e.__forward_ref__=fe,e.toString=function(){return Re(this())},e}function U(e){return dc(e)?e():e}function dc(e){return"function"==typeof e&&e.hasOwnProperty(f0)&&e.__forward_ref__===fe}function fc(e){return e&&!!e.\u0275providers}const Qh="https://g.co/ng/security#xss";class I extends Error{constructor(n,t){super(function bs(e,n){return`NG0${Math.abs(e)}${n?": "+n:""}`}(n,t)),this.code=n}}function G(e){return"string"==typeof e?e:null==e?"":String(e)}function hc(e,n){throw new I(-201,!1)}function Et(e,n){null==e&&function $(e,n,t,r){throw new Error(`ASSERTION ERROR: ${e}`+(null==r?"":` [Expected=> ${t} ${r} ${n} <=Actual]`))}(n,e,null,"!=")}function V(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function ht(e){return{providers:e.providers||[],imports:e.imports||[]}}function Es(e){return Xh(e,Ms)||Xh(e,Jh)}function Xh(e,n){return e.hasOwnProperty(n)?e[n]:null}function Is(e){return e&&(e.hasOwnProperty(pc)||e.hasOwnProperty(D0))?e[pc]:null}const Ms=ae({\u0275prov:ae}),pc=ae({\u0275inj:ae}),Jh=ae({ngInjectableDef:ae}),D0=ae({ngInjectorDef:ae});var X=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(X||{});let gc;function ot(e){const n=gc;return gc=e,n}function ep(e,n,t){const r=Es(e);return r&&"root"==r.providedIn?void 0===r.value?r.value=r.factory():r.value:t&X.Optional?null:void 0!==n?n:void hc(Re(e))}const he=globalThis;class P{constructor(n,t){this._desc=n,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=V({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const Ho={},Dc="__NG_DI_FLAG__",Ss="ngTempTokenPath",b0=/\n/gm,np="__source";let Sr;function On(e){const n=Sr;return Sr=e,n}function M0(e,n=X.Default){if(void 0===Sr)throw new I(-203,!1);return null===Sr?ep(e,void 0,n):Sr.get(e,n&X.Optional?null:void 0,n)}function k(e,n=X.Default){return(function Kh(){return gc}()||M0)(U(e),n)}function R(e,n=X.Default){return k(e,Ts(n))}function Ts(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Cc(e){const n=[];for(let t=0;tn){s=i-1;break}}}for(;ii?"":o[d+1].toLowerCase();const v=8&r?g:null;if(v&&-1!==sp(v,c,0)||2&r&&c!==g){if(jt(r))return!1;s=!0}}}}else{if(!s&&!jt(r)&&!jt(u))return!1;if(s&&jt(u))continue;s=!1,r=u|1&r}}return jt(r)||s}function jt(e){return 0==(1&e)}function O0(e,n,t,r){if(null===n)return-1;let o=0;if(r||!t){let i=!1;for(;o-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&r?o+="."+s:4&r&&(o+=" "+s);else""!==o&&!jt(s)&&(n+=hp(i,o),o=""),r=s,i=i||!jt(r);t++}return""!==o&&(n+=hp(i,o)),n}function Tr(e){return hn(()=>{const n=gp(e),t={...n,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===As.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||Vt.Emulated,styles:e.styles||te,_:null,schemas:e.schemas||null,tView:null,id:""};mp(t);const r=e.dependencies;return t.directiveDefs=Ns(r,!1),t.pipeDefs=Ns(r,!0),t.id=function q0(e){let n=0;const t=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery].join("|");for(const o of t)n=Math.imul(31,n)+o.charCodeAt(0)<<0;return n+=2147483648,"c"+n}(t),t})}function H0(e){return K(e)||Ve(e)}function U0(e){return null!==e}function It(e){return hn(()=>({type:e.type,bootstrap:e.bootstrap||te,declarations:e.declarations||te,imports:e.imports||te,exports:e.exports||te,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function pp(e,n){if(null==e)return Yt;const t={};for(const r in e)if(e.hasOwnProperty(r)){let o=e[r],i=o;Array.isArray(o)&&(i=o[1],o=o[0]),t[o]=r,n&&(n[o]=i)}return t}function z(e){return hn(()=>{const n=gp(e);return mp(n),n})}function Ze(e){return{type:e.type,name:e.name,factory:null,pure:!1!==e.pure,standalone:!0===e.standalone,onDestroy:e.type.prototype.ngOnDestroy||null}}function K(e){return e[xs]||null}function Ve(e){return e[wc]||null}function Ye(e){return e[bc]||null}function pt(e,n){const t=e[op]||null;if(!t&&!0===n)throw new Error(`Type ${Re(e)} does not have '\u0275mod' property.`);return t}function gp(e){const n={};return{type:e.type,providersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:n,inputTransforms:null,inputConfig:e.inputs||Yt,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||te,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:pp(e.inputs,n),outputs:pp(e.outputs)}}function mp(e){e.features?.forEach(n=>n(e))}function Ns(e,n){if(!e)return null;const t=n?Ye:H0;return()=>("function"==typeof e?e():e).map(r=>t(r)).filter(U0)}const Ce=0,N=1,Z=2,_e=3,Bt=4,qo=5,Ue=6,xr=7,Ie=8,Pn=9,Nr=10,q=11,Wo=12,vp=13,Rr=14,Me=15,Zo=16,Or=17,Qt=18,Yo=19,_p=20,Fn=21,gn=22,Qo=23,Xo=24,J=25,Ic=1,yp=2,Xt=7,Pr=9,je=11;function it(e){return Array.isArray(e)&&"object"==typeof e[Ic]}function Qe(e){return Array.isArray(e)&&!0===e[Ic]}function Mc(e){return 0!=(4&e.flags)}function rr(e){return e.componentOffset>-1}function Os(e){return 1==(1&e.flags)}function $t(e){return!!e.template}function Sc(e){return 0!=(512&e[Z])}function or(e,n){return e.hasOwnProperty(pn)?e[pn]:null}let Be=null,Ps=!1;function Mt(e){const n=Be;return Be=e,n}const wp={version:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{}};function Ep(e){if(!Ko(e)||e.dirty){if(!e.producerMustRecompute(e)&&!Sp(e))return void(e.dirty=!1);e.producerRecomputeValue(e),e.dirty=!1}}function Mp(e){e.dirty=!0,function Ip(e){if(void 0===e.liveConsumerNode)return;const n=Ps;Ps=!0;try{for(const t of e.liveConsumerNode)t.dirty||Mp(t)}finally{Ps=n}}(e),e.consumerMarkedDirty?.(e)}function Ac(e){return e&&(e.nextProducerIndex=0),Mt(e)}function xc(e,n){if(Mt(n),e&&void 0!==e.producerNode&&void 0!==e.producerIndexOfThis&&void 0!==e.producerLastReadVersion){if(Ko(e))for(let t=e.nextProducerIndex;te.nextProducerIndex;)e.producerNode.pop(),e.producerLastReadVersion.pop(),e.producerIndexOfThis.pop()}}function Sp(e){Fr(e);for(let n=0;n0}function Fr(e){e.producerNode??=[],e.producerIndexOfThis??=[],e.producerLastReadVersion??=[]}let Np=null;const Fp=()=>{},iI=(()=>({...wp,consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!1,consumerMarkedDirty:e=>{e.schedule(e.ref)},hasRun:!1,cleanupFn:Fp}))();class sI{constructor(n,t,r){this.previousValue=n,this.currentValue=t,this.firstChange=r}isFirstChange(){return this.firstChange}}function St(){return kp}function kp(e){return e.type.prototype.ngOnChanges&&(e.setInput=uI),aI}function aI(){const e=Vp(this),n=e?.current;if(n){const t=e.previous;if(t===Yt)e.previous=n;else for(let r in n)t[r]=n[r];e.current=null,this.ngOnChanges(n)}}function uI(e,n,t,r){const o=this.declaredInputs[t],i=Vp(e)||function cI(e,n){return e[Lp]=n}(e,{previous:Yt,current:null}),s=i.current||(i.current={}),a=i.previous,u=a[o];s[o]=new sI(u&&u.currentValue,n,a===Yt),e[r]=n}St.ngInherit=!0;const Lp="__ngSimpleChanges__";function Vp(e){return e[Lp]||null}const Jt=function(e,n,t){};function pe(e){for(;Array.isArray(e);)e=e[Ce];return e}function ks(e,n){return pe(n[e])}function st(e,n){return pe(n[e.index])}function $p(e,n){return e.data[n]}function gt(e,n){const t=n[e];return it(t)?t:t[Ce]}function Ln(e,n){return null==n?null:e[n]}function Hp(e){e[Or]=0}function gI(e){1024&e[Z]||(e[Z]|=1024,zp(e,1))}function Up(e){1024&e[Z]&&(e[Z]&=-1025,zp(e,-1))}function zp(e,n){let t=e[_e];if(null===t)return;t[qo]+=n;let r=t;for(t=t[_e];null!==t&&(1===n&&1===r[qo]||-1===n&&0===r[qo]);)t[qo]+=n,r=t,t=t[_e]}const H={lFrame:tg(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function Wp(){return H.bindingsEnabled}function w(){return H.lFrame.lView}function ee(){return H.lFrame.tView}function Tt(e){return H.lFrame.contextLView=e,e[Ie]}function At(e){return H.lFrame.contextLView=null,e}function $e(){let e=Zp();for(;null!==e&&64===e.type;)e=e.parent;return e}function Zp(){return H.lFrame.currentTNode}function Kt(e,n){const t=H.lFrame;t.currentTNode=e,t.isParent=n}function Fc(){return H.lFrame.isParent}function kc(){H.lFrame.isParent=!1}function Xe(){const e=H.lFrame;let n=e.bindingRootIndex;return-1===n&&(n=e.bindingRootIndex=e.tView.bindingStartIndex),n}function Vr(){return H.lFrame.bindingIndex++}function SI(e,n){const t=H.lFrame;t.bindingIndex=t.bindingRootIndex=e,Lc(n)}function Lc(e){H.lFrame.currentDirectiveIndex=e}function jc(e){H.lFrame.currentQueryIndex=e}function AI(e){const n=e[N];return 2===n.type?n.declTNode:1===n.type?e[Ue]:null}function Kp(e,n,t){if(t&X.SkipSelf){let o=n,i=e;for(;!(o=o.parent,null!==o||t&X.Host||(o=AI(i),null===o||(i=i[Rr],10&o.type))););if(null===o)return!1;n=o,e=i}const r=H.lFrame=eg();return r.currentTNode=n,r.lView=e,!0}function Bc(e){const n=eg(),t=e[N];H.lFrame=n,n.currentTNode=t.firstChild,n.lView=e,n.tView=t,n.contextLView=e,n.bindingIndex=t.bindingStartIndex,n.inI18n=!1}function eg(){const e=H.lFrame,n=null===e?null:e.child;return null===n?tg(e):n}function tg(e){const n={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return null!==e&&(e.child=n),n}function ng(){const e=H.lFrame;return H.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const rg=ng;function $c(){const e=ng();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function Je(){return H.lFrame.selectedIndex}function ir(e){H.lFrame.selectedIndex=e}function De(){const e=H.lFrame;return $p(e.tView,e.selectedIndex)}let ig=!0;function Ls(){return ig}function Vn(e){ig=e}function Vs(e,n){for(let t=n.directiveStart,r=n.directiveEnd;t=r)break}else n[u]<0&&(e[Or]+=65536),(a>13>16&&(3&e[Z])===n&&(e[Z]+=8192,ag(a,i)):ag(a,i)}const jr=-1;class ti{constructor(n,t,r){this.factory=n,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=r}}function zc(e){return e!==jr}function ni(e){return 32767&e}function ri(e,n){let t=function $I(e){return e>>16}(e),r=n;for(;t>0;)r=r[Rr],t--;return r}let Gc=!0;function $s(e){const n=Gc;return Gc=e,n}const ug=255,cg=5;let HI=0;const en={};function Hs(e,n){const t=lg(e,n);if(-1!==t)return t;const r=n[N];r.firstCreatePass&&(e.injectorIndex=n.length,qc(r.data,e),qc(n,null),qc(r.blueprint,null));const o=Us(e,n),i=e.injectorIndex;if(zc(o)){const s=ni(o),a=ri(o,n),u=a[N].data;for(let c=0;c<8;c++)n[i+c]=a[s+c]|u[s+c]}return n[i+8]=o,i}function qc(e,n){e.push(0,0,0,0,0,0,0,0,n)}function lg(e,n){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===n[e.injectorIndex+8]?-1:e.injectorIndex}function Us(e,n){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let t=0,r=null,o=n;for(;null!==o;){if(r=vg(o),null===r)return jr;if(t++,o=o[Rr],-1!==r.injectorIndex)return r.injectorIndex|t<<16}return jr}function Wc(e,n,t){!function UI(e,n,t){let r;"string"==typeof t?r=t.charCodeAt(0)||0:t.hasOwnProperty(zo)&&(r=t[zo]),null==r&&(r=t[zo]=HI++);const o=r&ug;n.data[e+(o>>cg)]|=1<=0?n&ug:ZI:n}(t);if("function"==typeof i){if(!Kp(n,e,r))return r&X.Host?dg(o,0,r):fg(n,t,r,o);try{let s;if(s=i(r),null!=s||r&X.Optional)return s;hc()}finally{rg()}}else if("number"==typeof i){let s=null,a=lg(e,n),u=jr,c=r&X.Host?n[Me][Ue]:null;for((-1===a||r&X.SkipSelf)&&(u=-1===a?Us(e,n):n[a+8],u!==jr&&mg(r,!1)?(s=n[N],a=ni(u),n=ri(u,n)):a=-1);-1!==a;){const l=n[N];if(gg(i,a,l.data)){const d=GI(a,n,t,s,r,c);if(d!==en)return d}u=n[a+8],u!==jr&&mg(r,n[N].data[a+8]===c)&&gg(i,a,n)?(s=l,a=ni(u),n=ri(u,n)):a=-1}}return o}function GI(e,n,t,r,o,i){const s=n[N],a=s.data[e+8],l=function zs(e,n,t,r,o){const i=e.providerIndexes,s=n.data,a=1048575&i,u=e.directiveStart,l=i>>20,g=o?a+l:e.directiveEnd;for(let v=r?a:a+l;v=u&&_.type===t)return v}if(o){const v=s[u];if(v&&$t(v)&&v.type===t)return u}return null}(a,s,t,null==r?rr(a)&&Gc:r!=s&&0!=(3&a.type),o&X.Host&&i===a);return null!==l?sr(n,s,l,a):en}function sr(e,n,t,r){let o=e[t];const i=n.data;if(function VI(e){return e instanceof ti}(o)){const s=o;s.resolving&&function h0(e,n){const t=n?`. Dependency path: ${n.join(" > ")} > ${e}`:"";throw new I(-200,`Circular dependency in DI detected for ${e}${t}`)}(function se(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():G(e)}(i[t]));const a=$s(s.canSeeViewProviders);s.resolving=!0;const c=s.injectImpl?ot(s.injectImpl):null;Kp(e,r,X.Default);try{o=e[t]=s.factory(void 0,i,e,r),n.firstCreatePass&&t>=r.directiveStart&&function kI(e,n,t){const{ngOnChanges:r,ngOnInit:o,ngDoCheck:i}=n.type.prototype;if(r){const s=kp(n);(t.preOrderHooks??=[]).push(e,s),(t.preOrderCheckHooks??=[]).push(e,s)}o&&(t.preOrderHooks??=[]).push(0-e,o),i&&((t.preOrderHooks??=[]).push(e,i),(t.preOrderCheckHooks??=[]).push(e,i))}(t,i[t],n)}finally{null!==c&&ot(c),$s(a),s.resolving=!1,rg()}}return o}function gg(e,n,t){return!!(t[n+(e>>cg)]&1<{const n=e.prototype.constructor,t=n[pn]||Zc(n),r=Object.prototype;let o=Object.getPrototypeOf(e.prototype).constructor;for(;o&&o!==r;){const i=o[pn]||Zc(o);if(i&&i!==t)return i;o=Object.getPrototypeOf(o)}return i=>new i})}function Zc(e){return dc(e)?()=>{const n=Zc(U(e));return n&&n()}:or(e)}function vg(e){const n=e[N],t=n.type;return 2===t?n.declTNode:1===t?e[Ue]:null}const $r="__parameters__";function Ur(e,n,t){return hn(()=>{const r=function Yc(e){return function(...t){if(e){const r=e(...t);for(const o in r)this[o]=r[o]}}}(n);function o(...i){if(this instanceof o)return r.apply(this,i),this;const s=new o(...i);return a.annotation=s,a;function a(u,c,l){const d=u.hasOwnProperty($r)?u[$r]:Object.defineProperty(u,$r,{value:[]})[$r];for(;d.length<=l;)d.push(null);return(d[l]=d[l]||[]).push(s),u}}return t&&(o.prototype=Object.create(t.prototype)),o.prototype.ngMetadataName=e,o.annotationCls=o,o})}function Gr(e,n){e.forEach(t=>Array.isArray(t)?Gr(t,n):n(t))}function yg(e,n,t){n>=e.length?e.push(t):e.splice(n,0,t)}function qs(e,n){return n>=e.length-1?e.pop():e.splice(n,1)[0]}function mt(e,n,t){let r=qr(e,n);return r>=0?e[1|r]=t:(r=~r,function n1(e,n,t,r){let o=e.length;if(o==n)e.push(t,r);else if(1===o)e.push(r,e[0]),e[0]=t;else{for(o--,e.push(e[o-1],e[o]);o>n;)e[o]=e[o-2],o--;e[n]=t,e[n+1]=r}}(e,r,n,t)),r}function Qc(e,n){const t=qr(e,n);if(t>=0)return e[1|t]}function qr(e,n){return function Dg(e,n,t){let r=0,o=e.length>>t;for(;o!==r;){const i=r+(o-r>>1),s=e[i<n?o=i:r=i+1}return~(o<|^->||--!>|)/g,I1="\u200b$1\u200b";const tl=new Map;let M1=0;const rl="__ngContext__";function ze(e,n){it(n)?(e[rl]=n[Yo],function T1(e){tl.set(e[Yo],e)}(n)):e[rl]=n}let ol;function il(e,n){return ol(e,n)}function ci(e){const n=e[_e];return Qe(n)?n[_e]:n}function Bg(e){return Hg(e[Wo])}function $g(e){return Hg(e[Bt])}function Hg(e){for(;null!==e&&!Qe(e);)e=e[Bt];return e}function Yr(e,n,t,r,o){if(null!=r){let i,s=!1;Qe(r)?i=r:it(r)&&(s=!0,r=r[Ce]);const a=pe(r);0===e&&null!==t?null==o?qg(n,t,a):ar(n,t,a,o||null,!0):1===e&&null!==t?ar(n,t,a,o||null,!0):2===e?function aa(e,n,t){const r=ia(e,n);r&&function W1(e,n,t,r){e.removeChild(n,t,r)}(e,r,n,t)}(n,a,s):3===e&&n.destroyNode(a),null!=i&&function Q1(e,n,t,r,o){const i=t[Xt];i!==pe(t)&&Yr(n,e,r,i,o);for(let a=je;an.replace(E1,I1))}(n))}function ra(e,n,t){return e.createElement(n,t)}function zg(e,n){const t=e[Pr],r=t.indexOf(n);Up(n),t.splice(r,1)}function oa(e,n){if(e.length<=je)return;const t=je+n,r=e[t];if(r){const o=r[Zo];null!==o&&o!==e&&zg(o,r),n>0&&(e[t-1][Bt]=r[Bt]);const i=qs(e,je+n);!function j1(e,n){di(e,n,n[q],2,null,null),n[Ce]=null,n[Ue]=null}(r[N],r);const s=i[Qt];null!==s&&s.detachView(i[N]),r[_e]=null,r[Bt]=null,r[Z]&=-129}return r}function al(e,n){if(!(256&n[Z])){const t=n[q];n[Qo]&&Tp(n[Qo]),n[Xo]&&Tp(n[Xo]),t.destroyNode&&di(e,n,t,3,null,null),function H1(e){let n=e[Wo];if(!n)return ul(e[N],e);for(;n;){let t=null;if(it(n))t=n[Wo];else{const r=n[je];r&&(t=r)}if(!t){for(;n&&!n[Bt]&&n!==e;)it(n)&&ul(n[N],n),n=n[_e];null===n&&(n=e),it(n)&&ul(n[N],n),t=n&&n[Bt]}n=t}}(n)}}function ul(e,n){if(!(256&n[Z])){n[Z]&=-129,n[Z]|=256,function q1(e,n){let t;if(null!=e&&null!=(t=e.destroyHooks))for(let r=0;r=0?r[s]():r[-s].unsubscribe(),i+=2}else t[i].call(r[t[i+1]]);null!==r&&(n[xr]=null);const o=n[Fn];if(null!==o){n[Fn]=null;for(let i=0;i-1){const{encapsulation:i}=e.data[r.directiveStart+o];if(i===Vt.None||i===Vt.Emulated)return null}return st(r,t)}}(e,n.parent,t)}function ar(e,n,t,r,o){e.insertBefore(n,t,r,o)}function qg(e,n,t){e.appendChild(n,t)}function Wg(e,n,t,r,o){null!==r?ar(e,n,t,r,o):qg(e,n,t)}function ia(e,n){return e.parentNode(n)}let ll,pl,Qg=function Yg(e,n,t){return 40&e.type?st(e,t):null};function sa(e,n,t,r){const o=cl(e,r,n),i=n[q],a=function Zg(e,n,t){return Qg(e,n,t)}(r.parent||n[Ue],r,n);if(null!=o)if(Array.isArray(t))for(let u=0;u{t.push(s)};return Gr(n,s=>{const a=s;da(a,i,[],r)&&(o||=[],o.push(a))}),void 0!==o&&_m(o,i),t}function _m(e,n){for(let t=0;t{n(i,r)})}}function da(e,n,t,r){if(!(e=U(e)))return!1;let o=null,i=Is(e);const s=!i&&K(e);if(i||s){if(s&&!s.standalone)return!1;o=e}else{const u=e.ngModule;if(i=Is(u),!i)return!1;o=u}const a=r.has(o);if(s){if(a)return!1;if(r.add(o),s.dependencies){const u="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const c of u)da(c,n,t,r)}}else{if(!i)return!1;{if(null!=i.imports&&!a){let c;r.add(o);try{Gr(i.imports,l=>{da(l,n,t,r)&&(c||=[],c.push(l))})}finally{}void 0!==c&&_m(c,n)}if(!a){const c=or(o)||(()=>new o);n({provide:o,useFactory:c,deps:te},o),n({provide:mm,useValue:o,multi:!0},o),n({provide:gi,useValue:()=>k(o),multi:!0},o)}const u=i.providers;if(null!=u&&!a){const c=e;wl(u,l=>{n(l,c)})}}}return o!==e&&void 0!==e.providers}function wl(e,n){for(let t of e)fc(t)&&(t=t.\u0275providers),Array.isArray(t)?wl(t,n):n(t)}const MM=ae({provide:String,useValue:ae});function bl(e){return null!==e&&"object"==typeof e&&MM in e}function ur(e){return"function"==typeof e}const El=new P("Set Injector scope."),fa={},TM={};let Il;function ha(){return void 0===Il&&(Il=new Dl),Il}class vt{}class Kr extends vt{get destroyed(){return this._destroyed}constructor(n,t,r,o){super(),this.parent=t,this.source=r,this.scopes=o,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,Sl(n,s=>this.processProvider(s)),this.records.set(gm,eo(void 0,this)),o.has("environment")&&this.records.set(vt,eo(void 0,this));const i=this.records.get(El);null!=i&&"string"==typeof i.value&&this.scopes.add(i.value),this.injectorDefTypes=new Set(this.get(mm.multi,te,X.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const t of this._ngOnDestroyHooks)t.ngOnDestroy();const n=this._onDestroyHooks;this._onDestroyHooks=[];for(const t of n)t()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(n){return this.assertNotDestroyed(),this._onDestroyHooks.push(n),()=>this.removeOnDestroy(n)}runInContext(n){this.assertNotDestroyed();const t=On(this),r=ot(void 0);try{return n()}finally{On(t),ot(r)}}get(n,t=Ho,r=X.Default){if(this.assertNotDestroyed(),n.hasOwnProperty(ip))return n[ip](this);r=Ts(r);const i=On(this),s=ot(void 0);try{if(!(r&X.SkipSelf)){let u=this.records.get(n);if(void 0===u){const c=function OM(e){return"function"==typeof e||"object"==typeof e&&e instanceof P}(n)&&Es(n);u=c&&this.injectableDefInScope(c)?eo(Ml(n),fa):null,this.records.set(n,u)}if(null!=u)return this.hydrate(n,u)}return(r&X.Self?ha():this.parent).get(n,t=r&X.Optional&&t===Ho?null:t)}catch(a){if("NullInjectorError"===a.name){if((a[Ss]=a[Ss]||[]).unshift(Re(n)),i)throw a;return function T0(e,n,t,r){const o=e[Ss];throw n[np]&&o.unshift(n[np]),e.message=function A0(e,n,t,r=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let o=Re(n);if(Array.isArray(n))o=n.map(Re).join(" -> ");else if("object"==typeof n){let i=[];for(let s in n)if(n.hasOwnProperty(s)){let a=n[s];i.push(s+":"+("string"==typeof a?JSON.stringify(a):Re(a)))}o=`{${i.join(", ")}}`}return`${t}${r?"("+r+")":""}[${o}]: ${e.replace(b0,"\n ")}`}("\n"+e.message,o,t,r),e.ngTokenPath=o,e[Ss]=null,e}(a,n,"R3InjectorError",this.source)}throw a}finally{ot(s),On(i)}}resolveInjectorInitializers(){const n=On(this),t=ot(void 0);try{const o=this.get(gi.multi,te,X.Self);for(const i of o)i()}finally{On(n),ot(t)}}toString(){const n=[],t=this.records;for(const r of t.keys())n.push(Re(r));return`R3Injector[${n.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new I(205,!1)}processProvider(n){let t=ur(n=U(n))?n:U(n&&n.provide);const r=function xM(e){return bl(e)?eo(void 0,e.useValue):eo(Cm(e),fa)}(n);if(ur(n)||!0!==n.multi)this.records.get(t);else{let o=this.records.get(t);o||(o=eo(void 0,fa,!0),o.factory=()=>Cc(o.multi),this.records.set(t,o)),t=n,o.multi.push(n)}this.records.set(t,r)}hydrate(n,t){return t.value===fa&&(t.value=TM,t.value=t.factory()),"object"==typeof t.value&&t.value&&function RM(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}injectableDefInScope(n){if(!n.providedIn)return!1;const t=U(n.providedIn);return"string"==typeof t?"any"===t||this.scopes.has(t):this.injectorDefTypes.has(t)}removeOnDestroy(n){const t=this._onDestroyHooks.indexOf(n);-1!==t&&this._onDestroyHooks.splice(t,1)}}function Ml(e){const n=Es(e),t=null!==n?n.factory:or(e);if(null!==t)return t;if(e instanceof P)throw new I(204,!1);if(e instanceof Function)return function AM(e){const n=e.length;if(n>0)throw function si(e,n){const t=[];for(let r=0;rt.factory(e):()=>new e}(e);throw new I(204,!1)}function Cm(e,n,t){let r;if(ur(e)){const o=U(e);return or(o)||Ml(o)}if(bl(e))r=()=>U(e.useValue);else if(function Dm(e){return!(!e||!e.useFactory)}(e))r=()=>e.useFactory(...Cc(e.deps||[]));else if(function ym(e){return!(!e||!e.useExisting)}(e))r=()=>k(U(e.useExisting));else{const o=U(e&&(e.useClass||e.provide));if(!function NM(e){return!!e.deps}(e))return or(o)||Ml(o);r=()=>new o(...Cc(e.deps))}return r}function eo(e,n,t=!1){return{factory:e,value:n,multi:t?[]:void 0}}function Sl(e,n){for(const t of e)Array.isArray(t)?Sl(t,n):t&&fc(t)?Sl(t.\u0275providers,n):n(t)}const pa=new P("AppId",{providedIn:"root",factory:()=>PM}),PM="ng",wm=new P("Platform Initializer"),cr=new P("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),bm=new P("CSP nonce",{providedIn:"root",factory:()=>function Xr(){if(void 0!==pl)return pl;if(typeof document<"u")return document;throw new I(210,!1)}().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let Em=(e,n,t)=>null;function Fl(e,n,t=!1){return Em(e,n,t)}class zM{}class Sm{}class qM{resolveComponentFactory(n){throw function GM(e){const n=Error(`No component factory found for ${Re(e)}.`);return n.ngComponent=e,n}(n)}}let Da=(()=>{class e{static#e=this.NULL=new qM}return e})();function WM(){return ro($e(),w())}function ro(e,n){return new _t(st(e,n))}let _t=(()=>{class e{constructor(t){this.nativeElement=t}static#e=this.__NG_ELEMENT_ID__=WM}return e})();class Am{}let yn=(()=>{class e{constructor(){this.destroyNode=null}static#e=this.__NG_ELEMENT_ID__=()=>function YM(){const e=w(),t=gt($e().index,e);return(it(t)?t:e)[q]}()}return e})(),QM=(()=>{class e{static#e=this.\u0275prov=V({token:e,providedIn:"root",factory:()=>null})}return e})();class _i{constructor(n){this.full=n,this.major=n.split(".")[0],this.minor=n.split(".")[1],this.patch=n.split(".").slice(2).join(".")}}const XM=new _i("16.2.12"),Vl={};function Om(e,n=null,t=null,r){const o=Pm(e,n,t,r);return o.resolveInjectorInitializers(),o}function Pm(e,n=null,t=null,r,o=new Set){const i=[t||te,IM(e)];return r=r||("object"==typeof e?void 0:Re(e)),new Kr(i,n||ha(),r||null,o)}let yt=(()=>{class e{static#e=this.THROW_IF_NOT_FOUND=Ho;static#t=this.NULL=new Dl;static create(t,r){if(Array.isArray(t))return Om({name:""},r,t,"");{const o=t.name??"";return Om({name:o},t.parent,t.providers,o)}}static#n=this.\u0275prov=V({token:e,providedIn:"any",factory:()=>k(gm)});static#r=this.__NG_ELEMENT_ID__=-1}return e})();function Bl(e){return e.ngOriginalError}class Dn{constructor(){this._console=console}handleError(n){const t=this._findOriginalError(n);this._console.error("ERROR",n),t&&this._console.error("ORIGINAL ERROR",t)}_findOriginalError(n){let t=n&&Bl(n);for(;t&&Bl(t);)t=Bl(t);return t||null}}function Hl(e){return n=>{setTimeout(e,void 0,n)}}const we=class oS extends kt{constructor(n=!1){super(),this.__isAsync=n}emit(n){super.next(n)}subscribe(n,t,r){let o=n,i=t||(()=>null),s=r;if(n&&"object"==typeof n){const u=n;o=u.next?.bind(u),i=u.error?.bind(u),s=u.complete?.bind(u)}this.__isAsync&&(i=Hl(i),o&&(o=Hl(o)),s&&(s=Hl(s)));const a=super.subscribe({next:o,error:i,complete:s});return n instanceof lt&&n.add(a),a}};function km(...e){}class ge{constructor({enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:r=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new we(!1),this.onMicrotaskEmpty=new we(!1),this.onStable=new we(!1),this.onError=new we(!1),typeof Zone>"u")throw new I(908,!1);Zone.assertZonePatched();const o=this;o._nesting=0,o._outer=o._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(o._inner=o._inner.fork(new Zone.TaskTrackingZoneSpec)),n&&Zone.longStackTraceZoneSpec&&(o._inner=o._inner.fork(Zone.longStackTraceZoneSpec)),o.shouldCoalesceEventChangeDetection=!r&&t,o.shouldCoalesceRunChangeDetection=r,o.lastRequestAnimationFrameId=-1,o.nativeRequestAnimationFrame=function iS(){const e="function"==typeof he.requestAnimationFrame;let n=he[e?"requestAnimationFrame":"setTimeout"],t=he[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&n&&t){const r=n[Zone.__symbol__("OriginalDelegate")];r&&(n=r);const o=t[Zone.__symbol__("OriginalDelegate")];o&&(t=o)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:t}}().nativeRequestAnimationFrame,function uS(e){const n=()=>{!function aS(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(he,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,zl(e),e.isCheckStableRunning=!0,Ul(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),zl(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,r,o,i,s,a)=>{if(function lS(e){return!(!Array.isArray(e)||1!==e.length)&&!0===e[0].data?.__ignore_ng_zone__}(a))return t.invokeTask(o,i,s,a);try{return Lm(e),t.invokeTask(o,i,s,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===i.type||e.shouldCoalesceRunChangeDetection)&&n(),Vm(e)}},onInvoke:(t,r,o,i,s,a,u)=>{try{return Lm(e),t.invoke(o,i,s,a,u)}finally{e.shouldCoalesceRunChangeDetection&&n(),Vm(e)}},onHasTask:(t,r,o,i)=>{t.hasTask(o,i),r===o&&("microTask"==i.change?(e._hasPendingMicrotasks=i.microTask,zl(e),Ul(e)):"macroTask"==i.change&&(e.hasPendingMacrotasks=i.macroTask))},onHandleError:(t,r,o,i)=>(t.handleError(o,i),e.runOutsideAngular(()=>e.onError.emit(i)),!1)})}(o)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!ge.isInAngularZone())throw new I(909,!1)}static assertNotInAngularZone(){if(ge.isInAngularZone())throw new I(909,!1)}run(n,t,r){return this._inner.run(n,t,r)}runTask(n,t,r,o){const i=this._inner,s=i.scheduleEventTask("NgZoneEvent: "+o,n,sS,km,km);try{return i.runTask(s,t,r)}finally{i.cancelTask(s)}}runGuarded(n,t,r){return this._inner.runGuarded(n,t,r)}runOutsideAngular(n){return this._outer.run(n)}}const sS={};function Ul(e){if(0==e._nesting&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function zl(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function Lm(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function Vm(e){e._nesting--,Ul(e)}class cS{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new we,this.onMicrotaskEmpty=new we,this.onStable=new we,this.onError=new we}run(n,t,r){return n.apply(t,r)}runGuarded(n,t,r){return n.apply(t,r)}runOutsideAngular(n){return n()}runTask(n,t,r,o){return n.apply(t,r)}}const jm=new P("",{providedIn:"root",factory:Bm});function Bm(){const e=R(ge);let n=!0;return function c0(...e){const n=$o(e),t=function t0(e,n){return"number"==typeof uc(e)?e.pop():n}(e,1/0),r=e;return r.length?1===r.length?dt(r[0]):Mr(t)(Ne(r,n)):Zt}(new Ee(o=>{n=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{o.next(n),o.complete()})}),new Ee(o=>{let i;e.runOutsideAngular(()=>{i=e.onStable.subscribe(()=>{ge.assertNotInAngularZone(),queueMicrotask(()=>{!n&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(n=!0,o.next(!0))})})});const s=e.onUnstable.subscribe(()=>{ge.assertInAngularZone(),n&&(n=!1,e.runOutsideAngular(()=>{o.next(!1)}))});return()=>{i.unsubscribe(),s.unsubscribe()}}).pipe(Yh()))}function Cn(e){return e instanceof Function?e():e}let Gl=(()=>{class e{constructor(){this.renderDepth=0,this.handler=null}begin(){this.handler?.validateBegin(),this.renderDepth++}end(){this.renderDepth--,0===this.renderDepth&&this.handler?.execute()}ngOnDestroy(){this.handler?.destroy(),this.handler=null}static#e=this.\u0275prov=V({token:e,providedIn:"root",factory:()=>new e})}return e})();function yi(e){for(;e;){e[Z]|=64;const n=ci(e);if(Sc(e)&&!n)return e;e=n}return null}const Gm=new P("",{providedIn:"root",factory:()=>!1});let wa=null;function Ym(e,n){return e[n]??Jm()}function Qm(e,n){const t=Jm();t.producerNode?.length&&(e[n]=wa,t.lView=e,wa=Xm())}const DS={...wp,consumerIsAlwaysLive:!0,consumerMarkedDirty:e=>{yi(e.lView)},lView:null};function Xm(){return Object.create(DS)}function Jm(){return wa??=Xm(),wa}const W={};function m(e){Km(ee(),w(),Je()+e,!1)}function Km(e,n,t,r){if(!r)if(3==(3&n[Z])){const i=e.preOrderCheckHooks;null!==i&&js(n,i,t)}else{const i=e.preOrderHooks;null!==i&&Bs(n,i,0,t)}ir(t)}function b(e,n=X.Default){const t=w();return null===t?k(e,n):hg($e(),t,U(e),n)}function ba(e,n,t,r,o,i,s,a,u,c,l){const d=n.blueprint.slice();return d[Ce]=o,d[Z]=140|r,(null!==c||e&&2048&e[Z])&&(d[Z]|=2048),Hp(d),d[_e]=d[Rr]=e,d[Ie]=t,d[Nr]=s||e&&e[Nr],d[q]=a||e&&e[q],d[Pn]=u||e&&e[Pn]||null,d[Ue]=i,d[Yo]=function S1(){return M1++}(),d[gn]=l,d[_p]=c,d[Me]=2==n.type?e[Me]:d,d}function so(e,n,t,r,o){let i=e.data[n];if(null===i)i=function ql(e,n,t,r,o){const i=Zp(),s=Fc(),u=e.data[n]=function TS(e,n,t,r,o,i){let s=n?n.injectorIndex:-1,a=0;return function Lr(){return null!==H.skipHydrationRootTNode}()&&(a|=128),{type:t,index:r,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:o,attrs:i,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:n,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,s?i:i&&i.parent,t,n,r,o);return null===e.firstChild&&(e.firstChild=u),null!==i&&(s?null==i.child&&null!==u.parent&&(i.child=u):null===i.next&&(i.next=u,u.prev=i)),u}(e,n,t,r,o),function MI(){return H.lFrame.inI18n}()&&(i.flags|=32);else if(64&i.type){i.type=t,i.value=r,i.attrs=o;const s=function ei(){const e=H.lFrame,n=e.currentTNode;return e.isParent?n:n.parent}();i.injectorIndex=null===s?-1:s.injectorIndex}return Kt(i,!0),i}function Di(e,n,t,r){if(0===t)return-1;const o=n.length;for(let i=0;iJ&&Km(e,n,J,!1),Jt(a?2:0,o);const c=a?i:null,l=Ac(c);try{null!==c&&(c.dirty=!1),t(r,o)}finally{xc(c,l)}}finally{a&&null===n[Qo]&&Qm(n,Qo),ir(s),Jt(a?3:1,o)}}function Wl(e,n,t){if(Mc(n)){const r=Mt(null);try{const i=n.directiveEnd;for(let s=n.directiveStart;snull;function ov(e,n,t,r){for(let o in e)if(e.hasOwnProperty(o)){t=null===t?{}:t;const i=e[o];null===r?iv(t,n,o,i):r.hasOwnProperty(o)&&iv(t,n,r[o],i)}return t}function iv(e,n,t,r){e.hasOwnProperty(t)?e[t].push(n,r):e[t]=[n,r]}function Dt(e,n,t,r,o,i,s,a){const u=st(n,t);let l,c=n.inputs;!a&&null!=c&&(l=c[r])?(td(e,t,l,r,o),rr(n)&&function NS(e,n){const t=gt(n,e);16&t[Z]||(t[Z]|=64)}(t,n.index)):3&n.type&&(r=function xS(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(r),o=null!=s?s(o,n.value||"",r):o,i.setProperty(u,r,o))}function Xl(e,n,t,r){if(Wp()){const o=null===r?null:{"":-1},i=function LS(e,n){const t=e.directiveRegistry;let r=null,o=null;if(t)for(let i=0;i0;){const t=e[--n];if("number"==typeof t&&t<0)return t}return 0})(s)!=a&&s.push(a),s.push(t,r,i)}}(e,n,r,Di(e,t,o.hostVars,W),o)}function US(e,n,t,r,o,i){const s=i[n];if(null!==s)for(let a=0;a{class e{constructor(){this.all=new Set,this.queue=new Map}create(t,r,o){const i=typeof Zone>"u"?null:Zone.current,s=function oI(e,n,t){const r=Object.create(iI);t&&(r.consumerAllowSignalWrites=!0),r.fn=e,r.schedule=n;const o=s=>{r.cleanupFn=s};return r.ref={notify:()=>Mp(r),run:()=>{if(r.dirty=!1,r.hasRun&&!Sp(r))return;r.hasRun=!0;const s=Ac(r);try{r.cleanupFn(),r.cleanupFn=Fp,r.fn(o)}finally{xc(r,s)}},cleanup:()=>r.cleanupFn()},r.ref}(t,c=>{this.all.has(c)&&this.queue.set(c,i)},o);let a;this.all.add(s),s.notify();const u=()=>{s.cleanup(),a?.(),this.all.delete(s),this.queue.delete(s)};return a=r?.onDestroy(u),{destroy:u}}flush(){if(0!==this.queue.size)for(const[t,r]of this.queue)this.queue.delete(t),r?r.run(()=>t.run()):t.run()}get isQueueEmpty(){return 0===this.queue.size}static#e=this.\u0275prov=V({token:e,providedIn:"root",factory:()=>new e})}return e})();function Ia(e,n,t){let r=t?e.styles:null,o=t?e.classes:null,i=0;if(null!==n)for(let s=0;s0){_v(e,1);const o=t.components;null!==o&&Dv(e,o,1)}}function Dv(e,n,t){for(let r=0;r-1&&(oa(n,r),qs(t,r))}this._attachedToViewContainer=!1}al(this._lView[N],this._lView)}onDestroy(n){!function Gp(e,n){if(256==(256&e[Z]))throw new I(911,!1);null===e[Fn]&&(e[Fn]=[]),e[Fn].push(n)}(this._lView,n)}markForCheck(){yi(this._cdRefInjectingView||this._lView)}detach(){this._lView[Z]&=-129}reattach(){this._lView[Z]|=128}detectChanges(){Ma(this._lView[N],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new I(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function $1(e,n){di(e,n,n[q],2,null,null)}(this._lView[N],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new I(902,!1);this._appRef=n}}class JS extends wi{constructor(n){super(n),this._view=n}detectChanges(){const n=this._view;Ma(n[N],n,n[Ie],!1)}checkNoChanges(){}get context(){return null}}class Cv extends Da{constructor(n){super(),this.ngModule=n}resolveComponentFactory(n){const t=K(n);return new bi(t,this.ngModule)}}function wv(e){const n=[];for(let t in e)e.hasOwnProperty(t)&&n.push({propName:e[t],templateName:t});return n}class eT{constructor(n,t){this.injector=n,this.parentInjector=t}get(n,t,r){r=Ts(r);const o=this.injector.get(n,Vl,r);return o!==Vl||t===Vl?o:this.parentInjector.get(n,t,r)}}class bi extends Sm{get inputs(){const n=this.componentDef,t=n.inputTransforms,r=wv(n.inputs);if(null!==t)for(const o of r)t.hasOwnProperty(o.propName)&&(o.transform=t[o.propName]);return r}get outputs(){return wv(this.componentDef.outputs)}constructor(n,t){super(),this.componentDef=n,this.ngModule=t,this.componentType=n.type,this.selector=function j0(e){return e.map(V0).join(",")}(n.selectors),this.ngContentSelectors=n.ngContentSelectors?n.ngContentSelectors:[],this.isBoundToModule=!!t}create(n,t,r,o){let i=(o=o||this.ngModule)instanceof vt?o:o?.injector;i&&null!==this.componentDef.getStandaloneInjector&&(i=this.componentDef.getStandaloneInjector(i)||i);const s=i?new eT(n,i):n,a=s.get(Am,null);if(null===a)throw new I(407,!1);const d={rendererFactory:a,sanitizer:s.get(QM,null),effectManager:s.get(gv,null),afterRenderEventManager:s.get(Gl,null)},g=a.createRenderer(null,this.componentDef),v=this.componentDef.selectors[0][0]||"div",_=r?function bS(e,n,t,r){const i=r.get(Gm,!1)||t===Vt.ShadowDom,s=e.selectRootElement(n,i);return function ES(e){rv(e)}(s),s}(g,r,this.componentDef.encapsulation,s):ra(g,v,function KS(e){const n=e.toLowerCase();return"svg"===n?"svg":"math"===n?"math":null}(v)),M=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let D=null;null!==_&&(D=Fl(_,s,!0));const O=Ql(0,null,null,1,0,null,null,null,null,null,null),j=ba(null,O,null,M,null,null,d,g,s,null,D);let Q,ke;Bc(j);try{const dn=this.componentDef;let Ir,wh=null;dn.findHostDirectiveDefs?(Ir=[],wh=new Map,dn.findHostDirectiveDefs(dn,Ir,wh),Ir.push(dn)):Ir=[dn];const gB=function nT(e,n){const t=e[N],r=J;return e[r]=n,so(t,r,2,"#host",null)}(j,_),mB=function rT(e,n,t,r,o,i,s){const a=o[N];!function oT(e,n,t,r){for(const o of e)n.mergedAttrs=Go(n.mergedAttrs,o.hostAttrs);null!==n.mergedAttrs&&(Ia(n,n.mergedAttrs,!0),null!==t&&nm(r,t,n))}(r,e,n,s);let u=null;null!==n&&(u=Fl(n,o[Pn]));const c=i.rendererFactory.createRenderer(n,t);let l=16;t.signals?l=4096:t.onPush&&(l=64);const d=ba(o,nv(t),null,l,o[e.index],e,i,c,null,null,u);return a.firstCreatePass&&Jl(a,e,r.length-1),Ea(o,d),o[e.index]=d}(gB,_,dn,Ir,j,d,g);ke=$p(O,J),_&&function sT(e,n,t,r){if(r)Ec(e,t,["ng-version",XM.full]);else{const{attrs:o,classes:i}=function B0(e){const n=[],t=[];let r=1,o=2;for(;r0&&tm(e,t,i.join(" "))}}(g,dn,_,r),void 0!==t&&function aT(e,n,t){const r=e.projection=[];for(let o=0;o=0;r--){const o=e[r];o.hostVars=n+=o.hostVars,o.hostAttrs=Go(o.hostAttrs,t=Go(t,o.hostAttrs))}}(r)}function Sa(e){return e===Yt?{}:e===te?[]:e}function lT(e,n){const t=e.viewQuery;e.viewQuery=t?(r,o)=>{n(r,o),t(r,o)}:n}function dT(e,n){const t=e.contentQueries;e.contentQueries=t?(r,o,i)=>{n(r,o,i),t(r,o,i)}:n}function fT(e,n){const t=e.hostBindings;e.hostBindings=t?(r,o)=>{n(r,o),t(r,o)}:n}function Ta(e){return!!rd(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function rd(e){return null!==e&&("function"==typeof e||"object"==typeof e)}function nn(e,n,t){return e[n]=t}function Ge(e,n,t){return!Object.is(e[n],t)&&(e[n]=t,!0)}function lr(e,n,t,r){const o=Ge(e,n,t);return Ge(e,n+1,r)||o}function Nt(e,n,t,r,o,i){const s=lr(e,n,t,r);return lr(e,n+2,o,i)||s}function uo(e,n,t,r){return Ge(e,Vr(),t)?n+G(t)+r:W}function A(e,n,t,r,o,i,s,a){const u=w(),c=ee(),l=e+J,d=c.firstCreatePass?function LT(e,n,t,r,o,i,s,a,u){const c=n.consts,l=so(n,e,4,s||null,Ln(c,a));Xl(n,t,l,Ln(c,u)),Vs(n,l);const d=l.tView=Ql(2,l,r,o,i,n.directiveRegistry,n.pipeRegistry,null,n.schemas,c,null);return null!==n.queries&&(n.queries.template(n,l),d.queries=n.queries.embeddedTView(l)),l}(l,c,u,n,t,r,o,i,s):c.data[l];Kt(d,!1);const g=Bv(c,u,d,e);Ls()&&sa(c,u,g,d),ze(g,u),Ea(u,u[l]=cv(g,u,g,d)),Os(d)&&Zl(c,u,d),null!=s&&Yl(u,d,a)}let Bv=function $v(e,n,t,r){return Vn(!0),n[q].createComment("")};function S(e,n,t){const r=w();return Ge(r,Vr(),n)&&Dt(ee(),De(),r,e,n,r[q],t,!1),S}function cd(e,n,t,r,o){const s=o?"class":"style";td(e,t,n.inputs[s],s,r)}function h(e,n,t,r){const o=w(),i=ee(),s=J+e,a=o[q],u=i.firstCreatePass?function HT(e,n,t,r,o,i){const s=n.consts,u=so(n,e,2,r,Ln(s,o));return Xl(n,t,u,Ln(s,i)),null!==u.attrs&&Ia(u,u.attrs,!1),null!==u.mergedAttrs&&Ia(u,u.mergedAttrs,!0),null!==n.queries&&n.queries.elementStart(n,u),u}(s,i,o,n,t,r):i.data[s],c=Hv(i,o,u,a,n,e);o[s]=c;const l=Os(u);return Kt(u,!0),nm(a,c,u),32!=(32&u.flags)&&Ls()&&sa(i,o,c,u),0===function vI(){return H.lFrame.elementDepthCount}()&&ze(c,o),function _I(){H.lFrame.elementDepthCount++}(),l&&(Zl(i,o,u),Wl(i,u,o)),null!==r&&Yl(o,u),h}function f(){let e=$e();Fc()?kc():(e=e.parent,Kt(e,!1));const n=e;(function DI(e){return H.skipHydrationRootTNode===e})(n)&&function EI(){H.skipHydrationRootTNode=null}(),function yI(){H.lFrame.elementDepthCount--}();const t=ee();return t.firstCreatePass&&(Vs(t,e),Mc(e)&&t.queries.elementEnd(e)),null!=n.classesWithoutHost&&function jI(e){return 0!=(8&e.flags)}(n)&&cd(t,n,w(),n.classesWithoutHost,!0),null!=n.stylesWithoutHost&&function BI(e){return 0!=(16&e.flags)}(n)&&cd(t,n,w(),n.stylesWithoutHost,!1),f}function Pe(e,n,t,r){return h(e,n,t,r),f(),Pe}let Hv=(e,n,t,r,o,i)=>(Vn(!0),ra(r,o,function og(){return H.lFrame.currentNamespace}()));function $n(e,n,t){const r=w(),o=ee(),i=e+J,s=o.firstCreatePass?function GT(e,n,t,r,o){const i=n.consts,s=Ln(i,r),a=so(n,e,8,"ng-container",s);return null!==s&&Ia(a,s,!0),Xl(n,t,a,Ln(i,o)),null!==n.queries&&n.queries.elementStart(n,a),a}(i,o,r,n,t):o.data[i];Kt(s,!0);const a=zv(o,r,s,e);return r[i]=a,Ls()&&sa(o,r,a,s),ze(a,r),Os(s)&&(Zl(o,r,s),Wl(o,s,r)),null!=t&&Yl(r,s),$n}function Hn(){let e=$e();const n=ee();return Fc()?kc():(e=e.parent,Kt(e,!1)),n.firstCreatePass&&(Vs(n,e),Mc(e)&&n.queries.elementEnd(e)),Hn}let zv=(e,n,t,r)=>(Vn(!0),sl(n[q],""));function Rt(){return w()}function Ti(e){return!!e&&"function"==typeof e.then}function Gv(e){return!!e&&"function"==typeof e.subscribe}function re(e,n,t,r){const o=w(),i=ee(),s=$e();return function Wv(e,n,t,r,o,i,s){const a=Os(r),c=e.firstCreatePass&&function fv(e){return e.cleanup||(e.cleanup=[])}(e),l=n[Ie],d=function dv(e){return e[xr]||(e[xr]=[])}(n);let g=!0;if(3&r.type||s){const y=st(r,n),C=s?s(y):y,M=d.length,D=s?j=>s(pe(j[r.index])):r.index;let O=null;if(!s&&a&&(O=function ZT(e,n,t,r){const o=e.cleanup;if(null!=o)for(let i=0;iu?a[u]:null}"string"==typeof s&&(i+=2)}return null}(e,n,o,r.index)),null!==O)(O.__ngLastListenerFn__||O).__ngNextListenerFn__=i,O.__ngLastListenerFn__=i,g=!1;else{i=Yv(r,n,l,i,!1);const j=t.listen(C,o,i);d.push(i,j),c&&c.push(o,D,M,M+1)}}else i=Yv(r,n,l,i,!1);const v=r.outputs;let _;if(g&&null!==v&&(_=v[o])){const y=_.length;if(y)for(let C=0;C-1?gt(e.index,n):n);let u=Zv(n,t,r,s),c=i.__ngNextListenerFn__;for(;c;)u=Zv(n,t,c,s)&&u,c=c.__ngNextListenerFn__;return o&&!1===u&&s.preventDefault(),u}}function E(e=1){return function xI(e){return(H.lFrame.contextLView=function NI(e,n){for(;e>0;)n=n[Rr],e--;return n}(e,H.lFrame.contextLView))[Ie]}(e)}function F(e,n,t,r,o){const i=w(),s=uo(i,n,t,r);return s!==W&&Dt(ee(),De(),i,e,s,i[q],o,!1),F}function Oa(e,n){return e<<17|n<<2}function Un(e){return e>>17&32767}function ld(e){return 2|e}function dr(e){return(131068&e)>>2}function dd(e,n){return-131069&e|n<<2}function fd(e){return 1|e}function i_(e,n,t,r,o){const i=e[t+1],s=null===n;let a=r?Un(i):dr(i),u=!1;for(;0!==a&&(!1===u||s);){const l=e[a+1];rA(e[a],n)&&(u=!0,e[a+1]=r?fd(l):ld(l)),a=r?Un(l):dr(l)}u&&(e[t+1]=r?ld(i):fd(i))}function rA(e,n){return null===e||null==n||(Array.isArray(e)?e[1]:e)===n||!(!Array.isArray(e)||"string"!=typeof n)&&qr(e,n)>=0}function Pa(e,n){return function Ht(e,n,t,r){const o=w(),i=ee(),s=function vn(e){const n=H.lFrame,t=n.bindingIndex;return n.bindingIndex=n.bindingIndex+e,t}(2);i.firstUpdatePass&&function p_(e,n,t,r){const o=e.data;if(null===o[t+1]){const i=o[Je()],s=function h_(e,n){return n>=e.expandoStartIndex}(e,t);(function __(e,n){return 0!=(e.flags&(n?8:16))})(i,r)&&null===n&&!s&&(n=!1),n=function fA(e,n,t,r){const o=function Vc(e){const n=H.lFrame.currentDirectiveIndex;return-1===n?null:e[n]}(e);let i=r?n.residualClasses:n.residualStyles;if(null===o)0===(r?n.classBindings:n.styleBindings)&&(t=Ai(t=hd(null,e,n,t,r),n.attrs,r),i=null);else{const s=n.directiveStylingLast;if(-1===s||e[s]!==o)if(t=hd(o,e,n,t,r),null===i){let u=function hA(e,n,t){const r=t?n.classBindings:n.styleBindings;if(0!==dr(r))return e[Un(r)]}(e,n,r);void 0!==u&&Array.isArray(u)&&(u=hd(null,e,n,u[1],r),u=Ai(u,n.attrs,r),function pA(e,n,t,r){e[Un(t?n.classBindings:n.styleBindings)]=r}(e,n,r,u))}else i=function gA(e,n,t){let r;const o=n.directiveEnd;for(let i=1+n.directiveStylingLast;i0)&&(c=!0)):l=t,o)if(0!==u){const g=Un(e[a+1]);e[r+1]=Oa(g,a),0!==g&&(e[g+1]=dd(e[g+1],r)),e[a+1]=function KT(e,n){return 131071&e|n<<17}(e[a+1],r)}else e[r+1]=Oa(a,0),0!==a&&(e[a+1]=dd(e[a+1],r)),a=r;else e[r+1]=Oa(u,0),0===a?a=r:e[u+1]=dd(e[u+1],r),u=r;c&&(e[r+1]=ld(e[r+1])),i_(e,l,r,!0),i_(e,l,r,!1),function nA(e,n,t,r,o){const i=o?e.residualClasses:e.residualStyles;null!=i&&"string"==typeof n&&qr(i,n)>=0&&(t[r+1]=fd(t[r+1]))}(n,l,e,r,i),s=Oa(a,u),i?n.classBindings=s:n.styleBindings=s}(o,i,n,t,s,r)}}(i,e,s,r),n!==W&&Ge(o,s,n)&&function m_(e,n,t,r,o,i,s,a){if(!(3&n.type))return;const u=e.data,c=u[a+1],l=function eA(e){return 1==(1&e)}(c)?v_(u,n,t,o,dr(c),s):void 0;Fa(l)||(Fa(i)||function JT(e){return 2==(2&e)}(c)&&(i=v_(u,null,t,o,a,s)),function X1(e,n,t,r,o){if(n)o?e.addClass(t,r):e.removeClass(t,r);else{let i=-1===r.indexOf("-")?void 0:jn.DashCase;null==o?e.removeStyle(t,r,i):("string"==typeof o&&o.endsWith("!important")&&(o=o.slice(0,-10),i|=jn.Important),e.setStyle(t,r,o,i))}}(r,s,ks(Je(),t),o,i))}(i,i.data[Je()],o,o[q],e,o[s+1]=function yA(e,n){return null==e||""===e||("string"==typeof n?e+=n:"object"==typeof e&&(e=Re(Bn(e)))),e}(n,t),r,s)}(e,n,null,!0),Pa}function hd(e,n,t,r,o){let i=null;const s=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const u=e[o],c=Array.isArray(u),l=c?u[1]:u,d=null===l;let g=t[o+1];g===W&&(g=d?te:void 0);let v=d?Qc(g,r):l===r?g:void 0;if(c&&!Fa(v)&&(v=Qc(u,r)),Fa(v)&&(a=v,s))return a;const _=e[o+1];o=s?Un(_):dr(_)}if(null!==n){let u=i?n.residualClasses:n.residualStyles;null!=u&&(a=Qc(u,r))}return a}function Fa(e){return void 0!==e}function p(e,n=""){const t=w(),r=ee(),o=e+J,i=r.firstCreatePass?so(r,o,1,n,null):r.data[o],s=y_(r,t,i,n,e);t[o]=s,Ls()&&sa(r,t,s,i),Kt(i,!1)}let y_=(e,n,t,r,o)=>(Vn(!0),function na(e,n){return e.createText(n)}(n[q],r));function T(e){return x("",e,""),T}function x(e,n,t){const r=w(),o=uo(r,e,n,t);return o!==W&&function wn(e,n,t){const r=ks(n,e);!function Ug(e,n,t){e.setValue(n,t)}(e[q],r,t)}(r,Je(),o),x}const yo="en-US";let $_=yo;function md(e,n,t,r,o){if(e=U(e),Array.isArray(e))for(let i=0;i>20;if(ur(e)||!e.multi){const v=new ti(c,o,b),_=_d(u,n,o?l:l+g,d);-1===_?(Wc(Hs(a,s),i,u),vd(i,e,n.length),n.push(u),a.directiveStart++,a.directiveEnd++,o&&(a.providerIndexes+=1048576),t.push(v),s.push(v)):(t[_]=v,s[_]=v)}else{const v=_d(u,n,l+g,d),_=_d(u,n,l,l+g),C=_>=0&&t[_];if(o&&!C||!o&&!(v>=0&&t[v])){Wc(Hs(a,s),i,u);const M=function Bx(e,n,t,r,o){const i=new ti(e,t,b);return i.multi=[],i.index=n,i.componentProviders=0,fy(i,o,r&&!t),i}(o?jx:Vx,t.length,o,r,c);!o&&C&&(t[_].providerFactory=M),vd(i,e,n.length,0),n.push(u),a.directiveStart++,a.directiveEnd++,o&&(a.providerIndexes+=1048576),t.push(M),s.push(M)}else vd(i,e,v>-1?v:_,fy(t[o?_:v],c,!o&&r));!o&&r&&C&&t[_].componentProviders++}}}function vd(e,n,t,r){const o=ur(n),i=function SM(e){return!!e.useClass}(n);if(o||i){const u=(i?U(n.useClass):n).prototype.ngOnDestroy;if(u){const c=e.destroyHooks||(e.destroyHooks=[]);if(!o&&n.multi){const l=c.indexOf(t);-1===l?c.push(t,[r,u]):c[l+1].push(r,u)}else c.push(t,u)}}}function fy(e,n,t){return t&&e.componentProviders++,e.multi.push(n)-1}function _d(e,n,t,r){for(let o=t;o{t.providersResolver=(r,o)=>function Lx(e,n,t){const r=ee();if(r.firstCreatePass){const o=$t(e);md(t,r.data,r.blueprint,o,!0),md(n,r.data,r.blueprint,o,!1)}}(r,o?o(e):e,n)}}class hr{}class hy{}class Dd extends hr{constructor(n,t,r){super(),this._parent=t,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new Cv(this);const o=pt(n);this._bootstrapComponents=Cn(o.bootstrap),this._r3Injector=Pm(n,t,[{provide:hr,useValue:this},{provide:Da,useValue:this.componentFactoryResolver},...r],Re(n),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(n)}get injector(){return this._r3Injector}destroy(){const n=this._r3Injector;!n.destroyed&&n.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}}class Cd extends hy{constructor(n){super(),this.moduleType=n}create(n){return new Dd(this.moduleType,n,[])}}class py extends hr{constructor(n){super(),this.componentFactoryResolver=new Cv(this),this.instance=null;const t=new Kr([...n.providers,{provide:hr,useValue:this},{provide:Da,useValue:this.componentFactoryResolver}],n.parent||ha(),n.debugName,new Set(["environment"]));this.injector=t,n.runEnvironmentInitializers&&t.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(n){this.injector.onDestroy(n)}}function wd(e,n,t=null){return new py({providers:e,parent:n,debugName:t,runEnvironmentInitializers:!0}).injector}let Ux=(()=>{class e{constructor(t){this._injector=t,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(t){if(!t.standalone)return null;if(!this.cachedInjectors.has(t)){const r=vm(0,t.type),o=r.length>0?wd([r],this._injector,`Standalone[${t.type.name}]`):null;this.cachedInjectors.set(t,o)}return this.cachedInjectors.get(t)}ngOnDestroy(){try{for(const t of this.cachedInjectors.values())null!==t&&t.destroy()}finally{this.cachedInjectors.clear()}}static#e=this.\u0275prov=V({token:e,providedIn:"environment",factory:()=>new e(k(vt))})}return e})();function gy(e){e.getStandaloneInjector=n=>n.get(Ux).getOrCreateStandaloneInjector(e)}function Fi(e,n,t,r){return by(w(),Xe(),e,n,t,r)}function wy(e,n,t,r,o,i,s){return function My(e,n,t,r,o,i,s,a,u){const c=n+t;return Nt(e,c,o,i,s,a)?nn(e,c+4,u?r.call(u,o,i,s,a):r(o,i,s,a)):ki(e,c+4)}(w(),Xe(),e,n,t,r,o,i,s)}function Ba(e,n,t,r,o,i,s,a){const u=Xe()+e,c=w(),l=Nt(c,u,t,r,o,i);return Ge(c,u+4,s)||l?nn(c,u+5,a?n.call(a,t,r,o,i,s):n(t,r,o,i,s)):function Ei(e,n){return e[n]}(c,u+5)}function ki(e,n){const t=e[n];return t===W?void 0:t}function by(e,n,t,r,o,i){const s=n+t;return Ge(e,s,o)?nn(e,s+1,i?r.call(i,o):r(o)):ki(e,s+1)}function $a(e,n){const t=ee();let r;const o=e+J;t.firstCreatePass?(r=function iN(e,n){if(n)for(let t=n.length-1;t>=0;t--){const r=n[t];if(e===r.name)return r}}(n,t.pipeRegistry),t.data[o]=r,r.onDestroy&&(t.destroyHooks??=[]).push(o,r.onDestroy)):r=t.data[o];const i=r.factory||(r.factory=or(r.type)),a=ot(b);try{const u=$s(!1),c=i();return $s(u),function BT(e,n,t,r){t>=e.data.length&&(e.data[t]=null,e.blueprint[t]=null),n[t]=r}(t,w(),o,c),c}finally{ot(a)}}function Ha(e,n,t){const r=e+J,o=w(),i=function kr(e,n){return e[n]}(o,r);return function Li(e,n){return e[N].data[n].pure}(o,r)?by(o,Xe(),n,i.transform,t,i):i.transform(t)}function fN(e,n,t,r=!0){const o=n[N];if(function U1(e,n,t,r){const o=je+r,i=t.length;r>0&&(t[o-1][Bt]=n),r{class e{static#e=this.__NG_ELEMENT_ID__=gN}return e})();const hN=bn,pN=class extends hN{constructor(n,t,r){super(),this._declarationLView=n,this._declarationTContainer=t,this.elementRef=r}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(n,t){return this.createEmbeddedViewImpl(n,t)}createEmbeddedViewImpl(n,t,r){const o=function dN(e,n,t,r){const o=n.tView,a=ba(e,o,t,4096&e[Z]?4096:16,null,n,null,null,null,r?.injector??null,r?.hydrationInfo??null);a[Zo]=e[n.index];const c=e[Qt];return null!==c&&(a[Qt]=c.createEmbeddedView(o)),nd(o,a,t),a}(this._declarationLView,this._declarationTContainer,n,{injector:t,hydrationInfo:r});return new wi(o)}};function gN(){return function Ua(e,n){return 4&e.type?new pN(n,e,ro(e,n)):null}($e(),w())}let zt=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=CN}return e})();function CN(){return function Py(e,n){let t;const r=n[e.index];return Qe(r)?t=r:(t=cv(r,n,null,e),n[e.index]=t,Ea(n,t)),Fy(t,n,e,r),new Ry(t,e,n)}($e(),w())}const wN=zt,Ry=class extends wN{constructor(n,t,r){super(),this._lContainer=n,this._hostTNode=t,this._hostLView=r}get element(){return ro(this._hostTNode,this._hostLView)}get injector(){return new Ke(this._hostTNode,this._hostLView)}get parentInjector(){const n=Us(this._hostTNode,this._hostLView);if(zc(n)){const t=ri(n,this._hostLView),r=ni(n);return new Ke(t[N].data[r+8],t)}return new Ke(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){const t=Oy(this._lContainer);return null!==t&&t[n]||null}get length(){return this._lContainer.length-je}createEmbeddedView(n,t,r){let o,i;"number"==typeof r?o=r:null!=r&&(o=r.index,i=r.injector);const a=n.createEmbeddedViewImpl(t||{},i,null);return this.insertImpl(a,o,false),a}createComponent(n,t,r,o,i){const s=n&&!function ii(e){return"function"==typeof e}(n);let a;if(s)a=t;else{const y=t||{};a=y.index,r=y.injector,o=y.projectableNodes,i=y.environmentInjector||y.ngModuleRef}const u=s?n:new bi(K(n)),c=r||this.parentInjector;if(!i&&null==u.ngModule){const C=(s?c:this.parentInjector).get(vt,null);C&&(i=C)}K(u.componentType??{});const v=u.create(c,o,null,i);return this.insertImpl(v.hostView,a,false),v}insert(n,t){return this.insertImpl(n,t,!1)}insertImpl(n,t,r){const o=n._lView;if(function pI(e){return Qe(e[_e])}(o)){const u=this.indexOf(n);if(-1!==u)this.detach(u);else{const c=o[_e],l=new Ry(c,c[Ue],c[_e]);l.detach(l.indexOf(n))}}const s=this._adjustIndex(t),a=this._lContainer;return fN(a,o,s,!r),n.attachToViewContainerRef(),yg(Id(a),s,n),n}move(n,t){return this.insert(n,t)}indexOf(n){const t=Oy(this._lContainer);return null!==t?t.indexOf(n):-1}remove(n){const t=this._adjustIndex(n,-1),r=oa(this._lContainer,t);r&&(qs(Id(this._lContainer),t),al(r[N],r))}detach(n){const t=this._adjustIndex(n,-1),r=oa(this._lContainer,t);return r&&null!=qs(Id(this._lContainer),t)?new wi(r):null}_adjustIndex(n,t=0){return n??this.length+t}};function Oy(e){return e[8]}function Id(e){return e[8]||(e[8]=[])}let Fy=function ky(e,n,t,r){if(e[Xt])return;let o;o=8&t.type?pe(r):function bN(e,n){const t=e[q],r=t.createComment(""),o=st(n,e);return ar(t,ia(t,o),r,function Z1(e,n){return e.nextSibling(n)}(t,o),!1),r}(n,t),e[Xt]=o};const kd=new P("Application Initializer");let Ld=(()=>{class e{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,r)=>{this.resolve=t,this.reject=r}),this.appInits=R(kd,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const t=[];for(const o of this.appInits){const i=o();if(Ti(i))t.push(i);else if(Gv(i)){const s=new Promise((a,u)=>{i.subscribe({complete:a,error:u})});t.push(s)}}const r=()=>{this.done=!0,this.resolve()};Promise.all(t).then(()=>{r()}).catch(o=>{this.reject(o)}),0===t.length&&r(),this.initialized=!0}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),aD=(()=>{class e{log(t){console.log(t)}warn(t){console.warn(t)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();const En=new P("LocaleId",{providedIn:"root",factory:()=>R(En,X.Optional|X.SkipSelf)||function eR(){return typeof $localize<"u"&&$localize.locale||yo}()});let qa=(()=>{class e{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new bt(!1)}add(){this.hasPendingTasks.next(!0);const t=this.taskId++;return this.pendingTasks.add(t),t}remove(t){this.pendingTasks.delete(t),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();class rR{constructor(n,t){this.ngModuleFactory=n,this.componentFactories=t}}let uD=(()=>{class e{compileModuleSync(t){return new Cd(t)}compileModuleAsync(t){return Promise.resolve(this.compileModuleSync(t))}compileModuleAndAllComponentsSync(t){const r=this.compileModuleSync(t),i=Cn(pt(t).declarations).reduce((s,a)=>{const u=K(a);return u&&s.push(new bi(u)),s},[]);return new rR(r,i)}compileModuleAndAllComponentsAsync(t){return Promise.resolve(this.compileModuleAndAllComponentsSync(t))}clearCache(){}clearCacheFor(t){}getModuleId(t){}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const fD=new P(""),Za=new P("");let Hd,Bd=(()=>{class e{constructor(t,r,o){this._ngZone=t,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Hd||(function IR(e){Hd=e}(o),o.addToWindow(r)),this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{ge.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(t)||(clearTimeout(r.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,r,o){let i=-1;r&&r>0&&(i=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==i),t(this._didWork,this.getPendingTasks())},r)),this._callbacks.push({doneCb:t,timeoutId:i,updateCb:o})}whenStable(t,r,o){if(o&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,r,o),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(t){this.registry.registerApplication(t,this)}unregisterApplication(t){this.registry.unregisterApplication(t)}findProviders(t,r,o){return[]}static#e=this.\u0275fac=function(r){return new(r||e)(k(ge),k($d),k(Za))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})(),$d=(()=>{class e{constructor(){this._applications=new Map}registerApplication(t,r){this._applications.set(t,r)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,r=!0){return Hd?.findTestabilityInTree(this,t,r)??null}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})(),zn=null;const hD=new P("AllowMultipleToken"),Ud=new P("PlatformDestroyListeners"),zd=new P("appBootstrapListener");class gD{constructor(n,t){this.name=n,this.token=t}}function vD(e,n,t=[]){const r=`Platform: ${n}`,o=new P(r);return(i=[])=>{let s=Gd();if(!s||s.injector.get(hD,!1)){const a=[...t,...i,{provide:o,useValue:!0}];e?e(a):function TR(e){if(zn&&!zn.get(hD,!1))throw new I(400,!1);(function pD(){!function K0(e){Np=e}(()=>{throw new I(600,!1)})})(),zn=e;const n=e.get(yD);(function mD(e){e.get(wm,null)?.forEach(t=>t())})(e)}(function _D(e=[],n){return yt.create({name:n,providers:[{provide:El,useValue:"platform"},{provide:Ud,useValue:new Set([()=>zn=null])},...e]})}(a,r))}return function xR(e){const n=Gd();if(!n)throw new I(401,!1);return n}()}}function Gd(){return zn?.get(yD)??null}let yD=(()=>{class e{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,r){const o=function NR(e="zone.js",n){return"noop"===e?new cS:"zone.js"===e?new ge(n):e}(r?.ngZone,function DD(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}({eventCoalescing:r?.ngZoneEventCoalescing,runCoalescing:r?.ngZoneRunCoalescing}));return o.run(()=>{const i=function Hx(e,n,t){return new Dd(e,n,t)}(t.moduleType,this.injector,function ID(e){return[{provide:ge,useFactory:e},{provide:gi,multi:!0,useFactory:()=>{const n=R(OR,{optional:!0});return()=>n.initialize()}},{provide:ED,useFactory:RR},{provide:jm,useFactory:Bm}]}(()=>o)),s=i.injector.get(Dn,null);return o.runOutsideAngular(()=>{const a=o.onError.subscribe({next:u=>{s.handleError(u)}});i.onDestroy(()=>{Ya(this._modules,i),a.unsubscribe()})}),function CD(e,n,t){try{const r=t();return Ti(r)?r.catch(o=>{throw n.runOutsideAngular(()=>e.handleError(o)),o}):r}catch(r){throw n.runOutsideAngular(()=>e.handleError(r)),r}}(s,o,()=>{const a=i.injector.get(Ld);return a.runInitializers(),a.donePromise.then(()=>(function H_(e){Et(e,"Expected localeId to be defined"),"string"==typeof e&&($_=e.toLowerCase().replace(/_/g,"-"))}(i.injector.get(En,yo)||yo),this._moduleDoBootstrap(i),i))})})}bootstrapModule(t,r=[]){const o=wD({},r);return function MR(e,n,t){const r=new Cd(t);return Promise.resolve(r)}(0,0,t).then(i=>this.bootstrapModuleFactory(i,o))}_moduleDoBootstrap(t){const r=t.injector.get(wo);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(o=>r.bootstrap(o));else{if(!t.instance.ngDoBootstrap)throw new I(-403,!1);t.instance.ngDoBootstrap(r)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new I(404,!1);this._modules.slice().forEach(r=>r.destroy()),this._destroyListeners.forEach(r=>r());const t=this._injector.get(Ud,null);t&&(t.forEach(r=>r()),t.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}static#e=this.\u0275fac=function(r){return new(r||e)(k(yt))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();function wD(e,n){return Array.isArray(n)?n.reduce(wD,e):{...e,...n}}let wo=(()=>{class e{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=R(ED),this.zoneIsStable=R(jm),this.componentTypes=[],this.components=[],this.isStable=R(qa).hasPendingTasks.pipe(Lt(t=>t?B(!1):this.zoneIsStable),function l0(e,n=Nn){return e=e??d0,xe((t,r)=>{let o,i=!0;t.subscribe(Te(r,s=>{const a=n(s);(i||!e(o,a))&&(i=!1,o=a,r.next(s))}))})}(),Yh()),this._injector=R(vt)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(t,r){const o=t instanceof Sm;if(!this._injector.get(Ld).done)throw!o&&function Ar(e){const n=K(e)||Ve(e)||Ye(e);return null!==n&&n.standalone}(t),new I(405,!1);let s;s=o?t:this._injector.get(Da).resolveComponentFactory(t),this.componentTypes.push(s.componentType);const a=function SR(e){return e.isBoundToModule}(s)?void 0:this._injector.get(hr),c=s.create(yt.NULL,[],r||s.selector,a),l=c.location.nativeElement,d=c.injector.get(fD,null);return d?.registerApplication(l),c.onDestroy(()=>{this.detachView(c.hostView),Ya(this.components,c),d?.unregisterApplication(l)}),this._loadComponent(c),c}tick(){if(this._runningTick)throw new I(101,!1);try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this.internalErrorHandler(t)}finally{this._runningTick=!1}}attachView(t){const r=t;this._views.push(r),r.attachToAppRef(this)}detachView(t){const r=t;Ya(this._views,r),r.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t);const r=this._injector.get(zd,[]);r.push(...this._bootstrapListeners),r.forEach(o=>o(t))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(t=>t()),this._views.slice().forEach(t=>t.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(t){return this._destroyListeners.push(t),()=>Ya(this._destroyListeners,t)}destroy(){if(this._destroyed)throw new I(406,!1);const t=this._injector;t.destroy&&!t.destroyed&&t.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Ya(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}const ED=new P("",{providedIn:"root",factory:()=>R(Dn).handleError.bind(void 0)});function RR(){const e=R(ge),n=R(Dn);return t=>e.runOutsideAngular(()=>n.handleError(t))}let OR=(()=>{class e{constructor(){this.zone=R(ge),this.applicationRef=R(wo)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();let Qa=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=FR}return e})();function FR(e){return function kR(e,n,t){if(rr(e)&&!t){const r=gt(e.index,n);return new wi(r,r)}return 47&e.type?new wi(n[Me],n):null}($e(),w(),16==(16&e))}class AD{constructor(){}supports(n){return Ta(n)}create(n){return new HR(n)}}const $R=(e,n)=>n;class HR{constructor(n){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=n||$R}forEachItem(n){let t;for(t=this._itHead;null!==t;t=t._next)n(t)}forEachOperation(n){let t=this._itHead,r=this._removalsHead,o=0,i=null;for(;t||r;){const s=!r||t&&t.currentIndex{s=this._trackByFn(o,a),null!==t&&Object.is(t.trackById,s)?(r&&(t=this._verifyReinsertion(t,a,s,o)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,s,o),r=!0),t=t._next,o++}),this.length=o;return this._truncate(t),this.collection=n,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let n;for(n=this._previousItHead=this._itHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._additionsHead;null!==n;n=n._nextAdded)n.previousIndex=n.currentIndex;for(this._additionsHead=this._additionsTail=null,n=this._movesHead;null!==n;n=n._nextMoved)n.previousIndex=n.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(n,t,r,o){let i;return null===n?i=this._itTail:(i=n._prev,this._remove(n)),null!==(n=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._reinsertAfter(n,i,o)):null!==(n=null===this._linkedRecords?null:this._linkedRecords.get(r,o))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._moveAfter(n,i,o)):n=this._addAfter(new UR(t,r),i,o),n}_verifyReinsertion(n,t,r,o){let i=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null);return null!==i?n=this._reinsertAfter(i,n._prev,o):n.currentIndex!=o&&(n.currentIndex=o,this._addToMoves(n,o)),n}_truncate(n){for(;null!==n;){const t=n._next;this._addToRemovals(this._unlink(n)),n=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(n,t,r){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(n);const o=n._prevRemoved,i=n._nextRemoved;return null===o?this._removalsHead=i:o._nextRemoved=i,null===i?this._removalsTail=o:i._prevRemoved=o,this._insertAfter(n,t,r),this._addToMoves(n,r),n}_moveAfter(n,t,r){return this._unlink(n),this._insertAfter(n,t,r),this._addToMoves(n,r),n}_addAfter(n,t,r){return this._insertAfter(n,t,r),this._additionsTail=null===this._additionsTail?this._additionsHead=n:this._additionsTail._nextAdded=n,n}_insertAfter(n,t,r){const o=null===t?this._itHead:t._next;return n._next=o,n._prev=t,null===o?this._itTail=n:o._prev=n,null===t?this._itHead=n:t._next=n,null===this._linkedRecords&&(this._linkedRecords=new xD),this._linkedRecords.put(n),n.currentIndex=r,n}_remove(n){return this._addToRemovals(this._unlink(n))}_unlink(n){null!==this._linkedRecords&&this._linkedRecords.remove(n);const t=n._prev,r=n._next;return null===t?this._itHead=r:t._next=r,null===r?this._itTail=t:r._prev=t,n}_addToMoves(n,t){return n.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=n:this._movesTail._nextMoved=n),n}_addToRemovals(n){return null===this._unlinkedRecords&&(this._unlinkedRecords=new xD),this._unlinkedRecords.put(n),n.currentIndex=null,n._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=n,n._prevRemoved=null):(n._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=n),n}_addIdentityChange(n,t){return n.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=n:this._identityChangesTail._nextIdentityChange=n,n}}class UR{constructor(n,t){this.item=n,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class zR{constructor(){this._head=null,this._tail=null}add(n){null===this._head?(this._head=this._tail=n,n._nextDup=null,n._prevDup=null):(this._tail._nextDup=n,n._prevDup=this._tail,n._nextDup=null,this._tail=n)}get(n,t){let r;for(r=this._head;null!==r;r=r._nextDup)if((null===t||t<=r.currentIndex)&&Object.is(r.trackById,n))return r;return null}remove(n){const t=n._prevDup,r=n._nextDup;return null===t?this._head=r:t._nextDup=r,null===r?this._tail=t:r._prevDup=t,null===this._head}}class xD{constructor(){this.map=new Map}put(n){const t=n.trackById;let r=this.map.get(t);r||(r=new zR,this.map.set(t,r)),r.add(n)}get(n,t){const o=this.map.get(n);return o?o.get(n,t):null}remove(n){const t=n.trackById;return this.map.get(t).remove(n)&&this.map.delete(t),n}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function ND(e,n,t){const r=e.previousIndex;if(null===r)return r;let o=0;return t&&r{if(t&&t.key===o)this._maybeAddToChanges(t,r),this._appendAfter=t,t=t._next;else{const i=this._getOrCreateRecordForKey(o,r);t=this._insertBeforeOrAppend(t,i)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let r=t;null!==r;r=r._nextRemoved)r===this._mapHead&&(this._mapHead=null),this._records.delete(r.key),r._nextRemoved=r._next,r.previousValue=r.currentValue,r.currentValue=null,r._prev=null,r._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(n,t){if(n){const r=n._prev;return t._next=n,t._prev=r,n._prev=t,r&&(r._next=t),n===this._mapHead&&(this._mapHead=t),this._appendAfter=n,n}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(n,t){if(this._records.has(n)){const o=this._records.get(n);this._maybeAddToChanges(o,t);const i=o._prev,s=o._next;return i&&(i._next=s),s&&(s._prev=i),o._next=null,o._prev=null,o}const r=new qR(n);return this._records.set(n,r),r.currentValue=t,this._addToAdditions(r),r}_reset(){if(this.isDirty){let n;for(this._previousMapHead=this._mapHead,n=this._previousMapHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._changesHead;null!==n;n=n._nextChanged)n.previousValue=n.currentValue;for(n=this._additionsHead;null!=n;n=n._nextAdded)n.previousValue=n.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(n,t){Object.is(t,n.currentValue)||(n.previousValue=n.currentValue,n.currentValue=t,this._addToChanges(n))}_addToAdditions(n){null===this._additionsHead?this._additionsHead=this._additionsTail=n:(this._additionsTail._nextAdded=n,this._additionsTail=n)}_addToChanges(n){null===this._changesHead?this._changesHead=this._changesTail=n:(this._changesTail._nextChanged=n,this._changesTail=n)}_forEach(n,t){n instanceof Map?n.forEach(t):Object.keys(n).forEach(r=>t(n[r],r))}}class qR{constructor(n){this.key=n,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function OD(){return new Ka([new AD])}let Ka=(()=>{class e{static#e=this.\u0275prov=V({token:e,providedIn:"root",factory:OD});constructor(t){this.factories=t}static create(t,r){if(null!=r){const o=r.factories.slice();t=t.concat(o)}return new e(t)}static extend(t){return{provide:e,useFactory:r=>e.create(t,r||OD()),deps:[[e,new Ys,new Zs]]}}find(t){const r=this.factories.find(o=>o.supports(t));if(null!=r)return r;throw new I(901,!1)}}return e})();function PD(){return new Bi([new RD])}let Bi=(()=>{class e{static#e=this.\u0275prov=V({token:e,providedIn:"root",factory:PD});constructor(t){this.factories=t}static create(t,r){if(r){const o=r.factories.slice();t=t.concat(o)}return new e(t)}static extend(t){return{provide:e,useFactory:r=>e.create(t,r||PD()),deps:[[e,new Ys,new Zs]]}}find(t){const r=this.factories.find(o=>o.supports(t));if(r)return r;throw new I(901,!1)}}return e})();const YR=vD(null,"core",[]);let QR=(()=>{class e{constructor(t){}static#e=this.\u0275fac=function(r){return new(r||e)(k(wo))};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({})}return e})();let Xd=null;function Gn(){return Xd}class lO{}const Ct=new P("DocumentToken");let Jd=(()=>{class e{historyGo(t){throw new Error("Not implemented")}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:function(){return R(fO)},providedIn:"platform"})}return e})();const dO=new P("Location Initialized");let fO=(()=>{class e extends Jd{constructor(){super(),this._doc=R(Ct),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Gn().getBaseHref(this._doc)}onPopState(t){const r=Gn().getGlobalEventTarget(this._doc,"window");return r.addEventListener("popstate",t,!1),()=>r.removeEventListener("popstate",t)}onHashChange(t){const r=Gn().getGlobalEventTarget(this._doc,"window");return r.addEventListener("hashchange",t,!1),()=>r.removeEventListener("hashchange",t)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(t){this._location.pathname=t}pushState(t,r,o){this._history.pushState(t,r,o)}replaceState(t,r,o){this._history.replaceState(t,r,o)}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:function(){return new e},providedIn:"platform"})}return e})();function Kd(e,n){if(0==e.length)return n;if(0==n.length)return e;let t=0;return e.endsWith("/")&&t++,n.startsWith("/")&&t++,2==t?e+n.substring(1):1==t?e+n:e+"/"+n}function UD(e){const n=e.match(/#|\?|$/),t=n&&n.index||e.length;return e.slice(0,t-("/"===e[t-1]?1:0))+e.slice(t)}function In(e){return e&&"?"!==e[0]?"?"+e:e}let gr=(()=>{class e{historyGo(t){throw new Error("Not implemented")}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:function(){return R(GD)},providedIn:"root"})}return e})();const zD=new P("appBaseHref");let GD=(()=>{class e extends gr{constructor(t,r){super(),this._platformLocation=t,this._removeListenerFns=[],this._baseHref=r??this._platformLocation.getBaseHrefFromDOM()??R(Ct).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return Kd(this._baseHref,t)}path(t=!1){const r=this._platformLocation.pathname+In(this._platformLocation.search),o=this._platformLocation.hash;return o&&t?`${r}${o}`:r}pushState(t,r,o,i){const s=this.prepareExternalUrl(o+In(i));this._platformLocation.pushState(t,r,s)}replaceState(t,r,o,i){const s=this.prepareExternalUrl(o+In(i));this._platformLocation.replaceState(t,r,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(t=0){this._platformLocation.historyGo?.(t)}static#e=this.\u0275fac=function(r){return new(r||e)(k(Jd),k(zD,8))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),hO=(()=>{class e extends gr{constructor(t,r){super(),this._platformLocation=t,this._baseHref="",this._removeListenerFns=[],null!=r&&(this._baseHref=r)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}path(t=!1){let r=this._platformLocation.hash;return null==r&&(r="#"),r.length>0?r.substring(1):r}prepareExternalUrl(t){const r=Kd(this._baseHref,t);return r.length>0?"#"+r:r}pushState(t,r,o,i){let s=this.prepareExternalUrl(o+In(i));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.pushState(t,r,s)}replaceState(t,r,o,i){let s=this.prepareExternalUrl(o+In(i));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.replaceState(t,r,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(t=0){this._platformLocation.historyGo?.(t)}static#e=this.\u0275fac=function(r){return new(r||e)(k(Jd),k(zD,8))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})(),ef=(()=>{class e{constructor(t){this._subject=new we,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=t;const r=this._locationStrategy.getBaseHref();this._basePath=function mO(e){if(new RegExp("^(https?:)?//").test(e)){const[,t]=e.split(/\/\/[^\/]+/);return t}return e}(UD(qD(r))),this._locationStrategy.onPopState(o=>{this._subject.emit({url:this.path(!0),pop:!0,state:o.state,type:o.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(t=!1){return this.normalize(this._locationStrategy.path(t))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(t,r=""){return this.path()==this.normalize(t+In(r))}normalize(t){return e.stripTrailingSlash(function gO(e,n){if(!e||!n.startsWith(e))return n;const t=n.substring(e.length);return""===t||["/",";","?","#"].includes(t[0])?t:n}(this._basePath,qD(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._locationStrategy.prepareExternalUrl(t)}go(t,r="",o=null){this._locationStrategy.pushState(o,"",t,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+In(r)),o)}replaceState(t,r="",o=null){this._locationStrategy.replaceState(o,"",t,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+In(r)),o)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(t=0){this._locationStrategy.historyGo?.(t)}onUrlChange(t){return this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(r=>{this._notifyUrlChangeListeners(r.url,r.state)})),()=>{const r=this._urlChangeListeners.indexOf(t);this._urlChangeListeners.splice(r,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(t="",r){this._urlChangeListeners.forEach(o=>o(t,r))}subscribe(t,r,o){return this._subject.subscribe({next:t,error:r,complete:o})}static#e=this.normalizeQueryParams=In;static#t=this.joinWithSlash=Kd;static#n=this.stripTrailingSlash=UD;static#r=this.\u0275fac=function(r){return new(r||e)(k(gr))};static#o=this.\u0275prov=V({token:e,factory:function(){return function pO(){return new ef(k(gr))}()},providedIn:"root"})}return e})();function qD(e){return e.replace(/\/index.html$/,"")}function tC(e,n){n=encodeURIComponent(n);for(const t of e.split(";")){const r=t.indexOf("="),[o,i]=-1==r?[t,""]:[t.slice(0,r),t.slice(r+1)];if(o.trim()===n)return decodeURIComponent(i)}return null}const ff=/\s+/,nC=[];let du=(()=>{class e{constructor(t,r,o,i){this._iterableDiffers=t,this._keyValueDiffers=r,this._ngEl=o,this._renderer=i,this.initialClasses=nC,this.stateMap=new Map}set klass(t){this.initialClasses=null!=t?t.trim().split(ff):nC}set ngClass(t){this.rawClass="string"==typeof t?t.trim().split(ff):t}ngDoCheck(){for(const r of this.initialClasses)this._updateState(r,!0);const t=this.rawClass;if(Array.isArray(t)||t instanceof Set)for(const r of t)this._updateState(r,!0);else if(null!=t)for(const r of Object.keys(t))this._updateState(r,!!t[r]);this._applyStateDiff()}_updateState(t,r){const o=this.stateMap.get(t);void 0!==o?(o.enabled!==r&&(o.changed=!0,o.enabled=r),o.touched=!0):this.stateMap.set(t,{enabled:r,changed:!0,touched:!0})}_applyStateDiff(){for(const t of this.stateMap){const r=t[0],o=t[1];o.changed?(this._toggleClass(r,o.enabled),o.changed=!1):o.touched||(o.enabled&&this._toggleClass(r,!1),this.stateMap.delete(r)),o.touched=!1}}_toggleClass(t,r){(t=t.trim()).length>0&&t.split(ff).forEach(o=>{r?this._renderer.addClass(this._ngEl.nativeElement,o):this._renderer.removeClass(this._ngEl.nativeElement,o)})}static#e=this.\u0275fac=function(r){return new(r||e)(b(Ka),b(Bi),b(_t),b(yn))};static#t=this.\u0275dir=z({type:e,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"},standalone:!0})}return e})();class tP{constructor(n,t,r,o){this.$implicit=n,this.ngForOf=t,this.index=r,this.count=o}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let fu=(()=>{class e{set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}constructor(t,r,o){this._viewContainer=t,this._template=r,this._differs=o,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;!this._differ&&t&&(this._differ=this._differs.find(t).create(this.ngForTrackBy))}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const r=this._viewContainer;t.forEachOperation((o,i,s)=>{if(null==o.previousIndex)r.createEmbeddedView(this._template,new tP(o.item,this._ngForOf,-1,-1),null===s?void 0:s);else if(null==s)r.remove(null===i?void 0:i);else if(null!==i){const a=r.get(i);r.move(a,s),oC(a,o)}});for(let o=0,i=r.length;o{oC(r.get(o.currentIndex),o)})}static ngTemplateContextGuard(t,r){return!0}static#e=this.\u0275fac=function(r){return new(r||e)(b(zt),b(bn),b(Ka))};static#t=this.\u0275dir=z({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0})}return e})();function oC(e,n){e.context.$implicit=n.item}let Ui=(()=>{class e{constructor(t,r){this._viewContainer=t,this._context=new nP,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){iC("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){iC("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,r){return!0}static#e=this.\u0275fac=function(r){return new(r||e)(b(zt),b(bn))};static#t=this.\u0275dir=z({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0})}return e})();class nP{constructor(){this.$implicit=null,this.ngIf=null}}function iC(e,n){if(n&&!n.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${Re(n)}'.`)}let SP=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({})}return e})();function cC(e){return"server"===e}let NP=(()=>{class e{static#e=this.\u0275prov=V({token:e,providedIn:"root",factory:()=>new RP(k(Ct),window)})}return e})();class RP{constructor(n,t){this.document=n,this.window=t,this.offset=()=>[0,0]}setOffset(n){this.offset=Array.isArray(n)?()=>n:n}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(n){this.supportsScrolling()&&this.window.scrollTo(n[0],n[1])}scrollToAnchor(n){if(!this.supportsScrolling())return;const t=function OP(e,n){const t=e.getElementById(n)||e.getElementsByName(n)[0];if(t)return t;if("function"==typeof e.createTreeWalker&&e.body&&"function"==typeof e.body.attachShadow){const r=e.createTreeWalker(e.body,NodeFilter.SHOW_ELEMENT);let o=r.currentNode;for(;o;){const i=o.shadowRoot;if(i){const s=i.getElementById(n)||i.querySelector(`[name="${n}"]`);if(s)return s}o=r.nextNode()}}return null}(this.document,n);t&&(this.scrollToElement(t),t.focus())}setHistoryScrollRestoration(n){this.supportsScrolling()&&(this.window.history.scrollRestoration=n)}scrollToElement(n){const t=n.getBoundingClientRect(),r=t.left+this.window.pageXOffset,o=t.top+this.window.pageYOffset,i=this.offset();this.window.scrollTo(r-i[0],o-i[1])}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch{return!1}}}class lC{}class nF extends lO{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class yf extends nF{static makeCurrent(){!function cO(e){Xd||(Xd=e)}(new yf)}onAndCancel(n,t,r){return n.addEventListener(t,r),()=>{n.removeEventListener(t,r)}}dispatchEvent(n,t){n.dispatchEvent(t)}remove(n){n.parentNode&&n.parentNode.removeChild(n)}createElement(n,t){return(t=t||this.getDefaultDocument()).createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,t){return"window"===t?window:"document"===t?n:"body"===t?n.body:null}getBaseHref(n){const t=function rF(){return Gi=Gi||document.querySelector("base"),Gi?Gi.getAttribute("href"):null}();return null==t?null:function oF(e){gu=gu||document.createElement("a"),gu.setAttribute("href",e);const n=gu.pathname;return"/"===n.charAt(0)?n:`/${n}`}(t)}resetBaseElement(){Gi=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return tC(document.cookie,n)}}let gu,Gi=null,sF=(()=>{class e{build(){return new XMLHttpRequest}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();const Df=new P("EventManagerPlugins");let gC=(()=>{class e{constructor(t,r){this._zone=r,this._eventNameToPlugin=new Map,t.forEach(o=>{o.manager=this}),this._plugins=t.slice().reverse()}addEventListener(t,r,o){return this._findPluginFor(r).addEventListener(t,r,o)}getZone(){return this._zone}_findPluginFor(t){let r=this._eventNameToPlugin.get(t);if(r)return r;if(r=this._plugins.find(i=>i.supports(t)),!r)throw new I(5101,!1);return this._eventNameToPlugin.set(t,r),r}static#e=this.\u0275fac=function(r){return new(r||e)(k(Df),k(ge))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();class mC{constructor(n){this._doc=n}}const Cf="ng-app-id";let vC=(()=>{class e{constructor(t,r,o,i={}){this.doc=t,this.appId=r,this.nonce=o,this.platformId=i,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=cC(i),this.resetHostNodes()}addStyles(t){for(const r of t)1===this.changeUsageCount(r,1)&&this.onStyleAdded(r)}removeStyles(t){for(const r of t)this.changeUsageCount(r,-1)<=0&&this.onStyleRemoved(r)}ngOnDestroy(){const t=this.styleNodesInDOM;t&&(t.forEach(r=>r.remove()),t.clear());for(const r of this.getAllStyles())this.onStyleRemoved(r);this.resetHostNodes()}addHost(t){this.hostNodes.add(t);for(const r of this.getAllStyles())this.addStyleToHost(t,r)}removeHost(t){this.hostNodes.delete(t)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(t){for(const r of this.hostNodes)this.addStyleToHost(r,t)}onStyleRemoved(t){const r=this.styleRef;r.get(t)?.elements?.forEach(o=>o.remove()),r.delete(t)}collectServerRenderedStyles(){const t=this.doc.head?.querySelectorAll(`style[${Cf}="${this.appId}"]`);if(t?.length){const r=new Map;return t.forEach(o=>{null!=o.textContent&&r.set(o.textContent,o)}),r}return null}changeUsageCount(t,r){const o=this.styleRef;if(o.has(t)){const i=o.get(t);return i.usage+=r,i.usage}return o.set(t,{usage:r,elements:[]}),r}getStyleElement(t,r){const o=this.styleNodesInDOM,i=o?.get(r);if(i?.parentNode===t)return o.delete(r),i.removeAttribute(Cf),i;{const s=this.doc.createElement("style");return this.nonce&&s.setAttribute("nonce",this.nonce),s.textContent=r,this.platformIsServer&&s.setAttribute(Cf,this.appId),s}}addStyleToHost(t,r){const o=this.getStyleElement(t,r);t.appendChild(o);const i=this.styleRef,s=i.get(r)?.elements;s?s.push(o):i.set(r,{elements:[o],usage:1})}resetHostNodes(){const t=this.hostNodes;t.clear(),t.add(this.doc.head)}static#e=this.\u0275fac=function(r){return new(r||e)(k(Ct),k(pa),k(bm,8),k(cr))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();const wf={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},bf=/%COMP%/g,lF=new P("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function yC(e,n){return n.map(t=>t.replace(bf,e))}let DC=(()=>{class e{constructor(t,r,o,i,s,a,u,c=null){this.eventManager=t,this.sharedStylesHost=r,this.appId=o,this.removeStylesOnCompDestroy=i,this.doc=s,this.platformId=a,this.ngZone=u,this.nonce=c,this.rendererByCompId=new Map,this.platformIsServer=cC(a),this.defaultRenderer=new Ef(t,s,u,this.platformIsServer)}createRenderer(t,r){if(!t||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===Vt.ShadowDom&&(r={...r,encapsulation:Vt.Emulated});const o=this.getOrCreateRenderer(t,r);return o instanceof wC?o.applyToHost(t):o instanceof If&&o.applyStyles(),o}getOrCreateRenderer(t,r){const o=this.rendererByCompId;let i=o.get(r.id);if(!i){const s=this.doc,a=this.ngZone,u=this.eventManager,c=this.sharedStylesHost,l=this.removeStylesOnCompDestroy,d=this.platformIsServer;switch(r.encapsulation){case Vt.Emulated:i=new wC(u,c,r,this.appId,l,s,a,d);break;case Vt.ShadowDom:return new pF(u,c,t,r,s,a,this.nonce,d);default:i=new If(u,c,r,l,s,a,d)}o.set(r.id,i)}return i}ngOnDestroy(){this.rendererByCompId.clear()}static#e=this.\u0275fac=function(r){return new(r||e)(k(gC),k(vC),k(pa),k(lF),k(Ct),k(cr),k(ge),k(bm))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();class Ef{constructor(n,t,r,o){this.eventManager=n,this.doc=t,this.ngZone=r,this.platformIsServer=o,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(n,t){return t?this.doc.createElementNS(wf[t]||t,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,t){(CC(n)?n.content:n).appendChild(t)}insertBefore(n,t,r){n&&(CC(n)?n.content:n).insertBefore(t,r)}removeChild(n,t){n&&n.removeChild(t)}selectRootElement(n,t){let r="string"==typeof n?this.doc.querySelector(n):n;if(!r)throw new I(-5104,!1);return t||(r.textContent=""),r}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,t,r,o){if(o){t=o+":"+t;const i=wf[o];i?n.setAttributeNS(i,t,r):n.setAttribute(t,r)}else n.setAttribute(t,r)}removeAttribute(n,t,r){if(r){const o=wf[r];o?n.removeAttributeNS(o,t):n.removeAttribute(`${r}:${t}`)}else n.removeAttribute(t)}addClass(n,t){n.classList.add(t)}removeClass(n,t){n.classList.remove(t)}setStyle(n,t,r,o){o&(jn.DashCase|jn.Important)?n.style.setProperty(t,r,o&jn.Important?"important":""):n.style[t]=r}removeStyle(n,t,r){r&jn.DashCase?n.style.removeProperty(t):n.style[t]=""}setProperty(n,t,r){n[t]=r}setValue(n,t){n.nodeValue=t}listen(n,t,r){if("string"==typeof n&&!(n=Gn().getGlobalEventTarget(this.doc,n)))throw new Error(`Unsupported event target ${n} for event ${t}`);return this.eventManager.addEventListener(n,t,this.decoratePreventDefault(r))}decoratePreventDefault(n){return t=>{if("__ngUnwrap__"===t)return n;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>n(t)):n(t))&&t.preventDefault()}}}function CC(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class pF extends Ef{constructor(n,t,r,o,i,s,a,u){super(n,i,s,u),this.sharedStylesHost=t,this.hostEl=r,this.shadowRoot=r.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=yC(o.id,o.styles);for(const l of c){const d=document.createElement("style");a&&d.setAttribute("nonce",a),d.textContent=l,this.shadowRoot.appendChild(d)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,t){return super.appendChild(this.nodeOrShadowRoot(n),t)}insertBefore(n,t,r){return super.insertBefore(this.nodeOrShadowRoot(n),t,r)}removeChild(n,t){return super.removeChild(this.nodeOrShadowRoot(n),t)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class If extends Ef{constructor(n,t,r,o,i,s,a,u){super(n,i,s,a),this.sharedStylesHost=t,this.removeStylesOnCompDestroy=o,this.styles=u?yC(u,r.styles):r.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class wC extends If{constructor(n,t,r,o,i,s,a,u){const c=o+"-"+r.id;super(n,t,r,i,s,a,u,c),this.contentAttr=function dF(e){return"_ngcontent-%COMP%".replace(bf,e)}(c),this.hostAttr=function fF(e){return"_nghost-%COMP%".replace(bf,e)}(c)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,t){const r=super.createElement(n,t);return super.setAttribute(r,this.contentAttr,""),r}}let gF=(()=>{class e extends mC{constructor(t){super(t)}supports(t){return!0}addEventListener(t,r,o){return t.addEventListener(r,o,!1),()=>this.removeEventListener(t,r,o)}removeEventListener(t,r,o){return t.removeEventListener(r,o)}static#e=this.\u0275fac=function(r){return new(r||e)(k(Ct))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();const bC=["alt","control","meta","shift"],mF={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},vF={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let _F=(()=>{class e extends mC{constructor(t){super(t)}supports(t){return null!=e.parseEventName(t)}addEventListener(t,r,o){const i=e.parseEventName(r),s=e.eventCallback(i.fullKey,o,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Gn().onAndCancel(t,i.domEventName,s))}static parseEventName(t){const r=t.toLowerCase().split("."),o=r.shift();if(0===r.length||"keydown"!==o&&"keyup"!==o)return null;const i=e._normalizeKey(r.pop());let s="",a=r.indexOf("code");if(a>-1&&(r.splice(a,1),s="code."),bC.forEach(c=>{const l=r.indexOf(c);l>-1&&(r.splice(l,1),s+=c+".")}),s+=i,0!=r.length||0===i.length)return null;const u={};return u.domEventName=o,u.fullKey=s,u}static matchEventFullKeyCode(t,r){let o=mF[t.key]||t.key,i="";return r.indexOf("code.")>-1&&(o=t.code,i="code."),!(null==o||!o)&&(o=o.toLowerCase()," "===o?o="space":"."===o&&(o="dot"),bC.forEach(s=>{s!==o&&(0,vF[s])(t)&&(i+=s+".")}),i+=o,i===r)}static eventCallback(t,r,o){return i=>{e.matchEventFullKeyCode(i,t)&&o.runGuarded(()=>r(i))}}static _normalizeKey(t){return"esc"===t?"escape":t}static#e=this.\u0275fac=function(r){return new(r||e)(k(Ct))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();const wF=vD(YR,"browser",[{provide:cr,useValue:"browser"},{provide:wm,useValue:function yF(){yf.makeCurrent()},multi:!0},{provide:Ct,useFactory:function CF(){return function nM(e){pl=e}(document),document},deps:[]}]),bF=new P(""),MC=[{provide:Za,useClass:class iF{addToWindow(n){he.getAngularTestability=(r,o=!0)=>{const i=n.findTestabilityInTree(r,o);if(null==i)throw new I(5103,!1);return i},he.getAllAngularTestabilities=()=>n.getAllTestabilities(),he.getAllAngularRootElements=()=>n.getAllRootElements(),he.frameworkStabilizers||(he.frameworkStabilizers=[]),he.frameworkStabilizers.push(r=>{const o=he.getAllAngularTestabilities();let i=o.length,s=!1;const a=function(u){s=s||u,i--,0==i&&r(s)};o.forEach(u=>{u.whenStable(a)})})}findTestabilityInTree(n,t,r){return null==t?null:n.getTestability(t)??(r?Gn().isShadowRoot(t)?this.findTestabilityInTree(n,t.host,!0):this.findTestabilityInTree(n,t.parentElement,!0):null)}},deps:[]},{provide:fD,useClass:Bd,deps:[ge,$d,Za]},{provide:Bd,useClass:Bd,deps:[ge,$d,Za]}],SC=[{provide:El,useValue:"root"},{provide:Dn,useFactory:function DF(){return new Dn},deps:[]},{provide:Df,useClass:gF,multi:!0,deps:[Ct,ge,cr]},{provide:Df,useClass:_F,multi:!0,deps:[Ct]},DC,vC,gC,{provide:Am,useExisting:DC},{provide:lC,useClass:sF,deps:[]},[]];let EF=(()=>{class e{constructor(t){}static withServerTransition(t){return{ngModule:e,providers:[{provide:pa,useValue:t.appId}]}}static#e=this.\u0275fac=function(r){return new(r||e)(k(bF,12))};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({providers:[...SC,...MC],imports:[SP,QR]})}return e})(),TC=(()=>{class e{constructor(t){this._doc=t}getTitle(){return this._doc.title}setTitle(t){this._doc.title=t||""}static#e=this.\u0275fac=function(r){return new(r||e)(k(Ct))};static#t=this.\u0275prov=V({token:e,factory:function(r){let o=null;return o=r?new r:function MF(){return new TC(k(Ct))}(),o},providedIn:"root"})}return e})();function Io(e,n){return le(n)?Le(e,n,1):Le(e,1)}function Tn(e,n){return xe((t,r)=>{let o=0;t.subscribe(Te(r,i=>e.call(n,i,o++)&&r.next(i)))})}function qi(e){return xe((n,t)=>{try{n.subscribe(t)}finally{t.add(e)}})}typeof window<"u"&&window;class mu{}class vu{}class an{constructor(n){this.normalizedNames=new Map,this.lazyUpdate=null,n?"string"==typeof n?this.lazyInit=()=>{this.headers=new Map,n.split("\n").forEach(t=>{const r=t.indexOf(":");if(r>0){const o=t.slice(0,r),i=o.toLowerCase(),s=t.slice(r+1).trim();this.maybeSetNormalizedName(o,i),this.headers.has(i)?this.headers.get(i).push(s):this.headers.set(i,[s])}})}:typeof Headers<"u"&&n instanceof Headers?(this.headers=new Map,n.forEach((t,r)=>{this.setHeaderEntries(r,t)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(n).forEach(([t,r])=>{this.setHeaderEntries(t,r)})}:this.headers=new Map}has(n){return this.init(),this.headers.has(n.toLowerCase())}get(n){this.init();const t=this.headers.get(n.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(n){return this.init(),this.headers.get(n.toLowerCase())||null}append(n,t){return this.clone({name:n,value:t,op:"a"})}set(n,t){return this.clone({name:n,value:t,op:"s"})}delete(n,t){return this.clone({name:n,value:t,op:"d"})}maybeSetNormalizedName(n,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,n)}init(){this.lazyInit&&(this.lazyInit instanceof an?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(n=>this.applyUpdate(n)),this.lazyUpdate=null))}copyFrom(n){n.init(),Array.from(n.headers.keys()).forEach(t=>{this.headers.set(t,n.headers.get(t)),this.normalizedNames.set(t,n.normalizedNames.get(t))})}clone(n){const t=new an;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof an?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([n]),t}applyUpdate(n){const t=n.name.toLowerCase();switch(n.op){case"a":case"s":let r=n.value;if("string"==typeof r&&(r=[r]),0===r.length)return;this.maybeSetNormalizedName(n.name,t);const o=("a"===n.op?this.headers.get(t):void 0)||[];o.push(...r),this.headers.set(t,o);break;case"d":const i=n.value;if(i){let s=this.headers.get(t);if(!s)return;s=s.filter(a=>-1===i.indexOf(a)),0===s.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,s)}else this.headers.delete(t),this.normalizedNames.delete(t)}}setHeaderEntries(n,t){const r=(Array.isArray(t)?t:[t]).map(i=>i.toString()),o=n.toLowerCase();this.headers.set(o,r),this.maybeSetNormalizedName(n,o)}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>n(this.normalizedNames.get(t),this.headers.get(t)))}}class NF{encodeKey(n){return RC(n)}encodeValue(n){return RC(n)}decodeKey(n){return decodeURIComponent(n)}decodeValue(n){return decodeURIComponent(n)}}const OF=/%(\d[a-f0-9])/gi,PF={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function RC(e){return encodeURIComponent(e).replace(OF,(n,t)=>PF[t]??n)}function _u(e){return`${e}`}class Wn{constructor(n={}){if(this.updates=null,this.cloneFrom=null,this.encoder=n.encoder||new NF,n.fromString){if(n.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function RF(e,n){const t=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(o=>{const i=o.indexOf("="),[s,a]=-1==i?[n.decodeKey(o),""]:[n.decodeKey(o.slice(0,i)),n.decodeValue(o.slice(i+1))],u=t.get(s)||[];u.push(a),t.set(s,u)}),t}(n.fromString,this.encoder)}else n.fromObject?(this.map=new Map,Object.keys(n.fromObject).forEach(t=>{const r=n.fromObject[t],o=Array.isArray(r)?r.map(_u):[_u(r)];this.map.set(t,o)})):this.map=null}has(n){return this.init(),this.map.has(n)}get(n){this.init();const t=this.map.get(n);return t?t[0]:null}getAll(n){return this.init(),this.map.get(n)||null}keys(){return this.init(),Array.from(this.map.keys())}append(n,t){return this.clone({param:n,value:t,op:"a"})}appendAll(n){const t=[];return Object.keys(n).forEach(r=>{const o=n[r];Array.isArray(o)?o.forEach(i=>{t.push({param:r,value:i,op:"a"})}):t.push({param:r,value:o,op:"a"})}),this.clone(t)}set(n,t){return this.clone({param:n,value:t,op:"s"})}delete(n,t){return this.clone({param:n,value:t,op:"d"})}toString(){return this.init(),this.keys().map(n=>{const t=this.encoder.encodeKey(n);return this.map.get(n).map(r=>t+"="+this.encoder.encodeValue(r)).join("&")}).filter(n=>""!==n).join("&")}clone(n){const t=new Wn({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(n),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(n=>this.map.set(n,this.cloneFrom.map.get(n))),this.updates.forEach(n=>{switch(n.op){case"a":case"s":const t=("a"===n.op?this.map.get(n.param):void 0)||[];t.push(_u(n.value)),this.map.set(n.param,t);break;case"d":if(void 0===n.value){this.map.delete(n.param);break}{let r=this.map.get(n.param)||[];const o=r.indexOf(_u(n.value));-1!==o&&r.splice(o,1),r.length>0?this.map.set(n.param,r):this.map.delete(n.param)}}}),this.cloneFrom=this.updates=null)}}class FF{constructor(){this.map=new Map}set(n,t){return this.map.set(n,t),this}get(n){return this.map.has(n)||this.map.set(n,n.defaultValue()),this.map.get(n)}delete(n){return this.map.delete(n),this}has(n){return this.map.has(n)}keys(){return this.map.keys()}}function OC(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function PC(e){return typeof Blob<"u"&&e instanceof Blob}function FC(e){return typeof FormData<"u"&&e instanceof FormData}class Wi{constructor(n,t,r,o){let i;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=n.toUpperCase(),function kF(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||o?(this.body=void 0!==r?r:null,i=o):i=r,i&&(this.reportProgress=!!i.reportProgress,this.withCredentials=!!i.withCredentials,i.responseType&&(this.responseType=i.responseType),i.headers&&(this.headers=i.headers),i.context&&(this.context=i.context),i.params&&(this.params=i.params)),this.headers||(this.headers=new an),this.context||(this.context=new FF),this.params){const s=this.params.toString();if(0===s.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":ad.set(g,n.setHeaders[g]),u)),n.setParams&&(c=Object.keys(n.setParams).reduce((d,g)=>d.set(g,n.setParams[g]),c)),new Wi(t,r,i,{params:c,headers:u,context:l,reportProgress:a,responseType:o,withCredentials:s})}}var Mo=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(Mo||{});class Sf{constructor(n,t=200,r="OK"){this.headers=n.headers||new an,this.status=void 0!==n.status?n.status:t,this.statusText=n.statusText||r,this.url=n.url||null,this.ok=this.status>=200&&this.status<300}}class Tf extends Sf{constructor(n={}){super(n),this.type=Mo.ResponseHeader}clone(n={}){return new Tf({headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class So extends Sf{constructor(n={}){super(n),this.type=Mo.Response,this.body=void 0!==n.body?n.body:null}clone(n={}){return new So({body:void 0!==n.body?n.body:this.body,headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class kC extends Sf{constructor(n){super(n,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${n.url||"(unknown url)"}`:`Http failure response for ${n.url||"(unknown url)"}: ${n.status} ${n.statusText}`,this.error=n.error||null}}function Af(e,n){return{body:n,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}let Zi=(()=>{class e{constructor(t){this.handler=t}request(t,r,o={}){let i;if(t instanceof Wi)i=t;else{let u,c;u=o.headers instanceof an?o.headers:new an(o.headers),o.params&&(c=o.params instanceof Wn?o.params:new Wn({fromObject:o.params})),i=new Wi(t,r,void 0!==o.body?o.body:null,{headers:u,context:o.context,params:c,reportProgress:o.reportProgress,responseType:o.responseType||"json",withCredentials:o.withCredentials})}const s=B(i).pipe(Io(u=>this.handler.handle(u)));if(t instanceof Wi||"events"===o.observe)return s;const a=s.pipe(Tn(u=>u instanceof So));switch(o.observe||"body"){case"body":switch(i.responseType){case"arraybuffer":return a.pipe(ne(u=>{if(null!==u.body&&!(u.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return u.body}));case"blob":return a.pipe(ne(u=>{if(null!==u.body&&!(u.body instanceof Blob))throw new Error("Response is not a Blob.");return u.body}));case"text":return a.pipe(ne(u=>{if(null!==u.body&&"string"!=typeof u.body)throw new Error("Response is not a string.");return u.body}));default:return a.pipe(ne(u=>u.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${o.observe}}`)}}delete(t,r={}){return this.request("DELETE",t,r)}get(t,r={}){return this.request("GET",t,r)}head(t,r={}){return this.request("HEAD",t,r)}jsonp(t,r){return this.request("JSONP",t,{params:(new Wn).append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,r={}){return this.request("OPTIONS",t,r)}patch(t,r,o={}){return this.request("PATCH",t,Af(o,r))}post(t,r,o={}){return this.request("POST",t,Af(o,r))}put(t,r,o={}){return this.request("PUT",t,Af(o,r))}static#e=this.\u0275fac=function(r){return new(r||e)(k(mu))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();function jC(e,n){return n(e)}function jF(e,n){return(t,r)=>n.intercept(t,{handle:o=>e(o,r)})}const $F=new P(""),Yi=new P(""),BC=new P("");function HF(){let e=null;return(n,t)=>{null===e&&(e=(R($F,{optional:!0})??[]).reduceRight(jF,jC));const r=R(qa),o=r.add();return e(n,t).pipe(qi(()=>r.remove(o)))}}let $C=(()=>{class e extends mu{constructor(t,r){super(),this.backend=t,this.injector=r,this.chain=null,this.pendingTasks=R(qa)}handle(t){if(null===this.chain){const o=Array.from(new Set([...this.injector.get(Yi),...this.injector.get(BC,[])]));this.chain=o.reduceRight((i,s)=>function BF(e,n,t){return(r,o)=>t.runInContext(()=>n(r,i=>e(i,o)))}(i,s,this.injector),jC)}const r=this.pendingTasks.add();return this.chain(t,o=>this.backend.handle(o)).pipe(qi(()=>this.pendingTasks.remove(r)))}static#e=this.\u0275fac=function(r){return new(r||e)(k(vu),k(vt))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();const qF=/^\)\]\}',?\n/;let UC=(()=>{class e{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new I(-2800,!1);const r=this.xhrFactory;return(r.\u0275loadImpl?Ne(r.\u0275loadImpl()):B(null)).pipe(Lt(()=>new Ee(i=>{const s=r.build();if(s.open(t.method,t.urlWithParams),t.withCredentials&&(s.withCredentials=!0),t.headers.forEach((y,C)=>s.setRequestHeader(y,C.join(","))),t.headers.has("Accept")||s.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const y=t.detectContentTypeHeader();null!==y&&s.setRequestHeader("Content-Type",y)}if(t.responseType){const y=t.responseType.toLowerCase();s.responseType="json"!==y?y:"text"}const a=t.serializeBody();let u=null;const c=()=>{if(null!==u)return u;const y=s.statusText||"OK",C=new an(s.getAllResponseHeaders()),M=function WF(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(s)||t.url;return u=new Tf({headers:C,status:s.status,statusText:y,url:M}),u},l=()=>{let{headers:y,status:C,statusText:M,url:D}=c(),O=null;204!==C&&(O=typeof s.response>"u"?s.responseText:s.response),0===C&&(C=O?200:0);let j=C>=200&&C<300;if("json"===t.responseType&&"string"==typeof O){const Q=O;O=O.replace(qF,"");try{O=""!==O?JSON.parse(O):null}catch(ke){O=Q,j&&(j=!1,O={error:ke,text:O})}}j?(i.next(new So({body:O,headers:y,status:C,statusText:M,url:D||void 0})),i.complete()):i.error(new kC({error:O,headers:y,status:C,statusText:M,url:D||void 0}))},d=y=>{const{url:C}=c(),M=new kC({error:y,status:s.status||0,statusText:s.statusText||"Unknown Error",url:C||void 0});i.error(M)};let g=!1;const v=y=>{g||(i.next(c()),g=!0);let C={type:Mo.DownloadProgress,loaded:y.loaded};y.lengthComputable&&(C.total=y.total),"text"===t.responseType&&s.responseText&&(C.partialText=s.responseText),i.next(C)},_=y=>{let C={type:Mo.UploadProgress,loaded:y.loaded};y.lengthComputable&&(C.total=y.total),i.next(C)};return s.addEventListener("load",l),s.addEventListener("error",d),s.addEventListener("timeout",d),s.addEventListener("abort",d),t.reportProgress&&(s.addEventListener("progress",v),null!==a&&s.upload&&s.upload.addEventListener("progress",_)),s.send(a),i.next({type:Mo.Sent}),()=>{s.removeEventListener("error",d),s.removeEventListener("abort",d),s.removeEventListener("load",l),s.removeEventListener("timeout",d),t.reportProgress&&(s.removeEventListener("progress",v),null!==a&&s.upload&&s.upload.removeEventListener("progress",_)),s.readyState!==s.DONE&&s.abort()}})))}static#e=this.\u0275fac=function(r){return new(r||e)(k(lC))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();const xf=new P("XSRF_ENABLED"),zC=new P("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),GC=new P("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class qC{}let QF=(()=>{class e{constructor(t,r,o){this.doc=t,this.platform=r,this.cookieName=o,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=tC(t,this.cookieName),this.lastCookieString=t),this.lastToken}static#e=this.\u0275fac=function(r){return new(r||e)(k(Ct),k(cr),k(zC))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();function XF(e,n){const t=e.url.toLowerCase();if(!R(xf)||"GET"===e.method||"HEAD"===e.method||t.startsWith("http://")||t.startsWith("https://"))return n(e);const r=R(qC).getToken(),o=R(GC);return null!=r&&!e.headers.has(o)&&(e=e.clone({headers:e.headers.set(o,r)})),n(e)}var Zn=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(Zn||{});function JF(...e){const n=[Zi,UC,$C,{provide:mu,useExisting:$C},{provide:vu,useExisting:UC},{provide:Yi,useValue:XF,multi:!0},{provide:xf,useValue:!0},{provide:qC,useClass:QF}];for(const t of e)n.push(...t.\u0275providers);return function Cl(e){return{\u0275providers:e}}(n)}const WC=new P("LEGACY_INTERCEPTOR_FN");function KF(){return function mr(e,n){return{\u0275kind:e,\u0275providers:n}}(Zn.LegacyInterceptors,[{provide:WC,useFactory:HF},{provide:Yi,useExisting:WC,multi:!0}])}let ek=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({providers:[JF(KF())]})}return e})();const{isArray:sk}=Array,{getPrototypeOf:ak,prototype:uk,keys:ck}=Object;function ZC(e){if(1===e.length){const n=e[0];if(sk(n))return{args:n,keys:null};if(function lk(e){return e&&"object"==typeof e&&ak(e)===uk}(n)){const t=ck(n);return{args:t.map(r=>n[r]),keys:t}}}return{args:e,keys:null}}const{isArray:dk}=Array;function YC(e){return ne(n=>function fk(e,n){return dk(n)?e(...n):e(n)}(e,n))}function QC(e,n){return e.reduce((t,r,o)=>(t[r]=n[o],t),{})}let XC=(()=>{class e{constructor(t,r){this._renderer=t,this._elementRef=r,this.onChange=o=>{},this.onTouched=()=>{}}setProperty(t,r){this._renderer.setProperty(this._elementRef.nativeElement,t,r)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}static#e=this.\u0275fac=function(r){return new(r||e)(b(yn),b(_t))};static#t=this.\u0275dir=z({type:e})}return e})(),vr=(()=>{class e extends XC{static#e=this.\u0275fac=function(){let t;return function(o){return(t||(t=He(e)))(o||e)}}();static#t=this.\u0275dir=z({type:e,features:[ue]})}return e})();const un=new P("NgValueAccessor"),gk={provide:un,useExisting:fe(()=>Qi),multi:!0},vk=new P("CompositionEventMode");let Qi=(()=>{class e extends XC{constructor(t,r,o){super(t,r),this._compositionMode=o,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function mk(){const e=Gn()?Gn().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(t){this.setProperty("value",t??"")}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}static#e=this.\u0275fac=function(r){return new(r||e)(b(yn),b(_t),b(vk,8))};static#t=this.\u0275dir=z({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(r,o){1&r&&re("input",function(s){return o._handleInput(s.target.value)})("blur",function(){return o.onTouched()})("compositionstart",function(){return o._compositionStart()})("compositionend",function(s){return o._compositionEnd(s.target.value)})},features:[ye([gk]),ue]})}return e})();const qe=new P("NgValidators"),Qn=new P("NgAsyncValidators");function uw(e){return null!=e}function cw(e){return Ti(e)?Ne(e):e}function lw(e){let n={};return e.forEach(t=>{n=null!=t?{...n,...t}:n}),0===Object.keys(n).length?null:n}function dw(e,n){return n.map(t=>t(e))}function fw(e){return e.map(n=>function yk(e){return!e.validate}(n)?n:t=>n.validate(t))}function Nf(e){return null!=e?function hw(e){if(!e)return null;const n=e.filter(uw);return 0==n.length?null:function(t){return lw(dw(t,n))}}(fw(e)):null}function Rf(e){return null!=e?function pw(e){if(!e)return null;const n=e.filter(uw);return 0==n.length?null:function(t){return function hk(...e){const n=Gh(e),{args:t,keys:r}=ZC(e),o=new Ee(i=>{const{length:s}=t;if(!s)return void i.complete();const a=new Array(s);let u=s,c=s;for(let l=0;l{d||(d=!0,c--),a[l]=g},()=>u--,void 0,()=>{(!u||!d)&&(c||i.next(r?QC(r,a):a),i.complete())}))}});return n?o.pipe(YC(n)):o}(dw(t,n).map(cw)).pipe(ne(lw))}}(fw(e)):null}function gw(e,n){return null===e?[n]:Array.isArray(e)?[...e,n]:[e,n]}function Of(e){return e?Array.isArray(e)?e:[e]:[]}function Cu(e,n){return Array.isArray(e)?e.includes(n):e===n}function _w(e,n){const t=Of(n);return Of(e).forEach(o=>{Cu(t,o)||t.push(o)}),t}function yw(e,n){return Of(n).filter(t=>!Cu(e,t))}class Dw{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(n){this._rawValidators=n||[],this._composedValidatorFn=Nf(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=Rf(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(n){this._onDestroyCallbacks.push(n)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(n=>n()),this._onDestroyCallbacks=[]}reset(n=void 0){this.control&&this.control.reset(n)}hasError(n,t){return!!this.control&&this.control.hasError(n,t)}getError(n,t){return this.control?this.control.getError(n,t):null}}class rt extends Dw{get formDirective(){return null}get path(){return null}}class Xn extends Dw{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class Cw{constructor(n){this._cd=n}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let Pf=(()=>{class e extends Cw{constructor(t){super(t)}static#e=this.\u0275fac=function(r){return new(r||e)(b(Xn,2))};static#t=this.\u0275dir=z({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(r,o){2&r&&Pa("ng-untouched",o.isUntouched)("ng-touched",o.isTouched)("ng-pristine",o.isPristine)("ng-dirty",o.isDirty)("ng-valid",o.isValid)("ng-invalid",o.isInvalid)("ng-pending",o.isPending)},features:[ue]})}return e})(),ww=(()=>{class e extends Cw{constructor(t){super(t)}static#e=this.\u0275fac=function(r){return new(r||e)(b(rt,10))};static#t=this.\u0275dir=z({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(r,o){2&r&&Pa("ng-untouched",o.isUntouched)("ng-touched",o.isTouched)("ng-pristine",o.isPristine)("ng-dirty",o.isDirty)("ng-valid",o.isValid)("ng-invalid",o.isInvalid)("ng-pending",o.isPending)("ng-submitted",o.isSubmitted)},features:[ue]})}return e})();const Xi="VALID",bu="INVALID",To="PENDING",Ji="DISABLED";function Lf(e){return(Eu(e)?e.validators:e)||null}function Vf(e,n){return(Eu(n)?n.asyncValidators:e)||null}function Eu(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}class Mw{constructor(n,t){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(n),this._assignAsyncValidators(t)}get validator(){return this._composedValidatorFn}set validator(n){this._rawValidators=this._composedValidatorFn=n}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(n){this._rawAsyncValidators=this._composedAsyncValidatorFn=n}get parent(){return this._parent}get valid(){return this.status===Xi}get invalid(){return this.status===bu}get pending(){return this.status==To}get disabled(){return this.status===Ji}get enabled(){return this.status!==Ji}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(n){this._assignValidators(n)}setAsyncValidators(n){this._assignAsyncValidators(n)}addValidators(n){this.setValidators(_w(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(_w(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(yw(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(yw(n,this._rawAsyncValidators))}hasValidator(n){return Cu(this._rawValidators,n)}hasAsyncValidator(n){return Cu(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){this.touched=!0,this._parent&&!n.onlySelf&&this._parent.markAsTouched(n)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(n=>n.markAllAsTouched())}markAsUntouched(n={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}markAsDirty(n={}){this.pristine=!1,this._parent&&!n.onlySelf&&this._parent.markAsDirty(n)}markAsPristine(n={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}markAsPending(n={}){this.status=To,!1!==n.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!n.onlySelf&&this._parent.markAsPending(n)}disable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=Ji,this.errors=null,this._forEachChild(r=>{r.disable({...n,onlySelf:!0})}),this._updateValue(),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...n,skipPristineCheck:t}),this._onDisabledChange.forEach(r=>r(!0))}enable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=Xi,this._forEachChild(r=>{r.enable({...n,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors({...n,skipPristineCheck:t}),this._onDisabledChange.forEach(r=>r(!1))}_updateAncestors(n){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(n){this._parent=n}getRawValue(){return this.value}updateValueAndValidity(n={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Xi||this.status===To)&&this._runAsyncValidator(n.emitEvent)),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity(n)}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Ji:Xi}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n){if(this.asyncValidator){this.status=To,this._hasOwnPendingAsyncValidator=!0;const t=cw(this.asyncValidator(this));this._asyncValidationSubscription=t.subscribe(r=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(r,{emitEvent:n})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(n,t={}){this.errors=n,this._updateControlsErrors(!1!==t.emitEvent)}get(n){let t=n;return null==t||(Array.isArray(t)||(t=t.split(".")),0===t.length)?null:t.reduce((r,o)=>r&&r._find(o),this)}getError(n,t){const r=t?this.get(t):this;return r&&r.errors?r.errors[n]:null}hasError(n,t){return!!this.getError(n,t)}get root(){let n=this;for(;n._parent;)n=n._parent;return n}_updateControlsErrors(n){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(n)}_initObservables(){this.valueChanges=new we,this.statusChanges=new we}_calculateStatus(){return this._allControlsDisabled()?Ji:this.errors?bu:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(To)?To:this._anyControlsHaveStatus(bu)?bu:Xi}_anyControlsHaveStatus(n){return this._anyControls(t=>t.status===n)}_anyControlsDirty(){return this._anyControls(n=>n.dirty)}_anyControlsTouched(){return this._anyControls(n=>n.touched)}_updatePristine(n={}){this.pristine=!this._anyControlsDirty(),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}_updateTouched(n={}){this.touched=this._anyControlsTouched(),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){Eu(n)&&null!=n.updateOn&&(this._updateOn=n.updateOn)}_parentMarkedDirty(n){return!n&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(n){return null}_assignValidators(n){this._rawValidators=Array.isArray(n)?n.slice():n,this._composedValidatorFn=function bk(e){return Array.isArray(e)?Nf(e):e||null}(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=function Ek(e){return Array.isArray(e)?Rf(e):e||null}(this._rawAsyncValidators)}}class jf extends Mw{constructor(n,t,r){super(Lf(t),Vf(r,t)),this.controls=n,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(n,t){return this.controls[n]?this.controls[n]:(this.controls[n]=t,t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange),t)}addControl(n,t,r={}){this.registerControl(n,t),this.updateValueAndValidity({emitEvent:r.emitEvent}),this._onCollectionChange()}removeControl(n,t={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}setControl(n,t,r={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],t&&this.registerControl(n,t),this.updateValueAndValidity({emitEvent:r.emitEvent}),this._onCollectionChange()}contains(n){return this.controls.hasOwnProperty(n)&&this.controls[n].enabled}setValue(n,t={}){(function Iw(e,n,t){e._forEachChild((r,o)=>{if(void 0===t[o])throw new I(1002,"")})})(this,0,n),Object.keys(n).forEach(r=>{(function Ew(e,n,t){const r=e.controls;if(!(n?Object.keys(r):r).length)throw new I(1e3,"");if(!r[t])throw new I(1001,"")})(this,!0,r),this.controls[r].setValue(n[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(n,t={}){null!=n&&(Object.keys(n).forEach(r=>{const o=this.controls[r];o&&o.patchValue(n[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(n={},t={}){this._forEachChild((r,o)=>{r.reset(n?n[o]:null,{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}getRawValue(){return this._reduceChildren({},(n,t,r)=>(n[r]=t.getRawValue(),n))}_syncPendingControls(){let n=this._reduceChildren(!1,(t,r)=>!!r._syncPendingControls()||t);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){Object.keys(this.controls).forEach(t=>{const r=this.controls[t];r&&n(r,t)})}_setUpControls(){this._forEachChild(n=>{n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(n){for(const[t,r]of Object.entries(this.controls))if(this.contains(t)&&n(r))return!0;return!1}_reduceValue(){return this._reduceChildren({},(t,r,o)=>((r.enabled||this.disabled)&&(t[o]=r.value),t))}_reduceChildren(n,t){let r=n;return this._forEachChild((o,i)=>{r=t(r,o,i)}),r}_allControlsDisabled(){for(const n of Object.keys(this.controls))if(this.controls[n].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(n){return this.controls.hasOwnProperty(n)?this.controls[n]:null}}const _r=new P("CallSetDisabledState",{providedIn:"root",factory:()=>Ki}),Ki="always";function es(e,n,t=Ki){Bf(e,n),n.valueAccessor.writeValue(e.value),(e.disabled||"always"===t)&&n.valueAccessor.setDisabledState?.(e.disabled),function Sk(e,n){n.valueAccessor.registerOnChange(t=>{e._pendingValue=t,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&Sw(e,n)})}(e,n),function Ak(e,n){const t=(r,o)=>{n.valueAccessor.writeValue(r),o&&n.viewToModelUpdate(r)};e.registerOnChange(t),n._registerOnDestroy(()=>{e._unregisterOnChange(t)})}(e,n),function Tk(e,n){n.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&Sw(e,n),"submit"!==e.updateOn&&e.markAsTouched()})}(e,n),function Mk(e,n){if(n.valueAccessor.setDisabledState){const t=r=>{n.valueAccessor.setDisabledState(r)};e.registerOnDisabledChange(t),n._registerOnDestroy(()=>{e._unregisterOnDisabledChange(t)})}}(e,n)}function Su(e,n){e.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(n)})}function Bf(e,n){const t=function mw(e){return e._rawValidators}(e);null!==n.validator?e.setValidators(gw(t,n.validator)):"function"==typeof t&&e.setValidators([t]);const r=function vw(e){return e._rawAsyncValidators}(e);null!==n.asyncValidator?e.setAsyncValidators(gw(r,n.asyncValidator)):"function"==typeof r&&e.setAsyncValidators([r]);const o=()=>e.updateValueAndValidity();Su(n._rawValidators,o),Su(n._rawAsyncValidators,o)}function Sw(e,n){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}const Pk={provide:rt,useExisting:fe(()=>Au)},ts=(()=>Promise.resolve())();let Au=(()=>{class e extends rt{constructor(t,r,o){super(),this.callSetDisabledState=o,this.submitted=!1,this._directives=new Set,this.ngSubmit=new we,this.form=new jf({},Nf(t),Rf(r))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){ts.then(()=>{const r=this._findContainer(t.path);t.control=r.registerControl(t.name,t.control),es(t.control,t,this.callSetDisabledState),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){ts.then(()=>{const r=this._findContainer(t.path);r&&r.removeControl(t.name),this._directives.delete(t)})}addFormGroup(t){ts.then(()=>{const r=this._findContainer(t.path),o=new jf({});(function Tw(e,n){Bf(e,n)})(o,t),r.registerControl(t.name,o),o.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){ts.then(()=>{const r=this._findContainer(t.path);r&&r.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,r){ts.then(()=>{this.form.get(t.path).setValue(r)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,function Aw(e,n){e._syncPendingControls(),n.forEach(t=>{const r=t.control;"submit"===r.updateOn&&r._pendingChange&&(t.viewToModelUpdate(r._pendingValue),r._pendingChange=!1)})}(this.form,this._directives),this.ngSubmit.emit(t),"dialog"===t?.target?.method}onReset(){this.resetForm()}resetForm(t=void 0){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}static#e=this.\u0275fac=function(r){return new(r||e)(b(qe,10),b(Qn,10),b(_r,8))};static#t=this.\u0275dir=z({type:e,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(r,o){1&r&&re("submit",function(s){return o.onSubmit(s)})("reset",function(){return o.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[ye([Pk]),ue]})}return e})();function xw(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function Nw(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const Rw=class extends Mw{constructor(n=null,t,r){super(Lf(t),Vf(r,t)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(n),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),Eu(t)&&(t.nonNullable||t.initialValueIsDefault)&&(this.defaultValue=Nw(n)?n.value:n)}setValue(n,t={}){this.value=this._pendingValue=n,this._onChange.length&&!1!==t.emitModelToViewChange&&this._onChange.forEach(r=>r(this.value,!1!==t.emitViewToModelChange)),this.updateValueAndValidity(t)}patchValue(n,t={}){this.setValue(n,t)}reset(n=this.defaultValue,t={}){this._applyFormState(n),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1}_updateValue(){}_anyControls(n){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(n){this._onChange.push(n)}_unregisterOnChange(n){xw(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){xw(this._onDisabledChange,n)}_forEachChild(n){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(n){Nw(n)?(this.value=this._pendingValue=n.value,n.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=n}},Lk={provide:Xn,useExisting:fe(()=>xu)},Fw=(()=>Promise.resolve())();let xu=(()=>{class e extends Xn{constructor(t,r,o,i,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this.control=new Rw,this._registered=!1,this.name="",this.update=new we,this._parent=t,this._setValidators(r),this._setAsyncValidators(o),this.valueAccessor=function Uf(e,n){if(!n)return null;let t,r,o;return Array.isArray(n),n.forEach(i=>{i.constructor===Qi?t=i:function Rk(e){return Object.getPrototypeOf(e.constructor)===vr}(i)?r=i:o=i}),o||r||t||null}(0,i)}ngOnChanges(t){if(this._checkForErrors(),!this._registered||"name"in t){if(this._registered&&(this._checkName(),this.formDirective)){const r=t.name.previousValue;this.formDirective.removeControl({name:r,path:this._getPath(r)})}this._setUpControl()}"isDisabled"in t&&this._updateDisabled(t),function Hf(e,n){if(!e.hasOwnProperty("model"))return!1;const t=e.model;return!!t.isFirstChange()||!Object.is(n,t.currentValue)}(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){es(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){Fw.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(t){const r=t.isDisabled.currentValue,o=0!==r&&function bo(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}(r);Fw.then(()=>{o&&!this.control.disabled?this.control.disable():!o&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(t){return this._parent?function Iu(e,n){return[...n.path,e]}(t,this._parent):[t]}static#e=this.\u0275fac=function(r){return new(r||e)(b(rt,9),b(qe,10),b(Qn,10),b(un,10),b(Qa,8),b(_r,8))};static#t=this.\u0275dir=z({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[ye([Lk]),ue,St]})}return e})(),kw=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275dir=z({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]})}return e})(),Vw=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({})}return e})();const zf=new P("NgModelWithFormControlWarning");let tb=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({imports:[Vw]})}return e})(),u2=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:_r,useValue:t.callSetDisabledState??Ki}]}}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({imports:[tb]})}return e})(),c2=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:zf,useValue:t.warnOnNgModelWithFormControl??"always"},{provide:_r,useValue:t.callSetDisabledState??Ki}]}}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({imports:[tb]})}return e})(),Nu=(()=>{class e{formatTransactionTime(t){const r=new Date(1e3*t);return"Invalid Date"===r.toString()?(console.error("Invalid Date Format:",t),"Invalid Date"):r.toLocaleDateString(void 0,{year:"numeric",month:"2-digit",day:"2-digit"})+", "+r.toLocaleTimeString()}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Ru=(()=>{class e{getTransactionType(t){return 0===t.inputs.length&&0===t.outputs.length?(console.log("Encrypted Message"),"Encrypted Message"):0===t.inputs.length&&1===t.outputs.length&&0===t.outputs[0].value?(console.log("Message"),"Message"):0===t.inputs.length&&t.outputs.length>=1&&t.outputs[0].value>0?(console.log("Coinbase"),"Coinbase"):t.inputs.length>0&&t.outputs.length>1&&t.outputs[0].value>0?(console.log("Coin Transfer"),"Coin Transfer"):0===t.outputs[0].value&&2===t.outputs.length?(console.log("Create Identity"),"Create Identity"):(console.log("Unknown Transaction Type"),"Unknown Transaction Type")}isEncryptedMessageTransaction(t){return 0===t.inputs.length&&0===t.outputs.length}isMessageTransaction(t){return 0===t.inputs.length&&1===t.outputs.length&&0===t.outputs[0].value}isCoinbaseTransaction(t){return 0===t.inputs.length&&t.outputs.length>=1&&t.outputs[0].value>0}isTransferTransaction(t){return t.inputs.length>0&&t.outputs.length>1&&t.outputs[0].value>0}isCreateIdentityTransaction(t){return 0===t.outputs[0].value&&2===t.outputs.length}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Xf(...e){const n=$o(e),t=Gh(e),{args:r,keys:o}=ZC(e);if(0===r.length)return Ne([],n);const i=new Ee(function d2(e,n,t=Nn){return r=>{nb(n,()=>{const{length:o}=e,i=new Array(o);let s=o,a=o;for(let u=0;u{const c=Ne(e[u],n);let l=!1;c.subscribe(Te(r,d=>{i[u]=d,l||(l=!0,a--),a||r.next(t(i.slice()))},()=>{--s||r.complete()}))},r)},r)}}(r,n,o?s=>QC(o,s):Nn));return t?i.pipe(YC(t)):i}function nb(e,n,t){e?fn(t,e,n):n()}const Ou=Vo(e=>function(){e(this),this.name="EmptyError",this.message="no elements in sequence"});function Jf(...e){return function f2(){return Mr(1)}()(Ne(e,$o(e)))}function rb(e){return new Ee(n=>{dt(e()).subscribe(n)})}function ns(e,n){const t=le(e)?e:()=>e,r=o=>o.error(t());return new Ee(n?o=>n.schedule(r,0,o):r)}function Kf(){return xe((e,n)=>{let t=null;e._refCount++;const r=Te(n,void 0,void 0,void 0,()=>{if(!e||e._refCount<=0||0<--e._refCount)return void(t=null);const o=e._connection,i=t;t=null,o&&(!i||o===i)&&o.unsubscribe(),n.unsubscribe()});e.subscribe(r),r.closed||(t=e.connect())})}class ob extends Ee{constructor(n,t){super(),this.source=n,this.subjectFactory=t,this._subject=null,this._refCount=0,this._connection=null,xh(n)&&(this.lift=n.lift)}_subscribe(n){return this.getSubject().subscribe(n)}getSubject(){const n=this._subject;return(!n||n.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:n}=this;this._subject=this._connection=null,n?.unsubscribe()}connect(){let n=this._connection;if(!n){n=this._connection=new lt;const t=this.getSubject();n.add(this.source.subscribe(Te(t,void 0,()=>{this._teardown(),t.complete()},r=>{this._teardown(),t.error(r)},()=>this._teardown()))),n.closed&&(this._connection=null,n=lt.EMPTY)}return n}refCount(){return Kf()(this)}}function Ao(e){return e<=0?()=>Zt:xe((n,t)=>{let r=0;n.subscribe(Te(t,o=>{++r<=e&&(t.next(o),e<=r&&t.complete())}))})}function Pu(e){return xe((n,t)=>{let r=!1;n.subscribe(Te(t,o=>{r=!0,t.next(o)},()=>{r||t.next(e),t.complete()}))})}function ib(e=p2){return xe((n,t)=>{let r=!1;n.subscribe(Te(t,o=>{r=!0,t.next(o)},()=>r?t.complete():t.error(e())))})}function p2(){return new Ou}function Dr(e,n){const t=arguments.length>=2;return r=>r.pipe(e?Tn((o,i)=>e(o,i,r)):Nn,Ao(1),t?Pu(n):ib(()=>new Ou))}function We(e,n,t){const r=le(e)||n||t?{next:e,error:n,complete:t}:e;return r?xe((o,i)=>{var s;null===(s=r.subscribe)||void 0===s||s.call(r);let a=!0;o.subscribe(Te(i,u=>{var c;null===(c=r.next)||void 0===c||c.call(r,u),i.next(u)},()=>{var u;a=!1,null===(u=r.complete)||void 0===u||u.call(r),i.complete()},u=>{var c;a=!1,null===(c=r.error)||void 0===c||c.call(r,u),i.error(u)},()=>{var u,c;a&&(null===(u=r.unsubscribe)||void 0===u||u.call(r)),null===(c=r.finalize)||void 0===c||c.call(r)}))}):Nn}function Cr(e){return xe((n,t)=>{let i,r=null,o=!1;r=n.subscribe(Te(t,void 0,void 0,s=>{i=dt(e(s,Cr(e)(n))),r?(r.unsubscribe(),r=null,i.subscribe(t)):o=!0})),o&&(r.unsubscribe(),r=null,i.subscribe(t))})}function eh(e){return e<=0?()=>Zt:xe((n,t)=>{let r=[];n.subscribe(Te(t,o=>{r.push(o),e{for(const o of r)t.next(o);t.complete()},void 0,()=>{r=null}))})}const Y="primary",rs=Symbol("RouteTitle");class D2{constructor(n){this.params=n||{}}has(n){return Object.prototype.hasOwnProperty.call(this.params,n)}get(n){if(this.has(n)){const t=this.params[n];return Array.isArray(t)?t[0]:t}return null}getAll(n){if(this.has(n)){const t=this.params[n];return Array.isArray(t)?t:[t]}return[]}get keys(){return Object.keys(this.params)}}function xo(e){return new D2(e)}function C2(e,n,t){const r=t.path.split("/");if(r.length>e.length||"full"===t.pathMatch&&(n.hasChildren()||r.lengthr[i]===o)}return e===n}function ab(e){return e.length>0?e[e.length-1]:null}function Jn(e){return function l2(e){return!!e&&(e instanceof Ee||le(e.lift)&&le(e.subscribe))}(e)?e:Ti(e)?Ne(Promise.resolve(e)):B(e)}const b2={exact:function lb(e,n,t){if(!wr(e.segments,n.segments)||!Fu(e.segments,n.segments,t)||e.numberOfChildren!==n.numberOfChildren)return!1;for(const r in n.children)if(!e.children[r]||!lb(e.children[r],n.children[r],t))return!1;return!0},subset:db},ub={exact:function E2(e,n){return cn(e,n)},subset:function I2(e,n){return Object.keys(n).length<=Object.keys(e).length&&Object.keys(n).every(t=>sb(e[t],n[t]))},ignored:()=>!0};function cb(e,n,t){return b2[t.paths](e.root,n.root,t.matrixParams)&&ub[t.queryParams](e.queryParams,n.queryParams)&&!("exact"===t.fragment&&e.fragment!==n.fragment)}function db(e,n,t){return fb(e,n,n.segments,t)}function fb(e,n,t,r){if(e.segments.length>t.length){const o=e.segments.slice(0,t.length);return!(!wr(o,t)||n.hasChildren()||!Fu(o,t,r))}if(e.segments.length===t.length){if(!wr(e.segments,t)||!Fu(e.segments,t,r))return!1;for(const o in n.children)if(!e.children[o]||!db(e.children[o],n.children[o],r))return!1;return!0}{const o=t.slice(0,e.segments.length),i=t.slice(e.segments.length);return!!(wr(e.segments,o)&&Fu(e.segments,o,r)&&e.children[Y])&&fb(e.children[Y],n,i,r)}}function Fu(e,n,t){return n.every((r,o)=>ub[t](e[o].parameters,r.parameters))}class No{constructor(n=new ce([],{}),t={},r=null){this.root=n,this.queryParams=t,this.fragment=r}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=xo(this.queryParams)),this._queryParamMap}toString(){return T2.serialize(this)}}class ce{constructor(n,t){this.segments=n,this.children=t,this.parent=null,Object.values(t).forEach(r=>r.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return ku(this)}}class os{constructor(n,t){this.path=n,this.parameters=t}get parameterMap(){return this._parameterMap||(this._parameterMap=xo(this.parameters)),this._parameterMap}toString(){return gb(this)}}function wr(e,n){return e.length===n.length&&e.every((t,r)=>t.path===n[r].path)}let is=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:function(){return new th},providedIn:"root"})}return e})();class th{parse(n){const t=new j2(n);return new No(t.parseRootSegment(),t.parseQueryParams(),t.parseFragment())}serialize(n){const t=`/${ss(n.root,!0)}`,r=function N2(e){const n=Object.keys(e).map(t=>{const r=e[t];return Array.isArray(r)?r.map(o=>`${Lu(t)}=${Lu(o)}`).join("&"):`${Lu(t)}=${Lu(r)}`}).filter(t=>!!t);return n.length?`?${n.join("&")}`:""}(n.queryParams);return`${t}${r}${"string"==typeof n.fragment?`#${function A2(e){return encodeURI(e)}(n.fragment)}`:""}`}}const T2=new th;function ku(e){return e.segments.map(n=>gb(n)).join("/")}function ss(e,n){if(!e.hasChildren())return ku(e);if(n){const t=e.children[Y]?ss(e.children[Y],!1):"",r=[];return Object.entries(e.children).forEach(([o,i])=>{o!==Y&&r.push(`${o}:${ss(i,!1)}`)}),r.length>0?`${t}(${r.join("//")})`:t}{const t=function S2(e,n){let t=[];return Object.entries(e.children).forEach(([r,o])=>{r===Y&&(t=t.concat(n(o,r)))}),Object.entries(e.children).forEach(([r,o])=>{r!==Y&&(t=t.concat(n(o,r)))}),t}(e,(r,o)=>o===Y?[ss(e.children[Y],!1)]:[`${o}:${ss(r,!1)}`]);return 1===Object.keys(e.children).length&&null!=e.children[Y]?`${ku(e)}/${t[0]}`:`${ku(e)}/(${t.join("//")})`}}function hb(e){return encodeURIComponent(e).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Lu(e){return hb(e).replace(/%3B/gi,";")}function nh(e){return hb(e).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Vu(e){return decodeURIComponent(e)}function pb(e){return Vu(e.replace(/\+/g,"%20"))}function gb(e){return`${nh(e.path)}${function x2(e){return Object.keys(e).map(n=>`;${nh(n)}=${nh(e[n])}`).join("")}(e.parameters)}`}const R2=/^[^\/()?;#]+/;function rh(e){const n=e.match(R2);return n?n[0]:""}const O2=/^[^\/()?;=#]+/,F2=/^[^=?&#]+/,L2=/^[^&#]+/;class j2{constructor(n){this.url=n,this.remaining=n}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new ce([],{}):new ce([],this.parseChildren())}parseQueryParams(){const n={};if(this.consumeOptional("?"))do{this.parseQueryParam(n)}while(this.consumeOptional("&"));return n}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const n=[];for(this.peekStartsWith("(")||n.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),n.push(this.parseSegment());let t={};this.peekStartsWith("/(")&&(this.capture("/"),t=this.parseParens(!0));let r={};return this.peekStartsWith("(")&&(r=this.parseParens(!1)),(n.length>0||Object.keys(t).length>0)&&(r[Y]=new ce(n,t)),r}parseSegment(){const n=rh(this.remaining);if(""===n&&this.peekStartsWith(";"))throw new I(4009,!1);return this.capture(n),new os(Vu(n),this.parseMatrixParams())}parseMatrixParams(){const n={};for(;this.consumeOptional(";");)this.parseParam(n);return n}parseParam(n){const t=function P2(e){const n=e.match(O2);return n?n[0]:""}(this.remaining);if(!t)return;this.capture(t);let r="";if(this.consumeOptional("=")){const o=rh(this.remaining);o&&(r=o,this.capture(r))}n[Vu(t)]=Vu(r)}parseQueryParam(n){const t=function k2(e){const n=e.match(F2);return n?n[0]:""}(this.remaining);if(!t)return;this.capture(t);let r="";if(this.consumeOptional("=")){const s=function V2(e){const n=e.match(L2);return n?n[0]:""}(this.remaining);s&&(r=s,this.capture(r))}const o=pb(t),i=pb(r);if(n.hasOwnProperty(o)){let s=n[o];Array.isArray(s)||(s=[s],n[o]=s),s.push(i)}else n[o]=i}parseParens(n){const t={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const r=rh(this.remaining),o=this.remaining[r.length];if("/"!==o&&")"!==o&&";"!==o)throw new I(4010,!1);let i;r.indexOf(":")>-1?(i=r.slice(0,r.indexOf(":")),this.capture(i),this.capture(":")):n&&(i=Y);const s=this.parseChildren();t[i]=1===Object.keys(s).length?s[Y]:new ce([],s),this.consumeOptional("//")}return t}peekStartsWith(n){return this.remaining.startsWith(n)}consumeOptional(n){return!!this.peekStartsWith(n)&&(this.remaining=this.remaining.substring(n.length),!0)}capture(n){if(!this.consumeOptional(n))throw new I(4011,!1)}}function mb(e){return e.segments.length>0?new ce([],{[Y]:e}):e}function vb(e){const n={};for(const r of Object.keys(e.children)){const i=vb(e.children[r]);if(r===Y&&0===i.segments.length&&i.hasChildren())for(const[s,a]of Object.entries(i.children))n[s]=a;else(i.segments.length>0||i.hasChildren())&&(n[r]=i)}return function B2(e){if(1===e.numberOfChildren&&e.children[Y]){const n=e.children[Y];return new ce(e.segments.concat(n.segments),n.children)}return e}(new ce(e.segments,n))}function br(e){return e instanceof No}function _b(e){let n;const o=mb(function t(i){const s={};for(const u of i.children){const c=t(u);s[u.outlet]=c}const a=new ce(i.url,s);return i===e&&(n=a),a}(e.root));return n??o}function yb(e,n,t,r){let o=e;for(;o.parent;)o=o.parent;if(0===n.length)return oh(o,o,o,t,r);const i=function H2(e){if("string"==typeof e[0]&&1===e.length&&"/"===e[0])return new Cb(!0,0,e);let n=0,t=!1;const r=e.reduce((o,i,s)=>{if("object"==typeof i&&null!=i){if(i.outlets){const a={};return Object.entries(i.outlets).forEach(([u,c])=>{a[u]="string"==typeof c?c.split("/"):c}),[...o,{outlets:a}]}if(i.segmentPath)return[...o,i.segmentPath]}return"string"!=typeof i?[...o,i]:0===s?(i.split("/").forEach((a,u)=>{0==u&&"."===a||(0==u&&""===a?t=!0:".."===a?n++:""!=a&&o.push(a))}),o):[...o,i]},[]);return new Cb(t,n,r)}(n);if(i.toRoot())return oh(o,o,new ce([],{}),t,r);const s=function U2(e,n,t){if(e.isAbsolute)return new Bu(n,!0,0);if(!t)return new Bu(n,!1,NaN);if(null===t.parent)return new Bu(t,!0,0);const r=ju(e.commands[0])?0:1;return function z2(e,n,t){let r=e,o=n,i=t;for(;i>o;){if(i-=o,r=r.parent,!r)throw new I(4005,!1);o=r.segments.length}return new Bu(r,!1,o-i)}(t,t.segments.length-1+r,e.numberOfDoubleDots)}(i,o,e),a=s.processChildren?us(s.segmentGroup,s.index,i.commands):wb(s.segmentGroup,s.index,i.commands);return oh(o,s.segmentGroup,a,t,r)}function ju(e){return"object"==typeof e&&null!=e&&!e.outlets&&!e.segmentPath}function as(e){return"object"==typeof e&&null!=e&&e.outlets}function oh(e,n,t,r,o){let s,i={};r&&Object.entries(r).forEach(([u,c])=>{i[u]=Array.isArray(c)?c.map(l=>`${l}`):`${c}`}),s=e===n?t:Db(e,n,t);const a=mb(vb(s));return new No(a,i,o)}function Db(e,n,t){const r={};return Object.entries(e.children).forEach(([o,i])=>{r[o]=i===n?t:Db(i,n,t)}),new ce(e.segments,r)}class Cb{constructor(n,t,r){if(this.isAbsolute=n,this.numberOfDoubleDots=t,this.commands=r,n&&r.length>0&&ju(r[0]))throw new I(4003,!1);const o=r.find(as);if(o&&o!==ab(r))throw new I(4004,!1)}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class Bu{constructor(n,t,r){this.segmentGroup=n,this.processChildren=t,this.index=r}}function wb(e,n,t){if(e||(e=new ce([],{})),0===e.segments.length&&e.hasChildren())return us(e,n,t);const r=function q2(e,n,t){let r=0,o=n;const i={match:!1,pathIndex:0,commandIndex:0};for(;o=t.length)return i;const s=e.segments[o],a=t[r];if(as(a))break;const u=`${a}`,c=r0&&void 0===u)break;if(u&&c&&"object"==typeof c&&void 0===c.outlets){if(!Eb(u,c,s))return i;r+=2}else{if(!Eb(u,{},s))return i;r++}o++}return{match:!0,pathIndex:o,commandIndex:r}}(e,n,t),o=t.slice(r.commandIndex);if(r.match&&r.pathIndexi!==Y)&&e.children[Y]&&1===e.numberOfChildren&&0===e.children[Y].segments.length){const i=us(e.children[Y],n,t);return new ce(e.segments,i.children)}return Object.entries(r).forEach(([i,s])=>{"string"==typeof s&&(s=[s]),null!==s&&(o[i]=wb(e.children[i],n,s))}),Object.entries(e.children).forEach(([i,s])=>{void 0===r[i]&&(o[i]=s)}),new ce(e.segments,o)}}function ih(e,n,t){const r=e.segments.slice(0,n);let o=0;for(;o{"string"==typeof r&&(r=[r]),null!==r&&(n[t]=ih(new ce([],{}),0,r))}),n}function bb(e){const n={};return Object.entries(e).forEach(([t,r])=>n[t]=`${r}`),n}function Eb(e,n,t){return e==t.path&&cn(n,t.parameters)}const cs="imperative";class ln{constructor(n,t){this.id=n,this.url=t}}class $u extends ln{constructor(n,t,r="imperative",o=null){super(n,t),this.type=0,this.navigationTrigger=r,this.restoredState=o}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class Kn extends ln{constructor(n,t,r){super(n,t),this.urlAfterRedirects=r,this.type=1}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class ls extends ln{constructor(n,t,r,o){super(n,t),this.reason=r,this.code=o,this.type=2}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class Ro extends ln{constructor(n,t,r,o){super(n,t),this.reason=r,this.code=o,this.type=16}}class Hu extends ln{constructor(n,t,r,o){super(n,t),this.error=r,this.target=o,this.type=3}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class Ib extends ln{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=4}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Z2 extends ln{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=7}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Y2 extends ln{constructor(n,t,r,o,i){super(n,t),this.urlAfterRedirects=r,this.state=o,this.shouldActivate=i,this.type=8}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class Q2 extends ln{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=5}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class X2 extends ln{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=6}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class J2{constructor(n){this.route=n,this.type=9}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class K2{constructor(n){this.route=n,this.type=10}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class eL{constructor(n){this.snapshot=n,this.type=11}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class tL{constructor(n){this.snapshot=n,this.type=12}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class nL{constructor(n){this.snapshot=n,this.type=13}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class rL{constructor(n){this.snapshot=n,this.type=14}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Mb{constructor(n,t,r){this.routerEvent=n,this.position=t,this.anchor=r,this.type=15}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}class sh{}class ah{constructor(n){this.url=n}}class oL{constructor(){this.outlet=null,this.route=null,this.injector=null,this.children=new ds,this.attachRef=null}}let ds=(()=>{class e{constructor(){this.contexts=new Map}onChildOutletCreated(t,r){const o=this.getOrCreateContext(t);o.outlet=r,this.contexts.set(t,o)}onChildOutletDestroyed(t){const r=this.getContext(t);r&&(r.outlet=null,r.attachRef=null)}onOutletDeactivated(){const t=this.contexts;return this.contexts=new Map,t}onOutletReAttached(t){this.contexts=t}getOrCreateContext(t){let r=this.getContext(t);return r||(r=new oL,this.contexts.set(t,r)),r}getContext(t){return this.contexts.get(t)||null}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();class Sb{constructor(n){this._root=n}get root(){return this._root.value}parent(n){const t=this.pathFromRoot(n);return t.length>1?t[t.length-2]:null}children(n){const t=uh(n,this._root);return t?t.children.map(r=>r.value):[]}firstChild(n){const t=uh(n,this._root);return t&&t.children.length>0?t.children[0].value:null}siblings(n){const t=ch(n,this._root);return t.length<2?[]:t[t.length-2].children.map(o=>o.value).filter(o=>o!==n)}pathFromRoot(n){return ch(n,this._root).map(t=>t.value)}}function uh(e,n){if(e===n.value)return n;for(const t of n.children){const r=uh(e,t);if(r)return r}return null}function ch(e,n){if(e===n.value)return[n];for(const t of n.children){const r=ch(e,t);if(r.length)return r.unshift(n),r}return[]}class An{constructor(n,t){this.value=n,this.children=t}toString(){return`TreeNode(${this.value})`}}function Oo(e){const n={};return e&&e.children.forEach(t=>n[t.value.outlet]=t),n}class Tb extends Sb{constructor(n,t){super(n),this.snapshot=t,lh(this,n)}toString(){return this.snapshot.toString()}}function Ab(e,n){const t=function iL(e,n){const s=new Uu([],{},{},"",{},Y,n,null,{});return new Nb("",new An(s,[]))}(0,n),r=new bt([new os("",{})]),o=new bt({}),i=new bt({}),s=new bt({}),a=new bt(""),u=new Er(r,o,s,a,i,Y,n,t.root);return u.snapshot=t.root,new Tb(new An(u,[]),t)}class Er{constructor(n,t,r,o,i,s,a,u){this.urlSubject=n,this.paramsSubject=t,this.queryParamsSubject=r,this.fragmentSubject=o,this.dataSubject=i,this.outlet=s,this.component=a,this._futureSnapshot=u,this.title=this.dataSubject?.pipe(ne(c=>c[rs]))??B(void 0),this.url=n,this.params=t,this.queryParams=r,this.fragment=o,this.data=i}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=this.params.pipe(ne(n=>xo(n)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(ne(n=>xo(n)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function xb(e,n="emptyOnly"){const t=e.pathFromRoot;let r=0;if("always"!==n)for(r=t.length-1;r>=1;){const o=t[r],i=t[r-1];if(o.routeConfig&&""===o.routeConfig.path)r--;else{if(i.component)break;r--}}return function sL(e){return e.reduce((n,t)=>({params:{...n.params,...t.params},data:{...n.data,...t.data},resolve:{...t.data,...n.resolve,...t.routeConfig?.data,...t._resolvedData}}),{params:{},data:{},resolve:{}})}(t.slice(r))}class Uu{get title(){return this.data?.[rs]}constructor(n,t,r,o,i,s,a,u,c){this.url=n,this.params=t,this.queryParams=r,this.fragment=o,this.data=i,this.outlet=s,this.component=a,this.routeConfig=u,this._resolve=c}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=xo(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=xo(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(r=>r.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class Nb extends Sb{constructor(n,t){super(t),this.url=n,lh(this,t)}toString(){return Rb(this._root)}}function lh(e,n){n.value._routerState=e,n.children.forEach(t=>lh(e,t))}function Rb(e){const n=e.children.length>0?` { ${e.children.map(Rb).join(", ")} } `:"";return`${e.value}${n}`}function dh(e){if(e.snapshot){const n=e.snapshot,t=e._futureSnapshot;e.snapshot=t,cn(n.queryParams,t.queryParams)||e.queryParamsSubject.next(t.queryParams),n.fragment!==t.fragment&&e.fragmentSubject.next(t.fragment),cn(n.params,t.params)||e.paramsSubject.next(t.params),function w2(e,n){if(e.length!==n.length)return!1;for(let t=0;tcn(t.parameters,n[r].parameters))}(e.url,n.url);return t&&!(!e.parent!=!n.parent)&&(!e.parent||fh(e.parent,n.parent))}let Ob=(()=>{class e{constructor(){this.activated=null,this._activatedRoute=null,this.name=Y,this.activateEvents=new we,this.deactivateEvents=new we,this.attachEvents=new we,this.detachEvents=new we,this.parentContexts=R(ds),this.location=R(zt),this.changeDetector=R(Qa),this.environmentInjector=R(vt),this.inputBinder=R(zu,{optional:!0}),this.supportsBindingToComponentInputs=!0}get activatedComponentRef(){return this.activated}ngOnChanges(t){if(t.name){const{firstChange:r,previousValue:o}=t.name;if(r)return;this.isTrackedInParentContexts(o)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(o)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(t){return this.parentContexts.getContext(t)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;const t=this.parentContexts.getContext(this.name);t?.route&&(t.attachRef?this.attach(t.attachRef,t.route):this.activateWith(t.route,t.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new I(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new I(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new I(4012,!1);this.location.detach();const t=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(t.instance),t}attach(t,r){this.activated=t,this._activatedRoute=r,this.location.insert(t.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(t.instance)}deactivate(){if(this.activated){const t=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(t)}}activateWith(t,r){if(this.isActivated)throw new I(4013,!1);this._activatedRoute=t;const o=this.location,s=t.snapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,u=new aL(t,a,o.injector);this.activated=o.createComponent(s,{index:o.length,injector:u,environmentInjector:r??this.environmentInjector}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275dir=z({type:e,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[St]})}return e})();class aL{constructor(n,t,r){this.route=n,this.childContexts=t,this.parent=r}get(n,t){return n===Er?this.route:n===ds?this.childContexts:this.parent.get(n,t)}}const zu=new P("");let Pb=(()=>{class e{constructor(){this.outletDataSubscriptions=new Map}bindActivatedRouteToOutletComponent(t){this.unsubscribeFromRouteData(t),this.subscribeToRouteData(t)}unsubscribeFromRouteData(t){this.outletDataSubscriptions.get(t)?.unsubscribe(),this.outletDataSubscriptions.delete(t)}subscribeToRouteData(t){const{activatedRoute:r}=t,o=Xf([r.queryParams,r.params,r.data]).pipe(Lt(([i,s,a],u)=>(a={...i,...s,...a},0===u?B(a):Promise.resolve(a)))).subscribe(i=>{if(!t.isActivated||!t.activatedComponentRef||t.activatedRoute!==r||null===r.component)return void this.unsubscribeFromRouteData(t);const s=function uO(e){const n=K(e);if(!n)return null;const t=new bi(n);return{get selector(){return t.selector},get type(){return t.componentType},get inputs(){return t.inputs},get outputs(){return t.outputs},get ngContentSelectors(){return t.ngContentSelectors},get isStandalone(){return n.standalone},get isSignal(){return n.signals}}}(r.component);if(s)for(const{templateName:a}of s.inputs)t.activatedComponentRef.setInput(a,i[a]);else this.unsubscribeFromRouteData(t)});this.outletDataSubscriptions.set(t,o)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();function fs(e,n,t){if(t&&e.shouldReuseRoute(n.value,t.value.snapshot)){const r=t.value;r._futureSnapshot=n.value;const o=function cL(e,n,t){return n.children.map(r=>{for(const o of t.children)if(e.shouldReuseRoute(r.value,o.value.snapshot))return fs(e,r,o);return fs(e,r)})}(e,n,t);return new An(r,o)}{if(e.shouldAttach(n.value)){const i=e.retrieve(n.value);if(null!==i){const s=i.route;return s.value._futureSnapshot=n.value,s.children=n.children.map(a=>fs(e,a)),s}}const r=function lL(e){return new Er(new bt(e.url),new bt(e.params),new bt(e.queryParams),new bt(e.fragment),new bt(e.data),e.outlet,e.component,e)}(n.value),o=n.children.map(i=>fs(e,i));return new An(r,o)}}const hh="ngNavigationCancelingError";function Fb(e,n){const{redirectTo:t,navigationBehaviorOptions:r}=br(n)?{redirectTo:n,navigationBehaviorOptions:void 0}:n,o=kb(!1,0,n);return o.url=t,o.navigationBehaviorOptions=r,o}function kb(e,n,t){const r=new Error("NavigationCancelingError: "+(e||""));return r[hh]=!0,r.cancellationCode=n,t&&(r.url=t),r}function Lb(e){return e&&e[hh]}let Vb=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=Tr({type:e,selectors:[["ng-component"]],standalone:!0,features:[gy],decls:1,vars:0,template:function(r,o){1&r&&Pe(0,"router-outlet")},dependencies:[Ob],encapsulation:2})}return e})();function ph(e){const n=e.children&&e.children.map(ph),t=n?{...e,children:n}:{...e};return!t.component&&!t.loadComponent&&(n||t.loadChildren)&&t.outlet&&t.outlet!==Y&&(t.component=Vb),t}function Wt(e){return e.outlet||Y}function hs(e){if(!e)return null;if(e.routeConfig?._injector)return e.routeConfig._injector;for(let n=e.parent;n;n=n.parent){const t=n.routeConfig;if(t?._loadedInjector)return t._loadedInjector;if(t?._injector)return t._injector}return null}class _L{constructor(n,t,r,o,i){this.routeReuseStrategy=n,this.futureState=t,this.currState=r,this.forwardEvent=o,this.inputBindingEnabled=i}activate(n){const t=this.futureState._root,r=this.currState?this.currState._root:null;this.deactivateChildRoutes(t,r,n),dh(this.futureState.root),this.activateChildRoutes(t,r,n)}deactivateChildRoutes(n,t,r){const o=Oo(t);n.children.forEach(i=>{const s=i.value.outlet;this.deactivateRoutes(i,o[s],r),delete o[s]}),Object.values(o).forEach(i=>{this.deactivateRouteAndItsChildren(i,r)})}deactivateRoutes(n,t,r){const o=n.value,i=t?t.value:null;if(o===i)if(o.component){const s=r.getContext(o.outlet);s&&this.deactivateChildRoutes(n,t,s.children)}else this.deactivateChildRoutes(n,t,r);else i&&this.deactivateRouteAndItsChildren(t,r)}deactivateRouteAndItsChildren(n,t){n.value.component&&this.routeReuseStrategy.shouldDetach(n.value.snapshot)?this.detachAndStoreRouteSubtree(n,t):this.deactivateRouteAndOutlet(n,t)}detachAndStoreRouteSubtree(n,t){const r=t.getContext(n.value.outlet),o=r&&n.value.component?r.children:t,i=Oo(n);for(const s of Object.keys(i))this.deactivateRouteAndItsChildren(i[s],o);if(r&&r.outlet){const s=r.outlet.detach(),a=r.children.onOutletDeactivated();this.routeReuseStrategy.store(n.value.snapshot,{componentRef:s,route:n,contexts:a})}}deactivateRouteAndOutlet(n,t){const r=t.getContext(n.value.outlet),o=r&&n.value.component?r.children:t,i=Oo(n);for(const s of Object.keys(i))this.deactivateRouteAndItsChildren(i[s],o);r&&(r.outlet&&(r.outlet.deactivate(),r.children.onOutletDeactivated()),r.attachRef=null,r.route=null)}activateChildRoutes(n,t,r){const o=Oo(t);n.children.forEach(i=>{this.activateRoutes(i,o[i.value.outlet],r),this.forwardEvent(new rL(i.value.snapshot))}),n.children.length&&this.forwardEvent(new tL(n.value.snapshot))}activateRoutes(n,t,r){const o=n.value,i=t?t.value:null;if(dh(o),o===i)if(o.component){const s=r.getOrCreateContext(o.outlet);this.activateChildRoutes(n,t,s.children)}else this.activateChildRoutes(n,t,r);else if(o.component){const s=r.getOrCreateContext(o.outlet);if(this.routeReuseStrategy.shouldAttach(o.snapshot)){const a=this.routeReuseStrategy.retrieve(o.snapshot);this.routeReuseStrategy.store(o.snapshot,null),s.children.onOutletReAttached(a.contexts),s.attachRef=a.componentRef,s.route=a.route.value,s.outlet&&s.outlet.attach(a.componentRef,a.route.value),dh(a.route.value),this.activateChildRoutes(n,null,s.children)}else{const a=hs(o.snapshot);s.attachRef=null,s.route=o,s.injector=a,s.outlet&&s.outlet.activateWith(o,s.injector),this.activateChildRoutes(n,null,s.children)}}else this.activateChildRoutes(n,null,r)}}class jb{constructor(n){this.path=n,this.route=this.path[this.path.length-1]}}class Gu{constructor(n,t){this.component=n,this.route=t}}function yL(e,n,t){const r=e._root;return ps(r,n?n._root:null,t,[r.value])}function Po(e,n){const t=Symbol(),r=n.get(e,t);return r===t?"function"!=typeof e||function _0(e){return null!==Es(e)}(e)?n.get(e):e:r}function ps(e,n,t,r,o={canDeactivateChecks:[],canActivateChecks:[]}){const i=Oo(n);return e.children.forEach(s=>{(function CL(e,n,t,r,o={canDeactivateChecks:[],canActivateChecks:[]}){const i=e.value,s=n?n.value:null,a=t?t.getContext(e.value.outlet):null;if(s&&i.routeConfig===s.routeConfig){const u=function wL(e,n,t){if("function"==typeof t)return t(e,n);switch(t){case"pathParamsChange":return!wr(e.url,n.url);case"pathParamsOrQueryParamsChange":return!wr(e.url,n.url)||!cn(e.queryParams,n.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!fh(e,n)||!cn(e.queryParams,n.queryParams);default:return!fh(e,n)}}(s,i,i.routeConfig.runGuardsAndResolvers);u?o.canActivateChecks.push(new jb(r)):(i.data=s.data,i._resolvedData=s._resolvedData),ps(e,n,i.component?a?a.children:null:t,r,o),u&&a&&a.outlet&&a.outlet.isActivated&&o.canDeactivateChecks.push(new Gu(a.outlet.component,s))}else s&&gs(n,a,o),o.canActivateChecks.push(new jb(r)),ps(e,null,i.component?a?a.children:null:t,r,o)})(s,i[s.value.outlet],t,r.concat([s.value]),o),delete i[s.value.outlet]}),Object.entries(i).forEach(([s,a])=>gs(a,t.getContext(s),o)),o}function gs(e,n,t){const r=Oo(e),o=e.value;Object.entries(r).forEach(([i,s])=>{gs(s,o.component?n?n.children.getContext(i):null:n,t)}),t.canDeactivateChecks.push(new Gu(o.component&&n&&n.outlet&&n.outlet.isActivated?n.outlet.component:null,o))}function ms(e){return"function"==typeof e}function Bb(e){return e instanceof Ou||"EmptyError"===e?.name}const qu=Symbol("INITIAL_VALUE");function Fo(){return Lt(e=>Xf(e.map(n=>n.pipe(Ao(1),function h2(...e){const n=$o(e);return xe((t,r)=>{(n?Jf(e,t,n):Jf(e,t)).subscribe(r)})}(qu)))).pipe(ne(n=>{for(const t of n)if(!0!==t){if(t===qu)return qu;if(!1===t||t instanceof No)return t}return!0}),Tn(n=>n!==qu),Ao(1)))}function $b(e){return function yE(...e){return Sh(e)}(We(n=>{if(br(n))throw Fb(0,n)}),ne(n=>!0===n))}class Wu{constructor(n){this.segmentGroup=n||null}}class Hb{constructor(n){this.urlTree=n}}function ko(e){return ns(new Wu(e))}function Ub(e){return ns(new Hb(e))}class HL{constructor(n,t){this.urlSerializer=n,this.urlTree=t}noMatchError(n){return new I(4002,!1)}lineralizeSegments(n,t){let r=[],o=t.root;for(;;){if(r=r.concat(o.segments),0===o.numberOfChildren)return B(r);if(o.numberOfChildren>1||!o.children[Y])return ns(new I(4e3,!1));o=o.children[Y]}}applyRedirectCommands(n,t,r){return this.applyRedirectCreateUrlTree(t,this.urlSerializer.parse(t),n,r)}applyRedirectCreateUrlTree(n,t,r,o){const i=this.createSegmentGroup(n,t.root,r,o);return new No(i,this.createQueryParams(t.queryParams,this.urlTree.queryParams),t.fragment)}createQueryParams(n,t){const r={};return Object.entries(n).forEach(([o,i])=>{if("string"==typeof i&&i.startsWith(":")){const a=i.substring(1);r[o]=t[a]}else r[o]=i}),r}createSegmentGroup(n,t,r,o){const i=this.createSegments(n,t.segments,r,o);let s={};return Object.entries(t.children).forEach(([a,u])=>{s[a]=this.createSegmentGroup(n,u,r,o)}),new ce(i,s)}createSegments(n,t,r,o){return t.map(i=>i.path.startsWith(":")?this.findPosParam(n,i,o):this.findOrReturn(i,r))}findPosParam(n,t,r){const o=r[t.path.substring(1)];if(!o)throw new I(4001,!1);return o}findOrReturn(n,t){let r=0;for(const o of t){if(o.path===n.path)return t.splice(r),o;r++}return n}}const gh={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function UL(e,n,t,r,o){const i=mh(e,n,t);return i.matched?(r=function fL(e,n){return e.providers&&!e._injector&&(e._injector=wd(e.providers,n,`Route: ${e.path}`)),e._injector??n}(n,r),function jL(e,n,t,r){const o=n.canMatch;return o&&0!==o.length?B(o.map(s=>{const a=Po(s,e);return Jn(function TL(e){return e&&ms(e.canMatch)}(a)?a.canMatch(n,t):e.runInContext(()=>a(n,t)))})).pipe(Fo(),$b()):B(!0)}(r,n,t).pipe(ne(s=>!0===s?i:{...gh}))):B(i)}function mh(e,n,t){if(""===n.path)return"full"===n.pathMatch&&(e.hasChildren()||t.length>0)?{...gh}:{matched:!0,consumedSegments:[],remainingSegments:t,parameters:{},positionalParamSegments:{}};const o=(n.matcher||C2)(t,e,n);if(!o)return{...gh};const i={};Object.entries(o.posParams??{}).forEach(([a,u])=>{i[a]=u.path});const s=o.consumed.length>0?{...i,...o.consumed[o.consumed.length-1].parameters}:i;return{matched:!0,consumedSegments:o.consumed,remainingSegments:t.slice(o.consumed.length),parameters:s,positionalParamSegments:o.posParams??{}}}function zb(e,n,t,r){return t.length>0&&function qL(e,n,t){return t.some(r=>Zu(e,n,r)&&Wt(r)!==Y)}(e,t,r)?{segmentGroup:new ce(n,GL(r,new ce(t,e.children))),slicedSegments:[]}:0===t.length&&function WL(e,n,t){return t.some(r=>Zu(e,n,r))}(e,t,r)?{segmentGroup:new ce(e.segments,zL(e,0,t,r,e.children)),slicedSegments:t}:{segmentGroup:new ce(e.segments,e.children),slicedSegments:t}}function zL(e,n,t,r,o){const i={};for(const s of r)if(Zu(e,t,s)&&!o[Wt(s)]){const a=new ce([],{});i[Wt(s)]=a}return{...o,...i}}function GL(e,n){const t={};t[Y]=n;for(const r of e)if(""===r.path&&Wt(r)!==Y){const o=new ce([],{});t[Wt(r)]=o}return t}function Zu(e,n,t){return(!(e.hasChildren()||n.length>0)||"full"!==t.pathMatch)&&""===t.path}class XL{constructor(n,t,r,o,i,s,a){this.injector=n,this.configLoader=t,this.rootComponentType=r,this.config=o,this.urlTree=i,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.allowRedirects=!0,this.applyRedirects=new HL(this.urlSerializer,this.urlTree)}noMatchError(n){return new I(4002,!1)}recognize(){const n=zb(this.urlTree.root,[],[],this.config).segmentGroup;return this.processSegmentGroup(this.injector,this.config,n,Y).pipe(Cr(t=>{if(t instanceof Hb)return this.allowRedirects=!1,this.urlTree=t.urlTree,this.match(t.urlTree);throw t instanceof Wu?this.noMatchError(t):t}),ne(t=>{const r=new Uu([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,{},Y,this.rootComponentType,null,{}),o=new An(r,t),i=new Nb("",o),s=function $2(e,n,t=null,r=null){return yb(_b(e),n,t,r)}(r,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,i.url=this.urlSerializer.serialize(s),this.inheritParamsAndData(i._root),{state:i,tree:s}}))}match(n){return this.processSegmentGroup(this.injector,this.config,n.root,Y).pipe(Cr(r=>{throw r instanceof Wu?this.noMatchError(r):r}))}inheritParamsAndData(n){const t=n.value,r=xb(t,this.paramsInheritanceStrategy);t.params=Object.freeze(r.params),t.data=Object.freeze(r.data),n.children.forEach(o=>this.inheritParamsAndData(o))}processSegmentGroup(n,t,r,o){return 0===r.segments.length&&r.hasChildren()?this.processChildren(n,t,r):this.processSegment(n,t,r,r.segments,o,!0)}processChildren(n,t,r){const o=[];for(const i of Object.keys(r.children))"primary"===i?o.unshift(i):o.push(i);return Ne(o).pipe(Io(i=>{const s=r.children[i],a=function mL(e,n){const t=e.filter(r=>Wt(r)===n);return t.push(...e.filter(r=>Wt(r)!==n)),t}(t,i);return this.processSegmentGroup(n,a,s,i)}),function m2(e,n){return xe(function g2(e,n,t,r,o){return(i,s)=>{let a=t,u=n,c=0;i.subscribe(Te(s,l=>{const d=c++;u=a?e(u,l,d):(a=!0,l),r&&s.next(u)},o&&(()=>{a&&s.next(u),s.complete()})))}}(e,n,arguments.length>=2,!0))}((i,s)=>(i.push(...s),i)),Pu(null),function v2(e,n){const t=arguments.length>=2;return r=>r.pipe(e?Tn((o,i)=>e(o,i,r)):Nn,eh(1),t?Pu(n):ib(()=>new Ou))}(),Le(i=>{if(null===i)return ko(r);const s=Gb(i);return function JL(e){e.sort((n,t)=>n.value.outlet===Y?-1:t.value.outlet===Y?1:n.value.outlet.localeCompare(t.value.outlet))}(s),B(s)}))}processSegment(n,t,r,o,i,s){return Ne(t).pipe(Io(a=>this.processSegmentAgainstRoute(a._injector??n,t,a,r,o,i,s).pipe(Cr(u=>{if(u instanceof Wu)return B(null);throw u}))),Dr(a=>!!a),Cr(a=>{if(Bb(a))return function YL(e,n,t){return 0===n.length&&!e.children[t]}(r,o,i)?B([]):ko(r);throw a}))}processSegmentAgainstRoute(n,t,r,o,i,s,a){return function ZL(e,n,t,r){return!!(Wt(e)===r||r!==Y&&Zu(n,t,e))&&("**"===e.path||mh(n,e,t).matched)}(r,o,i,s)?void 0===r.redirectTo?this.matchSegmentAgainstRoute(n,o,r,i,s,a):a&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(n,o,t,r,i,s):ko(o):ko(o)}expandSegmentAgainstRouteUsingRedirect(n,t,r,o,i,s){return"**"===o.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(n,r,o,s):this.expandRegularSegmentAgainstRouteUsingRedirect(n,t,r,o,i,s)}expandWildCardWithParamsAgainstRouteUsingRedirect(n,t,r,o){const i=this.applyRedirects.applyRedirectCommands([],r.redirectTo,{});return r.redirectTo.startsWith("/")?Ub(i):this.applyRedirects.lineralizeSegments(r,i).pipe(Le(s=>{const a=new ce(s,{});return this.processSegment(n,t,a,s,o,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(n,t,r,o,i,s){const{matched:a,consumedSegments:u,remainingSegments:c,positionalParamSegments:l}=mh(t,o,i);if(!a)return ko(t);const d=this.applyRedirects.applyRedirectCommands(u,o.redirectTo,l);return o.redirectTo.startsWith("/")?Ub(d):this.applyRedirects.lineralizeSegments(o,d).pipe(Le(g=>this.processSegment(n,r,t,g.concat(c),s,!1)))}matchSegmentAgainstRoute(n,t,r,o,i,s){let a;if("**"===r.path){const u=o.length>0?ab(o).parameters:{};a=B({snapshot:new Uu(o,u,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,qb(r),Wt(r),r.component??r._loadedComponent??null,r,Wb(r)),consumedSegments:[],remainingSegments:[]}),t.children={}}else a=UL(t,r,o,n).pipe(ne(({matched:u,consumedSegments:c,remainingSegments:l,parameters:d})=>u?{snapshot:new Uu(c,d,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,qb(r),Wt(r),r.component??r._loadedComponent??null,r,Wb(r)),consumedSegments:c,remainingSegments:l}:null));return a.pipe(Lt(u=>null===u?ko(t):this.getChildConfig(n=r._injector??n,r,o).pipe(Lt(({routes:c})=>{const l=r._loadedInjector??n,{snapshot:d,consumedSegments:g,remainingSegments:v}=u,{segmentGroup:_,slicedSegments:y}=zb(t,g,v,c);if(0===y.length&&_.hasChildren())return this.processChildren(l,c,_).pipe(ne(M=>null===M?null:[new An(d,M)]));if(0===c.length&&0===y.length)return B([new An(d,[])]);const C=Wt(r)===i;return this.processSegment(l,c,_,y,C?Y:i,!0).pipe(ne(M=>[new An(d,M)]))}))))}getChildConfig(n,t,r){return t.children?B({routes:t.children,injector:n}):t.loadChildren?void 0!==t._loadedRoutes?B({routes:t._loadedRoutes,injector:t._loadedInjector}):function VL(e,n,t,r){const o=n.canLoad;return void 0===o||0===o.length?B(!0):B(o.map(s=>{const a=Po(s,e);return Jn(function EL(e){return e&&ms(e.canLoad)}(a)?a.canLoad(n,t):e.runInContext(()=>a(n,t)))})).pipe(Fo(),$b())}(n,t,r).pipe(Le(o=>o?this.configLoader.loadChildren(n,t).pipe(We(i=>{t._loadedRoutes=i.routes,t._loadedInjector=i.injector})):function $L(e){return ns(kb(!1,3))}())):B({routes:[],injector:n})}}function KL(e){const n=e.value.routeConfig;return n&&""===n.path}function Gb(e){const n=[],t=new Set;for(const r of e){if(!KL(r)){n.push(r);continue}const o=n.find(i=>r.value.routeConfig===i.value.routeConfig);void 0!==o?(o.children.push(...r.children),t.add(o)):n.push(r)}for(const r of t){const o=Gb(r.children);n.push(new An(r.value,o))}return n.filter(r=>!t.has(r))}function qb(e){return e.data||{}}function Wb(e){return e.resolve||{}}function Zb(e){return"string"==typeof e.title||null===e.title}function vh(e){return Lt(n=>{const t=e(n);return t?Ne(t).pipe(ne(()=>n)):B(n)})}const Lo=new P("ROUTES");let _h=(()=>{class e{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=R(uD)}loadComponent(t){if(this.componentLoaders.get(t))return this.componentLoaders.get(t);if(t._loadedComponent)return B(t._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(t);const r=Jn(t.loadComponent()).pipe(ne(Yb),We(i=>{this.onLoadEndListener&&this.onLoadEndListener(t),t._loadedComponent=i}),qi(()=>{this.componentLoaders.delete(t)})),o=new ob(r,()=>new kt).pipe(Kf());return this.componentLoaders.set(t,o),o}loadChildren(t,r){if(this.childrenLoaders.get(r))return this.childrenLoaders.get(r);if(r._loadedRoutes)return B({routes:r._loadedRoutes,injector:r._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(r);const i=function sV(e,n,t,r){return Jn(e.loadChildren()).pipe(ne(Yb),Le(o=>o instanceof hy||Array.isArray(o)?B(o):Ne(n.compileModuleAsync(o))),ne(o=>{r&&r(e);let i,s,a=!1;return Array.isArray(o)?(s=o,!0):(i=o.create(t).injector,s=i.get(Lo,[],{optional:!0,self:!0}).flat()),{routes:s.map(ph),injector:i}}))}(r,this.compiler,t,this.onLoadEndListener).pipe(qi(()=>{this.childrenLoaders.delete(r)})),s=new ob(i,()=>new kt).pipe(Kf());return this.childrenLoaders.set(r,s),s}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Yb(e){return function aV(e){return e&&"object"==typeof e&&"default"in e}(e)?e.default:e}let Yu=(()=>{class e{get hasRequestedNavigation(){return 0!==this.navigationId}constructor(){this.currentNavigation=null,this.currentTransition=null,this.lastSuccessfulNavigation=null,this.events=new kt,this.transitionAbortSubject=new kt,this.configLoader=R(_h),this.environmentInjector=R(vt),this.urlSerializer=R(is),this.rootContexts=R(ds),this.inputBindingEnabled=null!==R(zu,{optional:!0}),this.navigationId=0,this.afterPreactivation=()=>B(void 0),this.rootComponentType=null,this.configLoader.onLoadEndListener=o=>this.events.next(new K2(o)),this.configLoader.onLoadStartListener=o=>this.events.next(new J2(o))}complete(){this.transitions?.complete()}handleNavigationRequest(t){const r=++this.navigationId;this.transitions?.next({...this.transitions.value,...t,id:r})}setupNavigations(t,r,o){return this.transitions=new bt({id:0,currentUrlTree:r,currentRawUrl:r,currentBrowserUrl:r,extractedUrl:t.urlHandlingStrategy.extract(r),urlAfterRedirects:t.urlHandlingStrategy.extract(r),rawUrl:r,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:cs,restoredState:null,currentSnapshot:o.snapshot,targetSnapshot:null,currentRouterState:o,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe(Tn(i=>0!==i.id),ne(i=>({...i,extractedUrl:t.urlHandlingStrategy.extract(i.rawUrl)})),Lt(i=>{this.currentTransition=i;let s=!1,a=!1;return B(i).pipe(We(u=>{this.currentNavigation={id:u.id,initialUrl:u.rawUrl,extractedUrl:u.extractedUrl,trigger:u.source,extras:u.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null}}),Lt(u=>{const c=u.currentBrowserUrl.toString(),l=!t.navigated||u.extractedUrl.toString()!==c||c!==u.currentUrlTree.toString();if(!l&&"reload"!==(u.extras.onSameUrlNavigation??t.onSameUrlNavigation)){const g="";return this.events.next(new Ro(u.id,this.urlSerializer.serialize(u.rawUrl),g,0)),u.resolve(null),Zt}if(t.urlHandlingStrategy.shouldProcessUrl(u.rawUrl))return B(u).pipe(Lt(g=>{const v=this.transitions?.getValue();return this.events.next(new $u(g.id,this.urlSerializer.serialize(g.extractedUrl),g.source,g.restoredState)),v!==this.transitions?.getValue()?Zt:Promise.resolve(g)}),function eV(e,n,t,r,o,i){return Le(s=>function QL(e,n,t,r,o,i,s="emptyOnly"){return new XL(e,n,t,r,o,s,i).recognize()}(e,n,t,r,s.extractedUrl,o,i).pipe(ne(({state:a,tree:u})=>({...s,targetSnapshot:a,urlAfterRedirects:u}))))}(this.environmentInjector,this.configLoader,this.rootComponentType,t.config,this.urlSerializer,t.paramsInheritanceStrategy),We(g=>{i.targetSnapshot=g.targetSnapshot,i.urlAfterRedirects=g.urlAfterRedirects,this.currentNavigation={...this.currentNavigation,finalUrl:g.urlAfterRedirects};const v=new Ib(g.id,this.urlSerializer.serialize(g.extractedUrl),this.urlSerializer.serialize(g.urlAfterRedirects),g.targetSnapshot);this.events.next(v)}));if(l&&t.urlHandlingStrategy.shouldProcessUrl(u.currentRawUrl)){const{id:g,extractedUrl:v,source:_,restoredState:y,extras:C}=u,M=new $u(g,this.urlSerializer.serialize(v),_,y);this.events.next(M);const D=Ab(0,this.rootComponentType).snapshot;return this.currentTransition=i={...u,targetSnapshot:D,urlAfterRedirects:v,extras:{...C,skipLocationChange:!1,replaceUrl:!1}},B(i)}{const g="";return this.events.next(new Ro(u.id,this.urlSerializer.serialize(u.extractedUrl),g,1)),u.resolve(null),Zt}}),We(u=>{const c=new Z2(u.id,this.urlSerializer.serialize(u.extractedUrl),this.urlSerializer.serialize(u.urlAfterRedirects),u.targetSnapshot);this.events.next(c)}),ne(u=>(this.currentTransition=i={...u,guards:yL(u.targetSnapshot,u.currentSnapshot,this.rootContexts)},i)),function xL(e,n){return Le(t=>{const{targetSnapshot:r,currentSnapshot:o,guards:{canActivateChecks:i,canDeactivateChecks:s}}=t;return 0===s.length&&0===i.length?B({...t,guardsResult:!0}):function NL(e,n,t,r){return Ne(e).pipe(Le(o=>function LL(e,n,t,r,o){const i=n&&n.routeConfig?n.routeConfig.canDeactivate:null;return i&&0!==i.length?B(i.map(a=>{const u=hs(n)??o,c=Po(a,u);return Jn(function SL(e){return e&&ms(e.canDeactivate)}(c)?c.canDeactivate(e,n,t,r):u.runInContext(()=>c(e,n,t,r))).pipe(Dr())})).pipe(Fo()):B(!0)}(o.component,o.route,t,n,r)),Dr(o=>!0!==o,!0))}(s,r,o,e).pipe(Le(a=>a&&function bL(e){return"boolean"==typeof e}(a)?function RL(e,n,t,r){return Ne(n).pipe(Io(o=>Jf(function PL(e,n){return null!==e&&n&&n(new eL(e)),B(!0)}(o.route.parent,r),function OL(e,n){return null!==e&&n&&n(new nL(e)),B(!0)}(o.route,r),function kL(e,n,t){const r=n[n.length-1],i=n.slice(0,n.length-1).reverse().map(s=>function DL(e){const n=e.routeConfig?e.routeConfig.canActivateChild:null;return n&&0!==n.length?{node:e,guards:n}:null}(s)).filter(s=>null!==s).map(s=>rb(()=>B(s.guards.map(u=>{const c=hs(s.node)??t,l=Po(u,c);return Jn(function ML(e){return e&&ms(e.canActivateChild)}(l)?l.canActivateChild(r,e):c.runInContext(()=>l(r,e))).pipe(Dr())})).pipe(Fo())));return B(i).pipe(Fo())}(e,o.path,t),function FL(e,n,t){const r=n.routeConfig?n.routeConfig.canActivate:null;if(!r||0===r.length)return B(!0);const o=r.map(i=>rb(()=>{const s=hs(n)??t,a=Po(i,s);return Jn(function IL(e){return e&&ms(e.canActivate)}(a)?a.canActivate(n,e):s.runInContext(()=>a(n,e))).pipe(Dr())}));return B(o).pipe(Fo())}(e,o.route,t))),Dr(o=>!0!==o,!0))}(r,i,e,n):B(a)),ne(a=>({...t,guardsResult:a})))})}(this.environmentInjector,u=>this.events.next(u)),We(u=>{if(i.guardsResult=u.guardsResult,br(u.guardsResult))throw Fb(0,u.guardsResult);const c=new Y2(u.id,this.urlSerializer.serialize(u.extractedUrl),this.urlSerializer.serialize(u.urlAfterRedirects),u.targetSnapshot,!!u.guardsResult);this.events.next(c)}),Tn(u=>!!u.guardsResult||(this.cancelNavigationTransition(u,"",3),!1)),vh(u=>{if(u.guards.canActivateChecks.length)return B(u).pipe(We(c=>{const l=new Q2(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(l)}),Lt(c=>{let l=!1;return B(c).pipe(function tV(e,n){return Le(t=>{const{targetSnapshot:r,guards:{canActivateChecks:o}}=t;if(!o.length)return B(t);let i=0;return Ne(o).pipe(Io(s=>function nV(e,n,t,r){const o=e.routeConfig,i=e._resolve;return void 0!==o?.title&&!Zb(o)&&(i[rs]=o.title),function rV(e,n,t,r){const o=function oV(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e)]}(e);if(0===o.length)return B({});const i={};return Ne(o).pipe(Le(s=>function iV(e,n,t,r){const o=hs(n)??r,i=Po(e,o);return Jn(i.resolve?i.resolve(n,t):o.runInContext(()=>i(n,t)))}(e[s],n,t,r).pipe(Dr(),We(a=>{i[s]=a}))),eh(1),function _2(e){return ne(()=>e)}(i),Cr(s=>Bb(s)?Zt:ns(s)))}(i,e,n,r).pipe(ne(s=>(e._resolvedData=s,e.data=xb(e,t).resolve,o&&Zb(o)&&(e.data[rs]=o.title),null)))}(s.route,r,e,n)),We(()=>i++),eh(1),Le(s=>i===o.length?B(t):Zt))})}(t.paramsInheritanceStrategy,this.environmentInjector),We({next:()=>l=!0,complete:()=>{l||this.cancelNavigationTransition(c,"",2)}}))}),We(c=>{const l=new X2(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(l)}))}),vh(u=>{const c=l=>{const d=[];l.routeConfig?.loadComponent&&!l.routeConfig._loadedComponent&&d.push(this.configLoader.loadComponent(l.routeConfig).pipe(We(g=>{l.component=g}),ne(()=>{})));for(const g of l.children)d.push(...c(g));return d};return Xf(c(u.targetSnapshot.root)).pipe(Pu(),Ao(1))}),vh(()=>this.afterPreactivation()),ne(u=>{const c=function uL(e,n,t){const r=fs(e,n._root,t?t._root:void 0);return new Tb(r,n)}(t.routeReuseStrategy,u.targetSnapshot,u.currentRouterState);return this.currentTransition=i={...u,targetRouterState:c},i}),We(()=>{this.events.next(new sh)}),((e,n,t,r)=>ne(o=>(new _L(n,o.targetRouterState,o.currentRouterState,t,r).activate(e),o)))(this.rootContexts,t.routeReuseStrategy,u=>this.events.next(u),this.inputBindingEnabled),Ao(1),We({next:u=>{s=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new Kn(u.id,this.urlSerializer.serialize(u.extractedUrl),this.urlSerializer.serialize(u.urlAfterRedirects))),t.titleStrategy?.updateTitle(u.targetRouterState.snapshot),u.resolve(!0)},complete:()=>{s=!0}}),function y2(e){return xe((n,t)=>{dt(e).subscribe(Te(t,()=>t.complete(),Ju)),!t.closed&&n.subscribe(t)})}(this.transitionAbortSubject.pipe(We(u=>{throw u}))),qi(()=>{s||a||this.cancelNavigationTransition(i,"",1),this.currentNavigation?.id===i.id&&(this.currentNavigation=null)}),Cr(u=>{if(a=!0,Lb(u))this.events.next(new ls(i.id,this.urlSerializer.serialize(i.extractedUrl),u.message,u.cancellationCode)),function dL(e){return Lb(e)&&br(e.url)}(u)?this.events.next(new ah(u.url)):i.resolve(!1);else{this.events.next(new Hu(i.id,this.urlSerializer.serialize(i.extractedUrl),u,i.targetSnapshot??void 0));try{i.resolve(t.errorHandler(u))}catch(c){i.reject(c)}}return Zt}))}))}cancelNavigationTransition(t,r,o){const i=new ls(t.id,this.urlSerializer.serialize(t.extractedUrl),r,o);this.events.next(i),t.resolve(!1)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Qb(e){return e!==cs}let Xb=(()=>{class e{buildTitle(t){let r,o=t.root;for(;void 0!==o;)r=this.getResolvedTitleForRoute(o)??r,o=o.children.find(i=>i.outlet===Y);return r}getResolvedTitleForRoute(t){return t.data[rs]}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:function(){return R(uV)},providedIn:"root"})}return e})(),uV=(()=>{class e extends Xb{constructor(t){super(),this.title=t}updateTitle(t){const r=this.buildTitle(t);void 0!==r&&this.title.setTitle(r)}static#e=this.\u0275fac=function(r){return new(r||e)(k(TC))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),cV=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:function(){return R(dV)},providedIn:"root"})}return e})();class lV{shouldDetach(n){return!1}store(n,t){}shouldAttach(n){return!1}retrieve(n){return null}shouldReuseRoute(n,t){return n.routeConfig===t.routeConfig}}let dV=(()=>{class e extends lV{static#e=this.\u0275fac=function(){let t;return function(o){return(t||(t=He(e)))(o||e)}}();static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const Qu=new P("",{providedIn:"root",factory:()=>({})});let fV=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:function(){return R(hV)},providedIn:"root"})}return e})(),hV=(()=>{class e{shouldProcessUrl(t){return!0}extract(t){return t}merge(t,r){return t}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var vs=function(e){return e[e.COMPLETE=0]="COMPLETE",e[e.FAILED=1]="FAILED",e[e.REDIRECTING=2]="REDIRECTING",e}(vs||{});function Jb(e,n){e.events.pipe(Tn(t=>t instanceof Kn||t instanceof ls||t instanceof Hu||t instanceof Ro),ne(t=>t instanceof Kn||t instanceof Ro?vs.COMPLETE:t instanceof ls&&(0===t.code||1===t.code)?vs.REDIRECTING:vs.FAILED),Tn(t=>t!==vs.REDIRECTING),Ao(1)).subscribe(()=>{n()})}function pV(e){throw e}function gV(e,n,t){return n.parse("/")}const mV={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},vV={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let Ft=(()=>{class e{get navigationId(){return this.navigationTransitions.navigationId}get browserPageId(){return"computed"!==this.canceledNavigationResolution?this.currentPageId:this.location.getState()?.\u0275routerPageId??this.currentPageId}get events(){return this._events}constructor(){this.disposed=!1,this.currentPageId=0,this.console=R(aD),this.isNgZoneEnabled=!1,this._events=new kt,this.options=R(Qu,{optional:!0})||{},this.pendingTasks=R(qa),this.errorHandler=this.options.errorHandler||pV,this.malformedUriErrorHandler=this.options.malformedUriErrorHandler||gV,this.navigated=!1,this.lastSuccessfulId=-1,this.urlHandlingStrategy=R(fV),this.routeReuseStrategy=R(cV),this.titleStrategy=R(Xb),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.config=R(Lo,{optional:!0})?.flat()??[],this.navigationTransitions=R(Yu),this.urlSerializer=R(is),this.location=R(ef),this.componentInputBindingEnabled=!!R(zu,{optional:!0}),this.eventsSubscription=new lt,this.isNgZoneEnabled=R(ge)instanceof ge&&ge.isInAngularZone(),this.resetConfig(this.config),this.currentUrlTree=new No,this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.routerState=Ab(0,null),this.navigationTransitions.setupNavigations(this,this.currentUrlTree,this.routerState).subscribe(t=>{this.lastSuccessfulId=t.id,this.currentPageId=this.browserPageId},t=>{this.console.warn(`Unhandled Navigation Error: ${t}`)}),this.subscribeToNavigationEvents()}subscribeToNavigationEvents(){const t=this.navigationTransitions.events.subscribe(r=>{try{const{currentTransition:o}=this.navigationTransitions;if(null===o)return void(Kb(r)&&this._events.next(r));if(r instanceof $u)Qb(o.source)&&(this.browserUrlTree=o.extractedUrl);else if(r instanceof Ro)this.rawUrlTree=o.rawUrl;else if(r instanceof Ib){if("eager"===this.urlUpdateStrategy){if(!o.extras.skipLocationChange){const i=this.urlHandlingStrategy.merge(o.urlAfterRedirects,o.rawUrl);this.setBrowserUrl(i,o)}this.browserUrlTree=o.urlAfterRedirects}}else if(r instanceof sh)this.currentUrlTree=o.urlAfterRedirects,this.rawUrlTree=this.urlHandlingStrategy.merge(o.urlAfterRedirects,o.rawUrl),this.routerState=o.targetRouterState,"deferred"===this.urlUpdateStrategy&&(o.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,o),this.browserUrlTree=o.urlAfterRedirects);else if(r instanceof ls)0!==r.code&&1!==r.code&&(this.navigated=!0),(3===r.code||2===r.code)&&this.restoreHistory(o);else if(r instanceof ah){const i=this.urlHandlingStrategy.merge(r.url,o.currentRawUrl),s={skipLocationChange:o.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy||Qb(o.source)};this.scheduleNavigation(i,cs,null,s,{resolve:o.resolve,reject:o.reject,promise:o.promise})}r instanceof Hu&&this.restoreHistory(o,!0),r instanceof Kn&&(this.navigated=!0),Kb(r)&&this._events.next(r)}catch(o){this.navigationTransitions.transitionAbortSubject.next(o)}});this.eventsSubscription.add(t)}resetRootComponentType(t){this.routerState.root.component=t,this.navigationTransitions.rootComponentType=t}initialNavigation(){if(this.setUpLocationChangeListener(),!this.navigationTransitions.hasRequestedNavigation){const t=this.location.getState();this.navigateToSyncWithBrowser(this.location.path(!0),cs,t)}}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(t=>{const r="popstate"===t.type?"popstate":"hashchange";"popstate"===r&&setTimeout(()=>{this.navigateToSyncWithBrowser(t.url,r,t.state)},0)}))}navigateToSyncWithBrowser(t,r,o){const i={replaceUrl:!0},s=o?.navigationId?o:null;if(o){const u={...o};delete u.navigationId,delete u.\u0275routerPageId,0!==Object.keys(u).length&&(i.state=u)}const a=this.parseUrl(t);this.scheduleNavigation(a,r,s,i)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(t){this.config=t.map(ph),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(t,r={}){const{relativeTo:o,queryParams:i,fragment:s,queryParamsHandling:a,preserveFragment:u}=r,c=u?this.currentUrlTree.fragment:s;let d,l=null;switch(a){case"merge":l={...this.currentUrlTree.queryParams,...i};break;case"preserve":l=this.currentUrlTree.queryParams;break;default:l=i||null}null!==l&&(l=this.removeEmptyProps(l));try{d=_b(o?o.snapshot:this.routerState.snapshot.root)}catch{("string"!=typeof t[0]||!t[0].startsWith("/"))&&(t=[]),d=this.currentUrlTree.root}return yb(d,t,l,c??null)}navigateByUrl(t,r={skipLocationChange:!1}){const o=br(t)?t:this.parseUrl(t),i=this.urlHandlingStrategy.merge(o,this.rawUrlTree);return this.scheduleNavigation(i,cs,null,r)}navigate(t,r={skipLocationChange:!1}){return function _V(e){for(let n=0;n{const i=t[o];return null!=i&&(r[o]=i),r},{})}scheduleNavigation(t,r,o,i,s){if(this.disposed)return Promise.resolve(!1);let a,u,c;s?(a=s.resolve,u=s.reject,c=s.promise):c=new Promise((d,g)=>{a=d,u=g});const l=this.pendingTasks.add();return Jb(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(l))}),this.navigationTransitions.handleNavigationRequest({source:r,restoredState:o,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,currentBrowserUrl:this.browserUrlTree,rawUrl:t,extras:i,resolve:a,reject:u,promise:c,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),c.catch(d=>Promise.reject(d))}setBrowserUrl(t,r){const o=this.urlSerializer.serialize(t);if(this.location.isCurrentPathEqualTo(o)||r.extras.replaceUrl){const s={...r.extras.state,...this.generateNgRouterState(r.id,this.browserPageId)};this.location.replaceState(o,"",s)}else{const i={...r.extras.state,...this.generateNgRouterState(r.id,this.browserPageId+1)};this.location.go(o,"",i)}}restoreHistory(t,r=!1){if("computed"===this.canceledNavigationResolution){const i=this.currentPageId-this.browserPageId;0!==i?this.location.historyGo(i):this.currentUrlTree===this.getCurrentNavigation()?.finalUrl&&0===i&&(this.resetState(t),this.browserUrlTree=t.currentUrlTree,this.resetUrlToCurrentUrlTree())}else"replace"===this.canceledNavigationResolution&&(r&&this.resetState(t),this.resetUrlToCurrentUrlTree())}resetState(t){this.routerState=t.currentRouterState,this.currentUrlTree=t.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,t.rawUrl)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(t,r){return"computed"===this.canceledNavigationResolution?{navigationId:t,\u0275routerPageId:r}:{navigationId:t}}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Kb(e){return!(e instanceof sh||e instanceof ah)}class eE{}let CV=(()=>{class e{constructor(t,r,o,i,s){this.router=t,this.injector=o,this.preloadingStrategy=i,this.loader=s}setUpPreloading(){this.subscription=this.router.events.pipe(Tn(t=>t instanceof Kn),Io(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(t,r){const o=[];for(const i of r){i.providers&&!i._injector&&(i._injector=wd(i.providers,t,`Route: ${i.path}`));const s=i._injector??t,a=i._loadedInjector??s;(i.loadChildren&&!i._loadedRoutes&&void 0===i.canLoad||i.loadComponent&&!i._loadedComponent)&&o.push(this.preloadConfig(s,i)),(i.children||i._loadedRoutes)&&o.push(this.processRoutes(a,i.children??i._loadedRoutes))}return Ne(o).pipe(Mr())}preloadConfig(t,r){return this.preloadingStrategy.preload(r,()=>{let o;o=r.loadChildren&&void 0===r.canLoad?this.loader.loadChildren(t,r):B(null);const i=o.pipe(Le(s=>null===s?B(void 0):(r._loadedRoutes=s.routes,r._loadedInjector=s.injector,this.processRoutes(s.injector??t,s.routes))));return r.loadComponent&&!r._loadedComponent?Ne([i,this.loader.loadComponent(r)]).pipe(Mr()):i})}static#e=this.\u0275fac=function(r){return new(r||e)(k(Ft),k(uD),k(vt),k(eE),k(_h))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const Dh=new P("");let tE=(()=>{class e{constructor(t,r,o,i,s={}){this.urlSerializer=t,this.transitions=r,this.viewportScroller=o,this.zone=i,this.options=s,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},s.scrollPositionRestoration=s.scrollPositionRestoration||"disabled",s.anchorScrolling=s.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(t=>{t instanceof $u?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=t.navigationTrigger,this.restoredId=t.restoredState?t.restoredState.navigationId:0):t instanceof Kn?(this.lastId=t.id,this.scheduleScrollEvent(t,this.urlSerializer.parse(t.urlAfterRedirects).fragment)):t instanceof Ro&&0===t.code&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(t,this.urlSerializer.parse(t.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(t=>{t instanceof Mb&&(t.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(t.position):t.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(t.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(t,r){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new Mb(t,"popstate"===this.lastSource?this.store[this.restoredId]:null,r))})},0)})}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}static#e=this.\u0275fac=function(r){!function ev(){throw new Error("invalid")}()};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();function xn(e,n){return{\u0275kind:e,\u0275providers:n}}function rE(){const e=R(yt);return n=>{const t=e.get(wo);if(n!==t.components[0])return;const r=e.get(Ft),o=e.get(oE);1===e.get(Ch)&&r.initialNavigation(),e.get(iE,null,X.Optional)?.setUpPreloading(),e.get(Dh,null,X.Optional)?.init(),r.resetRootComponentType(t.componentTypes[0]),o.closed||(o.next(),o.complete(),o.unsubscribe())}}const oE=new P("",{factory:()=>new kt}),Ch=new P("",{providedIn:"root",factory:()=>1}),iE=new P("");function IV(e){return xn(0,[{provide:iE,useExisting:CV},{provide:eE,useExisting:e}])}const sE=new P("ROUTER_FORROOT_GUARD"),SV=[ef,{provide:is,useClass:th},Ft,ds,{provide:Er,useFactory:function nE(e){return e.routerState.root},deps:[Ft]},_h,[]];function TV(){return new gD("Router",Ft)}let aE=(()=>{class e{constructor(t){}static forRoot(t,r){return{ngModule:e,providers:[SV,[],{provide:Lo,multi:!0,useValue:t},{provide:sE,useFactory:RV,deps:[[Ft,new Zs,new Ys]]},{provide:Qu,useValue:r||{}},r?.useHash?{provide:gr,useClass:hO}:{provide:gr,useClass:GD},{provide:Dh,useFactory:()=>{const e=R(NP),n=R(ge),t=R(Qu),r=R(Yu),o=R(is);return t.scrollOffset&&e.setOffset(t.scrollOffset),new tE(o,r,e,n,t)}},r?.preloadingStrategy?IV(r.preloadingStrategy).\u0275providers:[],{provide:gD,multi:!0,useFactory:TV},r?.initialNavigation?OV(r):[],r?.bindToComponentInputs?xn(8,[Pb,{provide:zu,useExisting:Pb}]).\u0275providers:[],[{provide:uE,useFactory:rE},{provide:zd,multi:!0,useExisting:uE}]]}}static forChild(t){return{ngModule:e,providers:[{provide:Lo,multi:!0,useValue:t}]}}static#e=this.\u0275fac=function(r){return new(r||e)(k(sE,8))};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({})}return e})();function RV(e){return"guarded"}function OV(e){return["disabled"===e.initialNavigation?xn(3,[{provide:kd,multi:!0,useFactory:()=>{const n=R(Ft);return()=>{n.setUpLocationChangeListener()}}},{provide:Ch,useValue:2}]).\u0275providers:[],"enabledBlocking"===e.initialNavigation?xn(2,[{provide:Ch,useValue:0},{provide:kd,multi:!0,deps:[yt],useFactory:n=>{const t=n.get(dO,Promise.resolve());return()=>t.then(()=>new Promise(r=>{const o=n.get(Ft),i=n.get(oE);Jb(o,()=>{r(!0)}),n.get(Yu).afterPreactivation=()=>(r(!0),i.closed?B(void 0):i),o.initialNavigation()}))}}]).\u0275providers:[]]}const uE=new P(""),FV=[];let kV=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({imports:[aE.forRoot(FV),aE]})}return e})();class cE{constructor(n={}){this.term=n.term||""}}function LV(e,n){if(1&e&&(h(0,"li"),p(1),f()),2&e){const t=n.$implicit;m(1),T(t.id)}}function VV(e,n){if(1&e&&(h(0,"div",23)(1,"ul"),A(2,LV,2,1,"li",3),f()()),2&e){const t=E(3).$implicit;m(2),S("ngForOf",t.inputs)}}function jV(e,n){if(1&e&&(h(0,"div")(1,"div",24)(2,"p",18)(3,"a",12),p(4),f(),h(5,"button",19),p(6),f()()()()),2&e){const t=n.$implicit;m(3),F("href","/explorer?term=",t.to,"",L),m(1),T(t.to),m(2),x("",t.value.toFixed(6)," YDA")}}function BV(e,n){if(1&e){const t=Rt();h(0,"div")(1,"div",11)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",12),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",12),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Time: "),f(),p(15),f(),h(16,"p")(17,"strong"),p(18,"Fee: "),f(),p(19),f(),h(20,"p")(21,"strong"),p(22,"Inputs:"),f(),p(23),f(),h(24,"div",13)(25,"button",14),re("click",function(){return Tt(t),At(E(3).toggleAccordion("inputsAccordion"))}),p(26,"Show Inputs"),f(),A(27,VV,3,1,"div",15),f(),h(28,"p")(29,"strong"),p(30,"Outputs:"),f(),p(31),f(),h(32,"div",16)(33,"div",17)(34,"p",18)(35,"a",12),p(36),f(),h(37,"button",19),p(38),f()()()(),h(39,"div",20),Pe(40,"img",21),f(),h(41,"div",22),A(42,jV,7,3,"div",3),f()()()}if(2&e){const t=E(2).$implicit,r=E();m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",r.dateFormatService.formatTransactionTime(t.time),""),m(4),x(" ",t.fee," YDA"),m(4),x(" ",t.inputs.length,""),m(4),S("ngIf","inputsAccordion"===r.showAccordion),m(4),x(" ",t.outputs.length,""),m(4),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),m(1),T(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to),m(2),x("",r.getTotalValue(t.outputs).toFixed(6)," YDA"),m(4),S("ngForOf",t.outputs)}}function $V(e,n){if(1&e&&(h(0,"div")(1,"div",11)(2,"p")(3,"strong"),p(4,"Relationship Identifier:"),f(),p(5),f(),h(6,"div",25)(7,"h4",26),p(8,"Relationship DATA:"),f(),h(9,"textarea",27),p(10),f()(),h(11,"div",16)(12,"div",24)(13,"button",28),p(14,"Newly created Address"),f(),h(15,"p",29)(16,"a",12),p(17),f()()()()()()),2&e){const t=E(2).$implicit;m(5),x(" ",t.rid,""),m(5),T(t.relationship),m(6),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),m(1),T(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function HV(e,n){if(1&e&&(h(0,"div")(1,"div",11)(2,"p")(3,"strong"),p(4,"Relationship Identifier:"),f(),p(5),f(),h(6,"div",25)(7,"h4",26),p(8,"Relationship DATA:"),f(),h(9,"textarea",27),p(10),f()()()()),2&e){const t=E(2).$implicit;m(5),x(" ",t.rid,""),m(5),T(t.relationship)}}function UV(e,n){if(1&e&&(h(0,"div")(1,"div",11)(2,"p")(3,"strong"),p(4,"Relationship Identifier:"),f(),p(5),f(),h(6,"div",25)(7,"h4",26),p(8,"Relationship DATA:"),f(),h(9,"textarea",27),p(10),f()()()()),2&e){const t=E(2).$implicit;m(5),x(" ",t.rid,""),m(5),T(t.relationship)}}function zV(e,n){if(1&e&&(h(0,"tr",7)(1,"td",8)(2,"div")(3,"h2",9),p(4,"Transaction Details"),f(),A(5,BV,43,13,"div",10),A(6,$V,18,4,"div",10),A(7,HV,11,2,"div",10),A(8,UV,11,2,"div",10),f()()()),2&e){const t=E().$implicit,r=E();m(5),S("ngIf",r.transactionUtilsService.isTransferTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isCreateIdentityTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isEncryptedMessageTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isMessageTransaction(t))}}const GV=function(e,n,t,r){return{transfer:e,"create-identity":n,"encrypted-message":t,message:r}};function qV(e,n){if(1&e){const t=Rt();$n(0),h(1,"tr",4),re("click",function(){const i=Tt(t).$implicit;return At(E().toggleDetails(i))}),h(2,"td"),p(3),f(),h(4,"td"),p(5),f(),h(6,"td")(7,"button",5),p(8),f()(),h(9,"td"),p(10),f(),h(11,"td"),p(12),f()(),A(13,zV,9,4,"tr",6),Hn()}if(2&e){const t=n.$implicit,r=E();m(3),T(r.dateFormatService.formatTransactionTime(t.time)),m(2),T(t.hash),m(2),S("ngClass",wy(7,GV,r.transactionUtilsService.isTransferTransaction(t),r.transactionUtilsService.isCreateIdentityTransaction(t),r.transactionUtilsService.isEncryptedMessageTransaction(t),r.transactionUtilsService.isMessageTransaction(t))),m(1),x(" ",r.transactionUtilsService.getTransactionType(t)," "),m(2),T(t.inputs.length),m(2),T(t.outputs.length),m(1),S("ngIf",r.expandedTransaction&&r.expandedTransaction.id===t.id)}}let WV=(()=>{class e{constructor(t,r,o){this.httpClient=t,this.dateFormatService=r,this.transactionUtilsService=o,this.mempoolData=[],this.expandedTransaction=null,this.result=[],this.showAccordion=null}ngOnInit(){this.httpClient.get("/explorer-mempool").subscribe(t=>{this.mempoolData=t.result||[]},t=>{console.error("Error fetching mempool data:",t)})}toggleDetails(t){this.expandedTransaction=this.expandedTransaction===t?null:t}getTotalValue(t){return t.reduce((r,o)=>r+o.value,0)}toggleAccordion(t){this.showAccordion=this.showAccordion===t?null:t}static#e=this.\u0275fac=function(r){return new(r||e)(b(Zi),b(Nu),b(Ru))};static#t=this.\u0275cmp=Tr({type:e,selectors:[["app-mempool"]],decls:18,vars:1,consts:[[2,"text-transform","uppercase","margin","10px","margin-top","20px"],[1,"blocks-container"],[1,"blocks-table"],[4,"ngFor","ngForOf"],[3,"click"],[1,"transaction-type-button",3,"ngClass"],["class","expanded-row",4,"ngIf"],[1,"expanded-row"],["colspan","5"],[2,"text-transform","uppercase","margin","20px","margin-top","10px"],[4,"ngIf"],[1,"transaction-details"],[3,"href"],[1,"input-section",2,"width","100%","display","inline-block","margin-top","5px"],[1,"accordion",3,"click"],["class","panel",4,"ngIf"],[1,"in-section",2,"width","44%","display","inline-block","margin-top","5px"],[1,"transfer-in-info-box"],[2,"margin-left","10px"],[1,"transaction-value-button"],[1,"arrow-box",2,"width","10%","display","inline-block","vertical-align","top"],["src","yadacoinstatic/explorer/assets/arrow-right.png","alt","Arrow Right",1,"arrow-icon"],[1,"out-section",2,"width","44%","display","inline-block","float","right","margin-top","5px"],[1,"panel"],[1,"transfer-out-info-box"],[1,"relationship-data-box"],[2,"text-transform","uppercase","margin","10px"],["rows","4","readonly","",2,"width","98%"],[1,"transaction-type-button","create-identity"],[2,"margin-left","15px"]],template:function(r,o){1&r&&(h(0,"h2",0),p(1,"Mempool"),f(),h(2,"div",1)(3,"table",2)(4,"thead")(5,"tr")(6,"th"),p(7,"Time"),f(),h(8,"th"),p(9,"Hash"),f(),h(10,"th"),p(11,"Type"),f(),h(12,"th"),p(13,"Inputs"),f(),h(14,"th"),p(15,"Outputs"),f()()(),h(16,"tbody"),A(17,qV,14,12,"ng-container",3),f()()()),2&r&&(m(17),S("ngForOf",o.mempoolData))},dependencies:[du,fu,Ui]})}return e})();function ZV(e,n){1&e&&(h(0,"div",9)(1,"strong"),p(2,"Loading..."),f()())}function YV(e,n){if(1&e&&(h(0,"div",10)(1,"strong"),p(2,"Your Balance:"),f(),p(3),f()),2&e){const t=E();m(3),x(" ",t.balance," ")}}let QV=(()=>{class e{constructor(t){this.httpClient=t,this.address="",this.balance=0,this.loading=!1}getBalance(){this.address&&(this.loading=!0,this.httpClient.get(`/explorer-get-balance?address=${this.address}`).subscribe(t=>{this.balance=t.balance,this.loading=!1},t=>{alert("Something went wrong while fetching the balance."),this.loading=!1}))}static#e=this.\u0275fac=function(r){return new(r||e)(b(Zi))};static#t=this.\u0275cmp=Tr({type:e,selectors:[["app-address-balance"]],decls:15,vars:5,consts:[[1,"button",2,"text-transform","uppercase","margin","10px","margin-top","20px"],[1,"address-balance-container"],["for","addressInput"],[2,"display","flex"],["id","addressInput","type","text",1,"search-container",3,"ngModel","ngModelChange"],[1,"button","btn-success",3,"disabled","click"],[2,"margin-top","10px"],["class","loading-message",4,"ngIf"],["class","result",4,"ngIf"],[1,"loading-message"],[1,"result"]],template:function(r,o){1&r&&(h(0,"h2",0),p(1,"Address Balance"),f(),h(2,"div",1)(3,"label",2),p(4,"Enter Your Wallet Address:"),f(),h(5,"div",3)(6,"input",4),re("ngModelChange",function(s){return o.address=s}),f(),h(7,"button",5),re("click",function(){return o.getBalance()}),p(8,"Get balance"),f()(),h(9,"div",6)(10,"strong"),p(11,"Your Address:"),f(),p(12),f(),A(13,ZV,3,0,"div",7),A(14,YV,4,1,"div",8),f()),2&r&&(m(6),S("ngModel",o.address),m(1),S("disabled",o.loading),m(5),x(" ",o.address," "),m(1),S("ngIf",o.loading),m(1),S("ngIf",!o.loading&&null!==o.balance))},dependencies:[Ui,Qi,Pf,xu],styles:[".address-balance-container[_ngcontent-%COMP%]{margin:10px;padding:20px;background-color:#424242;border-radius:5px;color:#fff}label[_ngcontent-%COMP%]{display:block;margin-bottom:10px}input[_ngcontent-%COMP%]{flex:1;padding:10px;margin-bottom:10px;margin-right:10px}button.btn-success[_ngcontent-%COMP%]{background-color:green;color:#fff;padding:8px 20px;border:none;cursor:pointer;transition:background .3s ease;border-radius:5px;height:40px}.loading-message[_ngcontent-%COMP%], .result[_ngcontent-%COMP%]{margin-top:10px}"]})}return e})();function XV(e,n){if(1&e&&(h(0,"li"),p(1),f()),2&e){const t=n.$implicit;m(1),T(t.id)}}function JV(e,n){if(1&e&&(h(0,"div",25)(1,"ul"),A(2,XV,2,1,"li",3),f()()),2&e){const t=E(3).$implicit;m(2),S("ngForOf",t.inputs)}}function KV(e,n){if(1&e&&(h(0,"div")(1,"div",26)(2,"p",20)(3,"a",10),p(4),f(),h(5,"button",21),p(6),f()()()()),2&e){const t=n.$implicit;m(3),F("href","/explorer?term=",t.to,"",L),m(1),T(t.to),m(2),x("",t.value.toFixed(6)," YDA")}}function ej(e,n){if(1&e){const t=Rt();h(0,"div")(1,"div",14)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",10),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",10),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Inputs:"),f(),p(15),f(),h(16,"div",15)(17,"button",16),re("click",function(){return Tt(t),At(E(5).toggleAccordion("inputsAccordion"))}),p(18,"Show Inputs"),f(),A(19,JV,3,1,"div",17),f(),h(20,"p")(21,"strong"),p(22,"Outputs:"),f(),p(23),f(),h(24,"div",18)(25,"div",19)(26,"p",20)(27,"a",10),p(28),f(),h(29,"button",21),p(30),f()()()(),h(31,"div",22),Pe(32,"img",23),f(),h(33,"div",24),A(34,KV,7,3,"div",3),f()()()}if(2&e){const t=E(2).$implicit,r=E(3);m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.inputs.length,""),m(4),S("ngIf","inputsAccordion"===r.showAccordion),m(4),x(" ",t.outputs.length,""),m(4),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),m(1),T(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to),m(2),x("",r.getTotalValue(t.outputs).toFixed(6)," YDA"),m(4),S("ngForOf",t.outputs)}}function tj(e,n){if(1&e&&(h(0,"div"),A(1,ej,35,11,"div",13),f()),2&e){const t=E().index,r=E(2).index,o=E();m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}function nj(e,n){if(1&e&&(h(0,"div")(1,"div",26)(2,"p",20)(3,"a",10),p(4),f(),h(5,"button",21),p(6),f()()()()),2&e){const t=n.$implicit;m(3),F("href","/explorer?term=",t.to,"",L),m(1),T(t.to),m(2),x("",t.value.toFixed(6)," YDA")}}function rj(e,n){if(1&e&&(h(0,"div")(1,"div",14)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",10),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",10),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Outputs:"),f(),p(15),f(),h(16,"div",18)(17,"div",19)(18,"button",27),p(19,"Coinbase"),f(),h(20,"p",20),p(21," (Newly Generated Coins) "),h(22,"button",21),p(23),f()()()(),h(24,"div",22),Pe(25,"img",23),f(),h(26,"div",24),A(27,nj,7,3,"div",3),f()()()),2&e){const t=E(2).$implicit,r=E(3);m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.outputs.length,""),m(8),x("",r.getTotalValue(t.outputs).toFixed(6)," YDA"),m(4),S("ngForOf",t.outputs)}}function oj(e,n){if(1&e&&(h(0,"div"),A(1,rj,28,7,"div",13),f()),2&e){const t=E().index,r=E(2).index,o=E();m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}function ij(e,n){if(1&e&&(h(0,"div")(1,"div",14)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",10),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",10),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Relationship Identifier:"),f(),p(15),f(),h(16,"div",28)(17,"h4",29),p(18,"Relationship DATA:"),f(),h(19,"textarea",30),p(20),f()(),h(21,"div",18)(22,"div",26)(23,"button",31),p(24,"Newly created Address"),f(),h(25,"p",32)(26,"a",10),p(27),f()()()()()()),2&e){const t=E(2).$implicit;m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.rid,""),m(5),T(t.relationship),m(6),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),m(1),T(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function sj(e,n){if(1&e&&(h(0,"div"),A(1,ij,28,8,"div",13),f()),2&e){const t=E().index,r=E(2).index,o=E();m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}function aj(e,n){if(1&e&&(h(0,"div")(1,"div",14)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",10),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",10),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Relationship Identifier:"),f(),p(15),f(),h(16,"div",28)(17,"h4",29),p(18,"Relationship DATA:"),f(),h(19,"textarea",30),p(20),f()()()()),2&e){const t=E(2).$implicit;m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.rid,""),m(5),T(t.relationship)}}function uj(e,n){if(1&e&&(h(0,"div"),A(1,aj,21,6,"div",13),f()),2&e){const t=E().index,r=E(2).index,o=E();m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}function cj(e,n){if(1&e&&(h(0,"div")(1,"div",14)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",10),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",10),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Relationship Identifier:"),f(),p(15),f(),h(16,"div",28)(17,"h4",29),p(18,"Relationship DATA:"),f(),h(19,"textarea",30),p(20),f()()()()),2&e){const t=E(2).$implicit;m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.rid,""),m(5),T(t.relationship)}}function lj(e,n){if(1&e&&(h(0,"div"),A(1,cj,21,6,"div",13),f()),2&e){const t=E().index,r=E(2).index,o=E();m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}const dj=function(e,n,t,r,o){return{coinbase:e,transfer:n,"create-identity":t,"encrypted-message":r,message:o}};function fj(e,n){if(1&e){const t=Rt();h(0,"li")(1,"button",12),re("click",function(){const i=Tt(t).index,s=E(2).index;return At(E().showTransactionDetails(s,i))}),p(2),f(),A(3,tj,2,1,"div",13),A(4,oj,2,1,"div",13),A(5,sj,2,1,"div",13),A(6,uj,2,1,"div",13),A(7,lj,2,1,"div",13),f()}if(2&e){const t=n.$implicit,r=E(3);m(1),S("ngClass",Ba(7,dj,r.transactionUtilsService.isCoinbaseTransaction(t),r.transactionUtilsService.isTransferTransaction(t),r.transactionUtilsService.isCreateIdentityTransaction(t),r.transactionUtilsService.isEncryptedMessageTransaction(t),r.transactionUtilsService.isMessageTransaction(t))),m(1),x(" ",r.transactionUtilsService.getTransactionType(t)," "),m(1),S("ngIf",r.transactionUtilsService.isTransferTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isCoinbaseTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isCreateIdentityTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isEncryptedMessageTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isMessageTransaction(t))}}function hj(e,n){if(1&e&&(h(0,"tr",6)(1,"td",7)(2,"div")(3,"h2",8),p(4,"Block Details"),f(),h(5,"p")(6,"strong",9),p(7,"Index: "),f(),h(8,"a",10),p(9),f()(),h(10,"p")(11,"strong",9),p(12,"Time:"),f(),p(13),f(),h(14,"p")(15,"strong",9),p(16,"Hash: "),f(),h(17,"a",10),p(18),f()(),h(19,"p")(20,"strong",9),p(21,"Previous Hash: "),f(),h(22,"a",10),p(23),f()(),h(24,"p")(25,"strong",9),p(26,"Nonce:"),f(),p(27),f(),h(28,"p")(29,"strong",9),p(30,"Target:"),f(),p(31),f(),h(32,"p")(33,"strong",9),p(34,"ID: "),f(),h(35,"a",10),p(36),f()(),h(37,"h3",11),p(38,"Transactions"),f(),h(39,"ul"),A(40,fj,8,13,"li",3),f()()()()),2&e){const t=E().$implicit,r=E();m(8),F("href","/explorer?term=",t.index,"",L),m(1),T(t.index),m(4),x(" ",r.dateFormatService.formatTransactionTime(t.time),""),m(4),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.prevHash,"",L),m(1),T(t.prevHash),m(4),x(" ",t.nonce,""),m(4),x(" ",t.target,""),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),S("ngForOf",t.transactions)}}function pj(e,n){if(1&e){const t=Rt();$n(0),h(1,"tr",4),re("click",function(){const i=Tt(t).$implicit;return At(E().toggleDetails(i))}),h(2,"td"),p(3),f(),h(4,"td"),p(5),f(),h(6,"td"),p(7),f(),h(8,"td"),p(9),f()(),A(10,hj,41,12,"tr",5),Hn()}if(2&e){const t=n.$implicit,r=E();m(3),T(t.index),m(2),T(r.dateFormatService.formatTransactionTime(t.time)),m(2),T(t.hash),m(2),T(t.transactions.length),m(1),S("ngIf",t.expanded)}}let gj=(()=>{class e{constructor(t,r,o){this.httpClient=t,this.dateFormatService=r,this.transactionUtilsService=o,this.blocks=[],this.showBlockTransactions=!1,this.showBlockTransactionDetails=[],this.searching=!1,this.showAccordion=null}ngOnInit(){this.blocks.length||this.loadLatestBlocks()}loadLatestBlocks(){this.httpClient.get("/explorer-latest").subscribe(t=>{this.blocks=t.result||[],this.searching=!1},t=>{console.error("Error fetching latest blocks:",t),alert("Something went wrong while fetching latest blocks!")})}showBlockDetails(t){console.log("Clicked block:",t),this.selectedBlock=t}toggleDetails(t){if(t.expanded)t.expanded=!1;else{this.blocks.forEach(o=>o.expanded=!1),t.expanded=!0;const r=this.blocks.indexOf(t);this.showBlockTransactionDetails[r]=[],this.selectedBlock=t}}showTransactions(){this.showBlockTransactions=!this.showBlockTransactions,this.showBlockTransactionDetails=[]}showTransactionDetails(t,r){this.showBlockTransactionDetails[t][r]=!this.showBlockTransactionDetails[t][r]}numberWithCommas(t){return t.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")}getTotalValue(t){return t.reduce((r,o)=>r+o.value,0)}toggleAccordion(t){this.showAccordion=this.showAccordion===t?null:t}static#e=this.\u0275fac=function(r){return new(r||e)(b(Zi),b(Nu),b(Ru))};static#t=this.\u0275cmp=Tr({type:e,selectors:[["app-latest-blocks"]],decls:16,vars:1,consts:[[2,"text-transform","uppercase","margin","10px","margin-top","20px"],[1,"latestblocks-container"],[1,"latestblocks-table"],[4,"ngFor","ngForOf"],[3,"click"],["class","expanded-row",4,"ngIf"],[1,"expanded-row"],["colspan","4"],[2,"text-transform","uppercase","margin","20px","margin-top","10px"],[2,"text-transform","uppercase","margin-left","30px"],[3,"href"],[2,"text-transform","uppercase","margin","20px","margin-top","20px"],[1,"transaction-type-button",3,"ngClass","click"],[4,"ngIf"],[1,"transaction-details"],[1,"input-section",2,"width","100%","display","inline-block","margin-top","5px"],[1,"accordion",3,"click"],["class","panel",4,"ngIf"],[1,"in-section",2,"width","44%","display","inline-block","margin-top","5px"],[1,"transfer-in-info-box"],[2,"margin-left","10px"],[1,"transaction-value-button"],[1,"arrow-box",2,"width","10%","display","inline-block","vertical-align","top"],["src","yadacoinstatic/explorer/assets/arrow-right.png","alt","Arrow Right",1,"arrow-icon"],[1,"out-section",2,"width","44%","display","inline-block","float","right","margin-top","5px"],[1,"panel"],[1,"transfer-out-info-box"],[1,"transaction-type-button","coinbase"],[1,"relationship-data-box"],[2,"text-transform","uppercase","margin","10px"],["rows","4","readonly","",2,"width","98%"],[1,"transaction-type-button","create-identity"],[2,"margin-left","15px"]],template:function(r,o){1&r&&(h(0,"h2",0),p(1,"Latest 10 Blocks"),f(),h(2,"div",1)(3,"table",2)(4,"thead")(5,"tr")(6,"th"),p(7,"Index"),f(),h(8,"th"),p(9,"Time"),f(),h(10,"th"),p(11,"Hash"),f(),h(12,"th"),p(13,"Transactions"),f()()(),h(14,"tbody"),A(15,pj,11,5,"ng-container",3),f()()()),2&r&&(m(15),S("ngForOf",o.blocks))},dependencies:[du,fu,Ui],styles:[".latestblocks-container[_ngcontent-%COMP%]{margin:10px;padding:20px;background-color:#424242;border-radius:5px;color:#fff}.latestblocks-table[_ngcontent-%COMP%]{width:100%;margin-top:10px;border-radius:5px}.latestblocks-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .latestblocks-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border:1px solid #ddd;padding:8px;text-align:left;border-radius:5px}.latestblocks-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{background-color:#303030;color:#fff;border-radius:5px}.latestblocks-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover{background-color:#3498db;color:#fff;cursor:pointer}.latestblocks-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr.expanded-row[_ngcontent-%COMP%]{cursor:default}.transaction-table[_ngcontent-%COMP%]{width:80%;margin:0 auto}.transaction-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .transaction-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border:1px solid #ddd;padding:8px;text-align:left}.transaction-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{background-color:#424242}.expanded-row[_ngcontent-%COMP%]{background-color:transparent!important;color:inherit!important}"]})}return e})(),mj=(()=>{class e{transform(t){return"string"==typeof t?t.replace(/,/g," "):t.toString().replace(/,/g," ")}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275pipe=Ze({name:"replaceComma",type:e,pure:!0})}return e})();function vj(e,n){1&e&&(h(0,"div")(1,"h1",13),p(2,"This is the alpha version of the Yadacoin block explorer."),f(),h(3,"h1",13),p(4,"Most functions should be operational. Please feel free to report any bugs or provide suggestions."),f(),h(5,"h1",13),p(6,"Thank you!"),f()())}function _j(e,n){1&e&&($n(0),h(1,"div",14)(2,"h2",15),p(3,"No results for searched phrase"),f()(),Hn())}function yj(e,n){1&e&&(h(0,"a",27),p(1,"Previous Block"),f()),2&e&&F("href","/explorer?term=",E().$implicit.index-1,"",L)}function Dj(e,n){1&e&&(h(0,"a",28),p(1,"Next Block"),f()),2&e&&F("href","/explorer?term=",E().$implicit.index+1,"",L)}function Cj(e,n){if(1&e&&(h(0,"li"),p(1),f()),2&e){const t=n.$implicit;m(1),T(t.id)}}function wj(e,n){if(1&e&&(h(0,"div",42)(1,"ul"),A(2,Cj,2,1,"li",19),f()()),2&e){const t=E(3).$implicit;m(2),S("ngForOf",t.inputs)}}function bj(e,n){if(1&e&&(h(0,"div")(1,"div",43)(2,"p",37)(3,"a",25),p(4),f(),h(5,"button",38),p(6),f()()()()),2&e){const t=n.$implicit;m(3),F("href","/explorer?term=",t.to,"",L),m(1),T(t.to),m(2),x("",t.value.toFixed(6)," YDA")}}function Ej(e,n){if(1&e){const t=Rt();h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",25),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",25),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Inputs:"),f(),p(15),f(),h(16,"div",32)(17,"button",33),re("click",function(){return Tt(t),At(E(6).toggleAccordion("inputsAccordion"))}),p(18,"Show Inputs"),f(),A(19,wj,3,1,"div",34),f(),h(20,"p")(21,"strong"),p(22,"Outputs:"),f(),p(23),f(),h(24,"div",35)(25,"div",36)(26,"p",37)(27,"a",25),p(28),f(),h(29,"button",38),p(30),f()()()(),h(31,"div",39),Pe(32,"img",40),f(),h(33,"div",41),A(34,bj,7,3,"div",19),f()()()}if(2&e){const t=E(2).$implicit,r=E(4);m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.inputs.length,""),m(4),S("ngIf","inputsAccordion"===r.showAccordion),m(4),x(" ",t.outputs.length,""),m(4),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),m(1),T(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to),m(2),x("",r.getTotalValue(t.outputs).toFixed(6)," YDA"),m(4),S("ngForOf",t.outputs)}}function Ij(e,n){if(1&e&&(h(0,"div"),A(1,Ej,35,11,"div",12),f()),2&e){const t=E().index,r=E().index,o=E(3);m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}function Mj(e,n){if(1&e&&(h(0,"div")(1,"div",43)(2,"p",37)(3,"a",25),p(4),f(),h(5,"button",38),p(6),f()()()()),2&e){const t=n.$implicit;m(3),F("href","/explorer?term=",t.to,"",L),m(1),T(t.to),m(2),x("",t.value.toFixed(6)," YDA")}}function Sj(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",25),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",25),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Outputs:"),f(),p(15),f(),h(16,"div",35)(17,"div",36)(18,"button",44),p(19,"Coinbase"),f(),h(20,"p",37),p(21," (Newly Generated Coins) "),h(22,"button",38),p(23),f()()()(),h(24,"div",39),Pe(25,"img",40),f(),h(26,"div",41),A(27,Mj,7,3,"div",19),f()()()),2&e){const t=E(2).$implicit,r=E(4);m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.outputs.length,""),m(8),x("",r.getTotalValue(t.outputs).toFixed(6)," YDA"),m(4),S("ngForOf",t.outputs)}}function Tj(e,n){if(1&e&&(h(0,"div"),A(1,Sj,28,7,"div",12),f()),2&e){const t=E().index,r=E().index,o=E(3);m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}function Aj(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",25),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",25),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Relationship Identifier:"),f(),p(15),f(),h(16,"div",45)(17,"h4",46),p(18,"Relationship DATA:"),f(),h(19,"textarea",47),p(20),f()(),h(21,"div",35)(22,"div",43)(23,"button",48),p(24,"Newly created Address"),f(),h(25,"p",49)(26,"a",25),p(27),f()()()()()()),2&e){const t=E(2).$implicit;m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.rid,""),m(5),T(t.relationship),m(6),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),m(1),T(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function xj(e,n){if(1&e&&(h(0,"div"),A(1,Aj,28,8,"div",12),f()),2&e){const t=E().index,r=E().index,o=E(3);m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}function Nj(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",25),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",25),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Relationship Identifier:"),f(),p(15),f(),h(16,"div",45)(17,"h4",46),p(18,"Relationship DATA:"),f(),h(19,"textarea",47),p(20),f()()()()),2&e){const t=E(2).$implicit;m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.rid,""),m(5),T(t.relationship)}}function Rj(e,n){if(1&e&&(h(0,"div"),A(1,Nj,21,6,"div",12),f()),2&e){const t=E().index,r=E().index,o=E(3);m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}function Oj(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",25),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",25),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Relationship Identifier:"),f(),p(15),f(),h(16,"div",45)(17,"h4",46),p(18,"Relationship DATA:"),f(),h(19,"textarea",47),p(20),f()()()()),2&e){const t=E(2).$implicit;m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.rid,""),m(5),T(t.relationship)}}function Pj(e,n){if(1&e&&(h(0,"div"),A(1,Oj,21,6,"div",12),f()),2&e){const t=E().index,r=E().index,o=E(3);m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}const lE=function(e,n,t,r,o){return{coinbase:e,transfer:n,"create-identity":t,"encrypted-message":r,message:o}};function Fj(e,n){if(1&e){const t=Rt();h(0,"li")(1,"div",29)(2,"button",30),re("click",function(){const i=Tt(t).index,s=E().index;return At(E(3).showTransactionDetails(s,i))}),p(3),f(),A(4,Ij,2,1,"div",12),A(5,Tj,2,1,"div",12),A(6,xj,2,1,"div",12),A(7,Rj,2,1,"div",12),A(8,Pj,2,1,"div",12),f()()}if(2&e){const t=n.$implicit,r=E(4);m(2),S("ngClass",Ba(7,lE,r.transactionUtilsService.isCoinbaseTransaction(t),r.transactionUtilsService.isTransferTransaction(t),r.transactionUtilsService.isCreateIdentityTransaction(t),r.transactionUtilsService.isEncryptedMessageTransaction(t),r.transactionUtilsService.isMessageTransaction(t))),m(1),x(" ",r.transactionUtilsService.getTransactionType(t)," "),m(1),S("ngIf",r.transactionUtilsService.isTransferTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isCoinbaseTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isCreateIdentityTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isEncryptedMessageTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isMessageTransaction(t))}}function kj(e,n){if(1&e&&(h(0,"li")(1,"div",14)(2,"div",20),A(3,yj,2,1,"a",21),h(4,"h2",22),p(5,"Block Details"),f(),A(6,Dj,2,1,"a",23),f(),h(7,"p")(8,"strong",24),p(9,"Index: "),f(),h(10,"a",25),p(11),f()(),h(12,"p")(13,"strong",24),p(14,"Time:"),f(),p(15),f(),h(16,"p")(17,"strong",24),p(18,"Hash: "),f(),h(19,"a",25),p(20),f()(),h(21,"p")(22,"strong",24),p(23,"Previous Hash: "),f(),h(24,"a",25),p(25),f()(),h(26,"p")(27,"strong",24),p(28,"Nonce:"),f(),p(29),f(),h(30,"p")(31,"strong",24),p(32,"Target:"),f(),p(33),f(),h(34,"p")(35,"strong",24),p(36,"ID: "),f(),h(37,"a",25),p(38),f()(),h(39,"h3",26),p(40,"Transactions"),f(),h(41,"ul"),A(42,Fj,9,13,"li",19),f()()()),2&e){const t=n.$implicit,r=E(3);m(3),S("ngIf",0!==t.index),m(3),S("ngIf",t.index!==r.current_height),m(4),F("href","/explorer?term=",t.index,"",L),m(1),T(t.index),m(4),x(" ",t.time,""),m(4),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.prevHash,"",L),m(1),T(t.prevHash),m(4),x(" ",t.nonce,""),m(4),x(" ",t.target,""),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),S("ngForOf",t.transactions)}}function Lj(e,n){if(1&e&&(h(0,"div")(1,"div",14)(2,"h2",16),p(3),f(),h(4,"h3",17),p(5),f()(),h(6,"ul",18),A(7,kj,43,14,"li",19),f()()),2&e){const t=E(2);m(3),x(" search result for ","block_height"===t.resultType?"block index":"block_hash"===t.resultType?"block hash":"block_id"===t.resultType?"block id":"",": "),m(2),x(" ","block_height"===t.resultType?t.result[0].index:"block_hash"===t.resultType?t.result[0].hash:"block_id"===t.resultType?t.result[0].id:""," "),m(2),S("ngForOf",t.result)}}function Vj(e,n){if(1&e&&(h(0,"li"),p(1),f()),2&e){const t=n.$implicit;m(1),T(t.id)}}function jj(e,n){if(1&e&&(h(0,"div",42)(1,"ul"),A(2,Vj,2,1,"li",19),f()()),2&e){const t=E(3).$implicit;m(2),S("ngForOf",t.inputs)}}function Bj(e,n){if(1&e&&(h(0,"div")(1,"div",43)(2,"p",37)(3,"a",25),p(4),f(),h(5,"button",38),p(6),f()()()()),2&e){const t=n.$implicit;m(3),F("href","/explorer?term=",t.to,"",L),m(1),T(t.to),m(2),x("",t.value.toFixed(6)," YDA")}}function $j(e,n){if(1&e){const t=Rt();h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Inputs:"),f(),p(5),f(),h(6,"div",32)(7,"button",33),re("click",function(){return Tt(t),At(E(5).toggleAccordion("inputsAccordion"))}),p(8,"Show Inputs"),f(),A(9,jj,3,1,"div",34),f(),h(10,"p")(11,"strong"),p(12,"Outputs:"),f(),p(13),f(),h(14,"div",35)(15,"div",36)(16,"p",37)(17,"a",25),p(18),f(),h(19,"button",38),p(20),f()()()(),h(21,"div",39),Pe(22,"img",40),f(),h(23,"div",41),A(24,Bj,7,3,"div",19),f()()()}if(2&e){const t=E(2).$implicit,r=E(3);m(5),x(" ",t.inputs.length,""),m(4),S("ngIf","inputsAccordion"===r.showAccordion),m(4),x(" ",t.outputs.length,""),m(4),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),m(1),T(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to),m(2),x("",r.getTotalValue(t.outputs).toFixed(6)," YDA"),m(4),S("ngForOf",t.outputs)}}function Hj(e,n){if(1&e&&(h(0,"div")(1,"div",43)(2,"p",37)(3,"a",25),p(4),f(),h(5,"button",38),p(6),f()()()()),2&e){const t=n.$implicit;m(3),F("href","/explorer?term=",t.to,"",L),m(1),T(t.to),m(2),x("",t.value.toFixed(6)," YDA")}}function Uj(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Outputs:"),f(),p(5),f(),h(6,"div",35)(7,"div",36)(8,"button",44),p(9,"Coinbase"),f(),h(10,"p",37),p(11," (Newly Generated Coins) "),h(12,"button",38),p(13),f()()()(),h(14,"div",39),Pe(15,"img",40),f(),h(16,"div",41),A(17,Hj,7,3,"div",19),f()()()),2&e){const t=E(2).$implicit,r=E(3);m(5),x(" ",t.outputs.length,""),m(8),x("",r.getTotalValue(t.outputs).toFixed(6)," YDA"),m(4),S("ngForOf",t.outputs)}}function zj(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Relationship Identifier:"),f(),p(5),f(),h(6,"div",45)(7,"h4",46),p(8,"Relationship DATA:"),f(),h(9,"textarea",47),p(10),f()(),h(11,"div",35)(12,"div",43)(13,"button",48),p(14,"Newly created Address"),f(),h(15,"p",49)(16,"a",25),p(17),f()()()()()()),2&e){const t=E(2).$implicit;m(5),x(" ",t.rid,""),m(5),T(t.relationship),m(6),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),m(1),T(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function Gj(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Relationship Identifier:"),f(),p(5),f(),h(6,"div",45)(7,"h4",46),p(8,"Relationship DATA:"),f(),h(9,"textarea",47),p(10),f()()()()),2&e){const t=E(2).$implicit;m(5),x(" ",t.rid,""),m(5),T(t.relationship)}}function qj(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Relationship Identifier:"),f(),p(5),f(),h(6,"div",45)(7,"h4",46),p(8,"Relationship DATA:"),f(),h(9,"textarea",47),p(10),f()()()()),2&e){const t=E(2).$implicit;m(5),x(" ",t.rid,""),m(5),T(t.relationship)}}function Wj(e,n){if(1&e&&(h(0,"tr",53)(1,"td",54)(2,"div")(3,"h2",22),p(4,"Transaction Details"),f(),h(5,"div",31)(6,"p")(7,"strong"),p(8,"Transaction Hash: "),f(),h(9,"a",25),p(10),f()(),h(11,"p")(12,"strong"),p(13,"Transaction ID: "),f(),h(14,"a",25),p(15),f()(),h(16,"p")(17,"strong"),p(18,"Time: "),f(),p(19),f(),h(20,"p")(21,"strong"),p(22,"Fee: "),f(),p(23),f(),A(24,$j,25,7,"div",12),A(25,Uj,18,3,"div",12),A(26,zj,18,4,"div",12),A(27,Gj,11,2,"div",12),A(28,qj,11,2,"div",12),f()()()()),2&e){const t=E().$implicit,r=E(3);m(9),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",r.dateFormatService.formatTransactionTime(t.time),""),m(4),x(" ",t.fee," YDA"),m(1),S("ngIf",r.transactionUtilsService.isTransferTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isCoinbaseTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isCreateIdentityTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isEncryptedMessageTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isMessageTransaction(t))}}function Zj(e,n){if(1&e){const t=Rt();$n(0),h(1,"tr",51),re("click",function(){const i=Tt(t).$implicit;return At(E(3).toggleDetails(i))}),h(2,"td"),p(3),f(),h(4,"td"),p(5),f(),h(6,"td"),p(7),f(),h(8,"td"),p(9),f()(),A(10,Wj,29,11,"tr",52),Hn()}if(2&e){const t=n.$implicit,r=E(3);m(3),T(r.dateFormatService.formatTransactionTime(t.time)),m(2),T(t.hash),m(2),T(t.inputs.length),m(2),T(t.outputs.length),m(1),S("ngIf",t.expanded)}}function Yj(e,n){if(1&e&&(h(0,"div")(1,"h2",16),p(2),f(),h(3,"h3",17),p(4),f(),h(5,"div",14)(6,"table",50)(7,"thead")(8,"tr")(9,"th"),p(10,"Time"),f(),h(11,"th"),p(12,"Hash"),f(),h(13,"th"),p(14,"Inputs"),f(),h(15,"th"),p(16,"Outputs"),f()()(),h(17,"tbody"),A(18,Zj,11,5,"ng-container",19),f()()()()),2&e){const t=E(2);m(2),x(" Search result for ","txn_id"===t.resultType?"transaction ID":"txn_hash"===t.resultType?"transaction hash":"mempool_hash"===t.resultType?"mempool hash":"mempool_id"===t.resultType?"mempool ID":"",": "),m(2),x(" ",t.searchedId," "),m(14),S("ngForOf",t.result)}}function Qj(e,n){if(1&e&&(h(0,"li"),p(1),f()),2&e){const t=n.$implicit;m(1),T(t.id)}}function Xj(e,n){if(1&e&&(h(0,"div",42)(1,"ul"),A(2,Qj,2,1,"li",19),f()()),2&e){const t=E(2).$implicit;m(2),S("ngForOf",t.inputs)}}const Xu=function(e){return{"searched-address":e}};function Jj(e,n){if(1&e&&(h(0,"div")(1,"div",43)(2,"p",37)(3,"a",58),p(4),f(),h(5,"button",38),p(6),f()()()()),2&e){const t=n.$implicit,r=E(7);m(3),F("href","/explorer?term=",t.to,"",L),S("ngClass",Fi(4,Xu,r.isSearchedAddress(t.to))),m(1),x(" ",t.to," "),m(2),x("",t.value.toFixed(6)," YDA")}}function Kj(e,n){if(1&e){const t=Rt();h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Inputs:"),f(),p(5),f(),h(6,"div",32)(7,"button",33),re("click",function(){return Tt(t),At(E(6).toggleAccordion("inputsAccordion"))}),p(8,"Show Inputs"),f(),A(9,Xj,3,1,"div",34),f(),h(10,"p")(11,"strong"),p(12,"Outputs:"),f(),p(13),f(),h(14,"div",35)(15,"div",36)(16,"p",37)(17,"a",58),p(18),f(),h(19,"button",38),p(20),f()()()(),h(21,"div",39),Pe(22,"img",40),f(),h(23,"div",41),A(24,Jj,7,6,"div",19),f()()()}if(2&e){const t=E().$implicit,r=E(5);m(5),x(" ",t.inputs.length,""),m(4),S("ngIf","inputsAccordion"===r.showAccordion),m(4),x(" ",t.outputs.length,""),m(4),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),S("ngClass",Fi(8,Xu,r.isSearchedAddress(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to))),m(1),x(" ",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to," "),m(2),x("",r.getTotalValue(t.outputs).toFixed(6)," YDA"),m(4),S("ngForOf",t.outputs)}}function eB(e,n){if(1&e&&(h(0,"div")(1,"div",43)(2,"p",37)(3,"a",58),p(4),f(),h(5,"button",38),p(6),f()()()()),2&e){const t=n.$implicit,r=E(7);m(3),F("href","/explorer?term=",t.to,"",L),S("ngClass",Fi(4,Xu,r.isSearchedAddress(t.to))),m(1),x(" ",t.to," "),m(2),x("",t.value.toFixed(6)," YDA")}}function tB(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Outputs:"),f(),p(5),f(),h(6,"div",35)(7,"div",36)(8,"button",44),p(9,"Coinbase"),f(),h(10,"p",37),p(11," (Newly Generated Coins) "),h(12,"button",38),p(13),f()()()(),h(14,"div",39),Pe(15,"img",40),f(),h(16,"div",41),A(17,eB,7,6,"div",19),f()()()),2&e){const t=E().$implicit,r=E(5);m(5),x(" ",t.outputs.length,""),m(8),x("",r.getTotalValue(t.outputs).toFixed(6)," YDA"),m(4),S("ngForOf",t.outputs)}}function nB(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Relationship Identifier:"),f(),p(5),f(),h(6,"div",45)(7,"h4",46),p(8,"Relationship DATA:"),f(),h(9,"textarea",47),p(10),f()(),h(11,"div",35)(12,"div",43)(13,"button",48),p(14,"Newly created Address"),f(),h(15,"p",49)(16,"a",25),p(17),f()()()()()()),2&e){const t=E().$implicit;m(5),x(" ",t.rid,""),m(5),T(t.relationship),m(6),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),m(1),T(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function rB(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Relationship Identifier:"),f(),p(5),f(),h(6,"div",45)(7,"h4",46),p(8,"Relationship DATA:"),f(),h(9,"textarea",47),p(10),f()()()()),2&e){const t=E().$implicit;m(5),x(" ",t.rid,""),m(5),T(t.relationship)}}function oB(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Relationship Identifier:"),f(),p(5),f(),h(6,"div",45)(7,"h4",46),p(8,"Relationship DATA:"),f(),h(9,"textarea",47),p(10),f()()()()),2&e){const t=E().$implicit;m(5),x(" ",t.rid,""),m(5),T(t.relationship)}}function iB(e,n){if(1&e&&(h(0,"div",31)(1,"p")(2,"strong"),p(3,"Transaction Hash: "),f(),h(4,"a",25),p(5),f()(),h(6,"p")(7,"strong"),p(8,"Transaction ID: "),f(),h(9,"a",25),p(10),f()(),h(11,"p")(12,"strong"),p(13,"Time: "),f(),p(14),f(),h(15,"p")(16,"strong"),p(17,"Fee: "),f(),p(18),f(),A(19,Kj,25,10,"div",12),A(20,tB,18,3,"div",12),A(21,nB,18,4,"div",12),A(22,rB,11,2,"div",12),A(23,oB,11,2,"div",12),f()),2&e){const t=n.$implicit,r=E(5);m(4),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",r.dateFormatService.formatTransactionTime(t.time),""),m(4),x(" ",t.fee," YDA"),m(1),S("ngIf",r.transactionUtilsService.isTransferTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isCoinbaseTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isCreateIdentityTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isEncryptedMessageTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isMessageTransaction(t))}}function sB(e,n){if(1&e&&(h(0,"tr",53)(1,"td",54)(2,"div")(3,"h2",22),p(4),f(),A(5,iB,24,11,"div",57),f()()()),2&e){const t=E().$implicit;m(4),x("Transactions in Block ",t.index,""),m(1),S("ngForOf",t.transactions)}}function aB(e,n){if(1&e){const t=Rt();$n(0),h(1,"tr",51),re("click",function(){const i=Tt(t).$implicit;return At(E(3).toggleDetails(i))}),h(2,"td"),p(3),f(),h(4,"td"),p(5),f(),h(6,"td",55),p(7),f(),h(8,"td")(9,"button",56),p(10),f()()(),A(11,sB,6,2,"tr",52),Hn()}if(2&e){const t=n.$implicit,r=E(3);m(3),T(t.index),m(2),T(r.dateFormatService.formatTransactionTime(t.time)),m(1),S("ngClass",Fi(7,Xu,r.isSearchedAddress(t.hash))),m(1),T(t.hash),m(2),S("ngClass",Ba(9,lE,r.transactionUtilsService.isCoinbaseTransaction(t.transactions[0]),r.transactionUtilsService.isTransferTransaction(t.transactions[0]),r.transactionUtilsService.isCreateIdentityTransaction(t.transactions[0]),r.transactionUtilsService.isEncryptedMessageTransaction(t.transactions[0]),r.transactionUtilsService.isMessageTransaction(t.transactions[0]))),m(1),x(" ",r.transactionUtilsService.getTransactionType(t.transactions[0])," "),m(1),S("ngIf",t.expanded)}}function uB(e,n){if(1&e&&(h(0,"div")(1,"h2",16),p(2),f(),h(3,"h3",17),p(4),f(),h(5,"div",14)(6,"table",50)(7,"thead")(8,"tr")(9,"th"),p(10,"Block Index"),f(),h(11,"th"),p(12,"Time"),f(),h(13,"th"),p(14,"Hash"),f(),h(15,"th"),p(16,"Type"),f()()(),h(17,"tbody"),A(18,aB,12,15,"ng-container",19),f()()()()),2&e){const t=E(2);m(2),x(" Search result for ","txn_outputs_to"===t.resultType?"transaction outputs to":"",": "),m(2),x(" ",t.searchedId," "),m(14),S("ngForOf",t.result)}}function cB(e,n){if(1&e&&(h(0,"div"),A(1,_j,4,0,"ng-container",12),A(2,Lj,8,3,"div",12),A(3,Yj,19,3,"div",12),A(4,uB,19,3,"div",12),f()),2&e){const t=E();m(1),S("ngIf",!t.result||t.result&&0===t.result.length),m(1),S("ngIf",("block_height"===t.resultType||"block_hash"===t.resultType||"block_id"===t.resultType)&&t.result&&t.result.length>0),m(1),S("ngIf",("txn_id"===t.resultType||"txn_hash"===t.resultType||"mempool_hash"===t.resultType||"mempool_id"===t.resultType)&&t.result&&t.result.length>0),m(1),S("ngIf","txn_outputs_to"===t.resultType&&t.result&&t.result.length>0)}}function lB(e,n){1&e&&Pe(0,"app-latest-blocks")}function dB(e,n){1&e&&Pe(0,"app-address-balance")}function fB(e,n){1&e&&Pe(0,"app-mempool")}let hB=(()=>{class e{constructor(t,r,o,i){this.httpClient=t,this.route=r,this.dateFormatService=o,this.transactionUtilsService=i,this.title="explorer",this.model=new cE,this.result=[],this.searchedId="",this.blocks=[],this.showBlockTransactions=!1,this.showBlockTransactionDetails=[[]],this.resultType="",this.balance=0,this.searching=!1,this.submitted=!1,this.current_height="",this.circulating="",this.hashrate="",this.difficulty="",this.selectedOption="Main Page",this.showAccordion=null,this.httpClient.get("/api-stats").subscribe(s=>{this.difficulty=this.numberWithCommas(s.stats.difficulty),this.hashrate=this.formatHashrate(s.stats.network_hash_rate),this.current_height=this.numberWithCommas(s.stats.height),this.circulating=this.numberWithCommas(s.stats.circulating)},s=>{console.error("Error fetching API stats:",s),alert("Something went wrong while fetching API stats!")}),this.route.queryParams.subscribe(s=>{const a=s.term;a&&(this.model=new cE({term:a}),this.onSubmit(),this.selectedOption="SearchResults")}),window.location.search&&"SearchResults"!==this.selectedOption&&(this.searching=!0,this.submitted=!0,this.httpClient.get("/explorer-search"+window.location.search).subscribe(s=>{this.result=s.result||[],this.resultType=s.resultType,this.balance=s.balance,this.searchedId=s.searchedId,this.searching=!1,this.selectedOption="SearchResults"},s=>{console.error("Error fetching explorer search:",s),alert("Something went wrong while fetching explorer search results!")}))}ngOnInit(){}onSubmit(){this.searching=!0,this.submitted=!0;const r=`/explorer-search?term=${encodeURIComponent(this.model.term)}`;this.httpClient.get(r).subscribe(o=>{this.result=o.result||[],this.resultType=o.resultType,this.balance=o.balance,this.searchedId=o.searchedId,this.searching=!1,this.selectedOption="SearchResults"},o=>{console.error("Error fetching explorer search:",o),alert("Something went wrong while fetching explorer search results!"),this.searching=!1})}showBlockDetails(t){console.log("Clicked block:",t),this.selectedBlock=t}toggleAccordion(t){this.showAccordion=this.showAccordion===t?null:t}toggleDetails(t){if(t.expanded)t.expanded=!1;else{this.blocks.forEach(o=>o.expanded=!1),t.expanded=!0;const r=this.blocks.indexOf(t);this.showBlockTransactionDetails[r]=this.showBlockTransactionDetails[r]||[],this.selectedBlock=t}}showTransactions(){this.showBlockTransactions=!this.showBlockTransactions,this.showBlockTransactionDetails=[]}showTransactionDetails(t,r){this.showBlockTransactionDetails[t]||(this.showBlockTransactionDetails[t]=[]),this.showBlockTransactionDetails[t][r]=!this.showBlockTransactionDetails[t][r]}numberWithCommas(t){return t.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")}formatHashrate(t){return t<1e3?`${t.toFixed(0)} h/s`:t<1e6?`${(t/1e3).toFixed(2)} kh/s`:`${(t/1e6).toFixed(2)} mh/s`}calculateAge(t){const r=(new Date).getTime(),o=new Date(t).getTime(),s=Math.floor((r-o)/6e4);return s<60?`${s} minutes ago`:`${Math.floor(s/60)} hours ago`}getTotalValue(t){return t.reduce((r,o)=>r+o.value,0)}selectOption(t){this.selectedOption=t}isSearchedAddress(t){return t.toLowerCase()===this.searchedId.toLowerCase()}static#e=this.\u0275fac=function(r){return new(r||e)(b(Zi),b(Er),b(Nu),b(Ru))};static#t=this.\u0275cmp=Tr({type:e,selectors:[["app-root"]],decls:48,vars:16,consts:[[1,"top-bar"],["href","#",1,"button",3,"click"],[3,"ngSubmit"],["searchForm","ngForm"],["name","term","placeholder","Wallet address, Transaction Id, Block height, Block hash...",1,"form-control",3,"ngModel","ngModelChange"],[1,"button","btn-success"],[1,"box-container"],[1,"result-box"],["src","yadacoinstatic/explorer/assets/network-height.png","alt","Network Height",1,"watermark"],["src","yadacoinstatic/explorer/assets/hashrate.png","alt","Network Hashrate",1,"watermark"],["src","yadacoinstatic/explorer/assets/difficulty.png","alt","Network Difficulty",1,"watermark"],["src","yadacoinstatic/explorer/assets/circulating-supply.png","alt","Circulating Supply",1,"watermark"],[4,"ngIf"],[2,"text-transform","uppercase","margin","20px","margin-top","25px","text-align","center"],[1,"blocks-container"],[2,"text-transform","uppercase","margin","20px","margin-top","25px","color","red"],[2,"text-transform","uppercase","margin","20px","margin-top","25px"],[2,"margin","20px","margin-top","10px"],[2,"list-style-type","none","padding","0","margin","0"],[4,"ngFor","ngForOf"],[1,"block-details"],["class","previous-button",3,"href",4,"ngIf"],[2,"text-transform","uppercase","margin","20px","margin-top","10px"],["class","next-button",3,"href",4,"ngIf"],[2,"text-transform","uppercase","margin-left","30px"],[3,"href"],[2,"text-transform","uppercase","margin","20px","margin-top","20px"],[1,"previous-button",3,"href"],[1,"next-button",3,"href"],[1,"transaction-container"],[1,"transaction-type-button",3,"ngClass","click"],[1,"transaction-details"],[1,"input-section",2,"width","100%","display","inline-block","margin-top","5px"],[1,"accordion",3,"click"],["class","panel",4,"ngIf"],[1,"in-section",2,"width","44%","display","inline-block","margin-top","5px"],[1,"transfer-in-info-box"],[2,"margin-left","10px"],[1,"transaction-value-button"],[1,"arrow-box",2,"width","10%","display","inline-block","vertical-align","top"],["src","yadacoinstatic/explorer/assets/arrow-right.png","alt","Arrow Right",1,"arrow-icon"],[1,"out-section",2,"width","44%","display","inline-block","float","right","margin-top","5px"],[1,"panel"],[1,"transfer-out-info-box"],[1,"transaction-type-button","coinbase"],[1,"relationship-data-box"],[2,"text-transform","uppercase","margin","10px"],["rows","4","readonly","",2,"width","98%"],[1,"transaction-type-button","create-identity"],[2,"margin-left","15px"],[1,"blocks-table"],[3,"click"],["class","expanded-row",4,"ngIf"],[1,"expanded-row"],["colspan","5"],[3,"ngClass"],[1,"transaction-type-button",3,"ngClass"],["class","transaction-details",4,"ngFor","ngForOf"],[3,"ngClass","href"]],template:function(r,o){1&r&&(h(0,"body")(1,"div",0)(2,"a",1),re("click",function(){return o.selectOption("Main Page")}),p(3,"Main Page"),f(),h(4,"a",1),re("click",function(){return o.selectOption("Latest Blocks")}),p(5,"Latest Blocks"),f(),h(6,"a",1),re("click",function(){return o.selectOption("Mempool")}),p(7,"Mempool"),f(),h(8,"a",1),re("click",function(){return o.selectOption("Address Balance")}),p(9,"Address Balance"),f(),h(10,"form",2,3),re("ngSubmit",function(){return o.onSubmit()}),h(12,"input",4),re("ngModelChange",function(s){return o.model.term=s}),f(),h(13,"button",5),p(14,"Search"),f()()(),h(15,"div",6)(16,"div",7),Pe(17,"img",8),h(18,"h5"),p(19,"Network Height"),f(),h(20,"h3"),p(21),$a(22,"replaceComma"),f()(),h(23,"div",7),Pe(24,"img",9),h(25,"h5"),p(26,"Network Hashrate"),f(),h(27,"h3"),p(28),f()(),h(29,"div",7),Pe(30,"img",10),h(31,"h5"),p(32,"Network Difficulty"),f(),h(33,"h3"),p(34),$a(35,"replaceComma"),f()(),h(36,"div",7),Pe(37,"img",11),h(38,"h5"),p(39,"Circulating Supply"),f(),h(40,"h3"),p(41),$a(42,"replaceComma"),f()()(),A(43,vj,7,0,"div",12),A(44,cB,5,4,"div",12),A(45,lB,1,0,"app-latest-blocks",12),A(46,dB,1,0,"app-address-balance",12),A(47,fB,1,0,"app-mempool",12),f()),2&r&&(m(12),S("ngModel",o.model.term),m(9),T(Ha(22,10,o.current_height)),m(7),T(o.hashrate),m(6),T(Ha(35,12,o.difficulty)),m(7),x("",Ha(42,14,o.circulating)," YDA"),m(2),S("ngIf","Main Page"===o.selectedOption),m(1),S("ngIf","SearchResults"===o.selectedOption),m(1),S("ngIf","Latest Blocks"===o.selectedOption),m(1),S("ngIf","Address Balance"===o.selectedOption),m(1),S("ngIf","Mempool"===o.selectedOption))},dependencies:[du,fu,Ui,kw,Qi,Pf,ww,xu,Au,WV,QV,gj,mj],styles:["body[_ngcontent-%COMP%]{background-color:silver;margin:30px 10%;color:#303030}.top-bar[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:10px}.top-bar[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#fff;text-decoration:none;padding:10px;margin-right:10px;border-radius:5px}.top-bar[_ngcontent-%COMP%] form[_ngcontent-%COMP%]{display:flex;align-items:center;flex:1}.form-control[_ngcontent-%COMP%]{margin-right:10px;flex:1;height:30px}.button.btn-success[_ngcontent-%COMP%]{background-color:green;color:#fff}.box-container[_ngcontent-%COMP%]{display:flex;height:110px;justify-content:space-between;margin-top:10px;margin-left:10px}.result-box[_ngcontent-%COMP%]{flex:1;background-color:#424242;padding:5px;margin-right:10px;border-radius:5px;color:#fff;text-align:left;position:relative}.result-box[_ngcontent-%COMP%] h5[_ngcontent-%COMP%]{margin:10px;text-transform:uppercase;z-index:1}.result-box[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:10px;font-size:24px;font-weight:700;text-transform:uppercase;z-index:1}.watermark[_ngcontent-%COMP%]{width:auto;height:100%;position:absolute;top:0;right:0}.button[_ngcontent-%COMP%]{background:#424242;color:#303030;border:none;padding:10px 20px;cursor:pointer;transition:background .3s ease;border-radius:5px}.button[_ngcontent-%COMP%]:hover{background:#3498db}.uppercase-heading[_ngcontent-%COMP%]{text-transform:uppercase;margin:10px 20px 20px}.search-container[_ngcontent-%COMP%]{margin-top:20px}.result-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-top:20px}"]})}return e})(),pB=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=It({type:e,bootstrap:[hB]});static#n=this.\u0275inj=ht({providers:[Nu,Ru],imports:[EF,ek,u2,kV,c2]})}return e})();wF().bootstrapModule(pB).catch(e=>console.error(e))}},le=>{le(le.s=90)}]); \ No newline at end of file diff --git a/static/explorer/polyfills.js b/static/explorer/polyfills.js index a8bbd235..799a8e30 100644 --- a/static/explorer/polyfills.js +++ b/static/explorer/polyfills.js @@ -1,5482 +1 @@ -(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["polyfills"],{ - -/***/ "./node_modules/core-js/es7/reflect.js": -/*!*********************************************!*\ - !*** ./node_modules/core-js/es7/reflect.js ***! - \*********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -__webpack_require__(/*! ../modules/es7.reflect.define-metadata */ "./node_modules/core-js/modules/es7.reflect.define-metadata.js"); -__webpack_require__(/*! ../modules/es7.reflect.delete-metadata */ "./node_modules/core-js/modules/es7.reflect.delete-metadata.js"); -__webpack_require__(/*! ../modules/es7.reflect.get-metadata */ "./node_modules/core-js/modules/es7.reflect.get-metadata.js"); -__webpack_require__(/*! ../modules/es7.reflect.get-metadata-keys */ "./node_modules/core-js/modules/es7.reflect.get-metadata-keys.js"); -__webpack_require__(/*! ../modules/es7.reflect.get-own-metadata */ "./node_modules/core-js/modules/es7.reflect.get-own-metadata.js"); -__webpack_require__(/*! ../modules/es7.reflect.get-own-metadata-keys */ "./node_modules/core-js/modules/es7.reflect.get-own-metadata-keys.js"); -__webpack_require__(/*! ../modules/es7.reflect.has-metadata */ "./node_modules/core-js/modules/es7.reflect.has-metadata.js"); -__webpack_require__(/*! ../modules/es7.reflect.has-own-metadata */ "./node_modules/core-js/modules/es7.reflect.has-own-metadata.js"); -__webpack_require__(/*! ../modules/es7.reflect.metadata */ "./node_modules/core-js/modules/es7.reflect.metadata.js"); -module.exports = __webpack_require__(/*! ../modules/_core */ "./node_modules/core-js/modules/_core.js").Reflect; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_a-function.js": -/*!*****************************************************!*\ - !*** ./node_modules/core-js/modules/_a-function.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = function (it) { - if (typeof it != 'function') throw TypeError(it + ' is not a function!'); - return it; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_an-instance.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/modules/_an-instance.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = function (it, Constructor, name, forbiddenField) { - if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) { - throw TypeError(name + ': incorrect invocation!'); - } return it; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_an-object.js": -/*!****************************************************!*\ - !*** ./node_modules/core-js/modules/_an-object.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js"); -module.exports = function (it) { - if (!isObject(it)) throw TypeError(it + ' is not an object!'); - return it; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_array-from-iterable.js": -/*!**************************************************************!*\ - !*** ./node_modules/core-js/modules/_array-from-iterable.js ***! - \**************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var forOf = __webpack_require__(/*! ./_for-of */ "./node_modules/core-js/modules/_for-of.js"); - -module.exports = function (iter, ITERATOR) { - var result = []; - forOf(iter, false, result.push, result, ITERATOR); - return result; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_array-includes.js": -/*!*********************************************************!*\ - !*** ./node_modules/core-js/modules/_array-includes.js ***! - \*********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// false -> Array#indexOf -// true -> Array#includes -var toIObject = __webpack_require__(/*! ./_to-iobject */ "./node_modules/core-js/modules/_to-iobject.js"); -var toLength = __webpack_require__(/*! ./_to-length */ "./node_modules/core-js/modules/_to-length.js"); -var toAbsoluteIndex = __webpack_require__(/*! ./_to-absolute-index */ "./node_modules/core-js/modules/_to-absolute-index.js"); -module.exports = function (IS_INCLUDES) { - return function ($this, el, fromIndex) { - var O = toIObject($this); - var length = toLength(O.length); - var index = toAbsoluteIndex(fromIndex, length); - var value; - // Array#includes uses SameValueZero equality algorithm - // eslint-disable-next-line no-self-compare - if (IS_INCLUDES && el != el) while (length > index) { - value = O[index++]; - // eslint-disable-next-line no-self-compare - if (value != value) return true; - // Array#indexOf ignores holes, Array#includes - not - } else for (;length > index; index++) if (IS_INCLUDES || index in O) { - if (O[index] === el) return IS_INCLUDES || index || 0; - } return !IS_INCLUDES && -1; - }; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_array-methods.js": -/*!********************************************************!*\ - !*** ./node_modules/core-js/modules/_array-methods.js ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// 0 -> Array#forEach -// 1 -> Array#map -// 2 -> Array#filter -// 3 -> Array#some -// 4 -> Array#every -// 5 -> Array#find -// 6 -> Array#findIndex -var ctx = __webpack_require__(/*! ./_ctx */ "./node_modules/core-js/modules/_ctx.js"); -var IObject = __webpack_require__(/*! ./_iobject */ "./node_modules/core-js/modules/_iobject.js"); -var toObject = __webpack_require__(/*! ./_to-object */ "./node_modules/core-js/modules/_to-object.js"); -var toLength = __webpack_require__(/*! ./_to-length */ "./node_modules/core-js/modules/_to-length.js"); -var asc = __webpack_require__(/*! ./_array-species-create */ "./node_modules/core-js/modules/_array-species-create.js"); -module.exports = function (TYPE, $create) { - var IS_MAP = TYPE == 1; - var IS_FILTER = TYPE == 2; - var IS_SOME = TYPE == 3; - var IS_EVERY = TYPE == 4; - var IS_FIND_INDEX = TYPE == 6; - var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; - var create = $create || asc; - return function ($this, callbackfn, that) { - var O = toObject($this); - var self = IObject(O); - var f = ctx(callbackfn, that, 3); - var length = toLength(self.length); - var index = 0; - var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined; - var val, res; - for (;length > index; index++) if (NO_HOLES || index in self) { - val = self[index]; - res = f(val, index, O); - if (TYPE) { - if (IS_MAP) result[index] = res; // map - else if (res) switch (TYPE) { - case 3: return true; // some - case 5: return val; // find - case 6: return index; // findIndex - case 2: result.push(val); // filter - } else if (IS_EVERY) return false; // every - } - } - return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result; - }; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_array-species-constructor.js": -/*!********************************************************************!*\ - !*** ./node_modules/core-js/modules/_array-species-constructor.js ***! - \********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js"); -var isArray = __webpack_require__(/*! ./_is-array */ "./node_modules/core-js/modules/_is-array.js"); -var SPECIES = __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js")('species'); - -module.exports = function (original) { - var C; - if (isArray(original)) { - C = original.constructor; - // cross-realm fallback - if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined; - if (isObject(C)) { - C = C[SPECIES]; - if (C === null) C = undefined; - } - } return C === undefined ? Array : C; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_array-species-create.js": -/*!***************************************************************!*\ - !*** ./node_modules/core-js/modules/_array-species-create.js ***! - \***************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// 9.4.2.3 ArraySpeciesCreate(originalArray, length) -var speciesConstructor = __webpack_require__(/*! ./_array-species-constructor */ "./node_modules/core-js/modules/_array-species-constructor.js"); - -module.exports = function (original, length) { - return new (speciesConstructor(original))(length); -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_classof.js": -/*!**************************************************!*\ - !*** ./node_modules/core-js/modules/_classof.js ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// getting tag from 19.1.3.6 Object.prototype.toString() -var cof = __webpack_require__(/*! ./_cof */ "./node_modules/core-js/modules/_cof.js"); -var TAG = __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js")('toStringTag'); -// ES3 wrong here -var ARG = cof(function () { return arguments; }()) == 'Arguments'; - -// fallback for IE11 Script Access Denied error -var tryGet = function (it, key) { - try { - return it[key]; - } catch (e) { /* empty */ } -}; - -module.exports = function (it) { - var O, T, B; - return it === undefined ? 'Undefined' : it === null ? 'Null' - // @@toStringTag case - : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T - // builtinTag case - : ARG ? cof(O) - // ES3 arguments fallback - : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_cof.js": -/*!**********************************************!*\ - !*** ./node_modules/core-js/modules/_cof.js ***! - \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -var toString = {}.toString; - -module.exports = function (it) { - return toString.call(it).slice(8, -1); -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_collection-strong.js": -/*!************************************************************!*\ - !*** ./node_modules/core-js/modules/_collection-strong.js ***! - \************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var dP = __webpack_require__(/*! ./_object-dp */ "./node_modules/core-js/modules/_object-dp.js").f; -var create = __webpack_require__(/*! ./_object-create */ "./node_modules/core-js/modules/_object-create.js"); -var redefineAll = __webpack_require__(/*! ./_redefine-all */ "./node_modules/core-js/modules/_redefine-all.js"); -var ctx = __webpack_require__(/*! ./_ctx */ "./node_modules/core-js/modules/_ctx.js"); -var anInstance = __webpack_require__(/*! ./_an-instance */ "./node_modules/core-js/modules/_an-instance.js"); -var forOf = __webpack_require__(/*! ./_for-of */ "./node_modules/core-js/modules/_for-of.js"); -var $iterDefine = __webpack_require__(/*! ./_iter-define */ "./node_modules/core-js/modules/_iter-define.js"); -var step = __webpack_require__(/*! ./_iter-step */ "./node_modules/core-js/modules/_iter-step.js"); -var setSpecies = __webpack_require__(/*! ./_set-species */ "./node_modules/core-js/modules/_set-species.js"); -var DESCRIPTORS = __webpack_require__(/*! ./_descriptors */ "./node_modules/core-js/modules/_descriptors.js"); -var fastKey = __webpack_require__(/*! ./_meta */ "./node_modules/core-js/modules/_meta.js").fastKey; -var validate = __webpack_require__(/*! ./_validate-collection */ "./node_modules/core-js/modules/_validate-collection.js"); -var SIZE = DESCRIPTORS ? '_s' : 'size'; - -var getEntry = function (that, key) { - // fast case - var index = fastKey(key); - var entry; - if (index !== 'F') return that._i[index]; - // frozen object case - for (entry = that._f; entry; entry = entry.n) { - if (entry.k == key) return entry; - } -}; - -module.exports = { - getConstructor: function (wrapper, NAME, IS_MAP, ADDER) { - var C = wrapper(function (that, iterable) { - anInstance(that, C, NAME, '_i'); - that._t = NAME; // collection type - that._i = create(null); // index - that._f = undefined; // first entry - that._l = undefined; // last entry - that[SIZE] = 0; // size - if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); - }); - redefineAll(C.prototype, { - // 23.1.3.1 Map.prototype.clear() - // 23.2.3.2 Set.prototype.clear() - clear: function clear() { - for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) { - entry.r = true; - if (entry.p) entry.p = entry.p.n = undefined; - delete data[entry.i]; - } - that._f = that._l = undefined; - that[SIZE] = 0; - }, - // 23.1.3.3 Map.prototype.delete(key) - // 23.2.3.4 Set.prototype.delete(value) - 'delete': function (key) { - var that = validate(this, NAME); - var entry = getEntry(that, key); - if (entry) { - var next = entry.n; - var prev = entry.p; - delete that._i[entry.i]; - entry.r = true; - if (prev) prev.n = next; - if (next) next.p = prev; - if (that._f == entry) that._f = next; - if (that._l == entry) that._l = prev; - that[SIZE]--; - } return !!entry; - }, - // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined) - // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined) - forEach: function forEach(callbackfn /* , that = undefined */) { - validate(this, NAME); - var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); - var entry; - while (entry = entry ? entry.n : this._f) { - f(entry.v, entry.k, this); - // revert to the last existing entry - while (entry && entry.r) entry = entry.p; - } - }, - // 23.1.3.7 Map.prototype.has(key) - // 23.2.3.7 Set.prototype.has(value) - has: function has(key) { - return !!getEntry(validate(this, NAME), key); - } - }); - if (DESCRIPTORS) dP(C.prototype, 'size', { - get: function () { - return validate(this, NAME)[SIZE]; - } - }); - return C; - }, - def: function (that, key, value) { - var entry = getEntry(that, key); - var prev, index; - // change existing entry - if (entry) { - entry.v = value; - // create new entry - } else { - that._l = entry = { - i: index = fastKey(key, true), // <- index - k: key, // <- key - v: value, // <- value - p: prev = that._l, // <- previous entry - n: undefined, // <- next entry - r: false // <- removed - }; - if (!that._f) that._f = entry; - if (prev) prev.n = entry; - that[SIZE]++; - // add to index - if (index !== 'F') that._i[index] = entry; - } return that; - }, - getEntry: getEntry, - setStrong: function (C, NAME, IS_MAP) { - // add .keys, .values, .entries, [@@iterator] - // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11 - $iterDefine(C, NAME, function (iterated, kind) { - this._t = validate(iterated, NAME); // target - this._k = kind; // kind - this._l = undefined; // previous - }, function () { - var that = this; - var kind = that._k; - var entry = that._l; - // revert to the last existing entry - while (entry && entry.r) entry = entry.p; - // get next entry - if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) { - // or finish the iteration - that._t = undefined; - return step(1); - } - // return step by kind - if (kind == 'keys') return step(0, entry.k); - if (kind == 'values') return step(0, entry.v); - return step(0, [entry.k, entry.v]); - }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); - - // add [@@species], 23.1.2.2, 23.2.2.2 - setSpecies(NAME); - } -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_collection-weak.js": -/*!**********************************************************!*\ - !*** ./node_modules/core-js/modules/_collection-weak.js ***! - \**********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var redefineAll = __webpack_require__(/*! ./_redefine-all */ "./node_modules/core-js/modules/_redefine-all.js"); -var getWeak = __webpack_require__(/*! ./_meta */ "./node_modules/core-js/modules/_meta.js").getWeak; -var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js"); -var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js"); -var anInstance = __webpack_require__(/*! ./_an-instance */ "./node_modules/core-js/modules/_an-instance.js"); -var forOf = __webpack_require__(/*! ./_for-of */ "./node_modules/core-js/modules/_for-of.js"); -var createArrayMethod = __webpack_require__(/*! ./_array-methods */ "./node_modules/core-js/modules/_array-methods.js"); -var $has = __webpack_require__(/*! ./_has */ "./node_modules/core-js/modules/_has.js"); -var validate = __webpack_require__(/*! ./_validate-collection */ "./node_modules/core-js/modules/_validate-collection.js"); -var arrayFind = createArrayMethod(5); -var arrayFindIndex = createArrayMethod(6); -var id = 0; - -// fallback for uncaught frozen keys -var uncaughtFrozenStore = function (that) { - return that._l || (that._l = new UncaughtFrozenStore()); -}; -var UncaughtFrozenStore = function () { - this.a = []; -}; -var findUncaughtFrozen = function (store, key) { - return arrayFind(store.a, function (it) { - return it[0] === key; - }); -}; -UncaughtFrozenStore.prototype = { - get: function (key) { - var entry = findUncaughtFrozen(this, key); - if (entry) return entry[1]; - }, - has: function (key) { - return !!findUncaughtFrozen(this, key); - }, - set: function (key, value) { - var entry = findUncaughtFrozen(this, key); - if (entry) entry[1] = value; - else this.a.push([key, value]); - }, - 'delete': function (key) { - var index = arrayFindIndex(this.a, function (it) { - return it[0] === key; - }); - if (~index) this.a.splice(index, 1); - return !!~index; - } -}; - -module.exports = { - getConstructor: function (wrapper, NAME, IS_MAP, ADDER) { - var C = wrapper(function (that, iterable) { - anInstance(that, C, NAME, '_i'); - that._t = NAME; // collection type - that._i = id++; // collection id - that._l = undefined; // leak store for uncaught frozen objects - if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); - }); - redefineAll(C.prototype, { - // 23.3.3.2 WeakMap.prototype.delete(key) - // 23.4.3.3 WeakSet.prototype.delete(value) - 'delete': function (key) { - if (!isObject(key)) return false; - var data = getWeak(key); - if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key); - return data && $has(data, this._i) && delete data[this._i]; - }, - // 23.3.3.4 WeakMap.prototype.has(key) - // 23.4.3.4 WeakSet.prototype.has(value) - has: function has(key) { - if (!isObject(key)) return false; - var data = getWeak(key); - if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key); - return data && $has(data, this._i); - } - }); - return C; - }, - def: function (that, key, value) { - var data = getWeak(anObject(key), true); - if (data === true) uncaughtFrozenStore(that).set(key, value); - else data[that._i] = value; - return that; - }, - ufstore: uncaughtFrozenStore -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_collection.js": -/*!*****************************************************!*\ - !*** ./node_modules/core-js/modules/_collection.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var global = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js"); -var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js"); -var redefine = __webpack_require__(/*! ./_redefine */ "./node_modules/core-js/modules/_redefine.js"); -var redefineAll = __webpack_require__(/*! ./_redefine-all */ "./node_modules/core-js/modules/_redefine-all.js"); -var meta = __webpack_require__(/*! ./_meta */ "./node_modules/core-js/modules/_meta.js"); -var forOf = __webpack_require__(/*! ./_for-of */ "./node_modules/core-js/modules/_for-of.js"); -var anInstance = __webpack_require__(/*! ./_an-instance */ "./node_modules/core-js/modules/_an-instance.js"); -var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js"); -var fails = __webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js"); -var $iterDetect = __webpack_require__(/*! ./_iter-detect */ "./node_modules/core-js/modules/_iter-detect.js"); -var setToStringTag = __webpack_require__(/*! ./_set-to-string-tag */ "./node_modules/core-js/modules/_set-to-string-tag.js"); -var inheritIfRequired = __webpack_require__(/*! ./_inherit-if-required */ "./node_modules/core-js/modules/_inherit-if-required.js"); - -module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) { - var Base = global[NAME]; - var C = Base; - var ADDER = IS_MAP ? 'set' : 'add'; - var proto = C && C.prototype; - var O = {}; - var fixMethod = function (KEY) { - var fn = proto[KEY]; - redefine(proto, KEY, - KEY == 'delete' ? function (a) { - return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a); - } : KEY == 'has' ? function has(a) { - return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a); - } : KEY == 'get' ? function get(a) { - return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a); - } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; } - : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; } - ); - }; - if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () { - new C().entries().next(); - }))) { - // create collection constructor - C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER); - redefineAll(C.prototype, methods); - meta.NEED = true; - } else { - var instance = new C(); - // early implementations not supports chaining - var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance; - // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false - var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); }); - // most early implementations doesn't supports iterables, most modern - not close it correctly - var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new - // for early implementations -0 and +0 not the same - var BUGGY_ZERO = !IS_WEAK && fails(function () { - // V8 ~ Chromium 42- fails only with 5+ elements - var $instance = new C(); - var index = 5; - while (index--) $instance[ADDER](index, index); - return !$instance.has(-0); - }); - if (!ACCEPT_ITERABLES) { - C = wrapper(function (target, iterable) { - anInstance(target, C, NAME); - var that = inheritIfRequired(new Base(), target, C); - if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); - return that; - }); - C.prototype = proto; - proto.constructor = C; - } - if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) { - fixMethod('delete'); - fixMethod('has'); - IS_MAP && fixMethod('get'); - } - if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER); - // weak collections should not contains .clear method - if (IS_WEAK && proto.clear) delete proto.clear; - } - - setToStringTag(C, NAME); - - O[NAME] = C; - $export($export.G + $export.W + $export.F * (C != Base), O); - - if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP); - - return C; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_core.js": -/*!***********************************************!*\ - !*** ./node_modules/core-js/modules/_core.js ***! - \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -var core = module.exports = { version: '2.5.7' }; -if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_ctx.js": -/*!**********************************************!*\ - !*** ./node_modules/core-js/modules/_ctx.js ***! - \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// optional / simple context binding -var aFunction = __webpack_require__(/*! ./_a-function */ "./node_modules/core-js/modules/_a-function.js"); -module.exports = function (fn, that, length) { - aFunction(fn); - if (that === undefined) return fn; - switch (length) { - case 1: return function (a) { - return fn.call(that, a); - }; - case 2: return function (a, b) { - return fn.call(that, a, b); - }; - case 3: return function (a, b, c) { - return fn.call(that, a, b, c); - }; - } - return function (/* ...args */) { - return fn.apply(that, arguments); - }; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_defined.js": -/*!**************************************************!*\ - !*** ./node_modules/core-js/modules/_defined.js ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -// 7.2.1 RequireObjectCoercible(argument) -module.exports = function (it) { - if (it == undefined) throw TypeError("Can't call method on " + it); - return it; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_descriptors.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/modules/_descriptors.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// Thank's IE8 for his funny defineProperty -module.exports = !__webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js")(function () { - return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7; -}); - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_dom-create.js": -/*!*****************************************************!*\ - !*** ./node_modules/core-js/modules/_dom-create.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js"); -var document = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js").document; -// typeof document.createElement is 'object' in old IE -var is = isObject(document) && isObject(document.createElement); -module.exports = function (it) { - return is ? document.createElement(it) : {}; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_enum-bug-keys.js": -/*!********************************************************!*\ - !*** ./node_modules/core-js/modules/_enum-bug-keys.js ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -// IE 8- don't enum bug keys -module.exports = ( - 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf' -).split(','); - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_export.js": -/*!*************************************************!*\ - !*** ./node_modules/core-js/modules/_export.js ***! - \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var global = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js"); -var core = __webpack_require__(/*! ./_core */ "./node_modules/core-js/modules/_core.js"); -var hide = __webpack_require__(/*! ./_hide */ "./node_modules/core-js/modules/_hide.js"); -var redefine = __webpack_require__(/*! ./_redefine */ "./node_modules/core-js/modules/_redefine.js"); -var ctx = __webpack_require__(/*! ./_ctx */ "./node_modules/core-js/modules/_ctx.js"); -var PROTOTYPE = 'prototype'; - -var $export = function (type, name, source) { - var IS_FORCED = type & $export.F; - var IS_GLOBAL = type & $export.G; - var IS_STATIC = type & $export.S; - var IS_PROTO = type & $export.P; - var IS_BIND = type & $export.B; - var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE]; - var exports = IS_GLOBAL ? core : core[name] || (core[name] = {}); - var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {}); - var key, own, out, exp; - if (IS_GLOBAL) source = name; - for (key in source) { - // contains in native - own = !IS_FORCED && target && target[key] !== undefined; - // export native or passed - out = (own ? target : source)[key]; - // bind timers to global for call from export context - exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; - // extend global - if (target) redefine(target, key, out, type & $export.U); - // export - if (exports[key] != out) hide(exports, key, exp); - if (IS_PROTO && expProto[key] != out) expProto[key] = out; - } -}; -global.core = core; -// type bitmap -$export.F = 1; // forced -$export.G = 2; // global -$export.S = 4; // static -$export.P = 8; // proto -$export.B = 16; // bind -$export.W = 32; // wrap -$export.U = 64; // safe -$export.R = 128; // real proto method for `library` -module.exports = $export; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_fails.js": -/*!************************************************!*\ - !*** ./node_modules/core-js/modules/_fails.js ***! - \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = function (exec) { - try { - return !!exec(); - } catch (e) { - return true; - } -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_for-of.js": -/*!*************************************************!*\ - !*** ./node_modules/core-js/modules/_for-of.js ***! - \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var ctx = __webpack_require__(/*! ./_ctx */ "./node_modules/core-js/modules/_ctx.js"); -var call = __webpack_require__(/*! ./_iter-call */ "./node_modules/core-js/modules/_iter-call.js"); -var isArrayIter = __webpack_require__(/*! ./_is-array-iter */ "./node_modules/core-js/modules/_is-array-iter.js"); -var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js"); -var toLength = __webpack_require__(/*! ./_to-length */ "./node_modules/core-js/modules/_to-length.js"); -var getIterFn = __webpack_require__(/*! ./core.get-iterator-method */ "./node_modules/core-js/modules/core.get-iterator-method.js"); -var BREAK = {}; -var RETURN = {}; -var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) { - var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable); - var f = ctx(fn, that, entries ? 2 : 1); - var index = 0; - var length, step, iterator, result; - if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!'); - // fast case for arrays with default iterator - if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) { - result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]); - if (result === BREAK || result === RETURN) return result; - } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) { - result = call(iterator, f, step.value, entries); - if (result === BREAK || result === RETURN) return result; - } -}; -exports.BREAK = BREAK; -exports.RETURN = RETURN; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_global.js": -/*!*************************************************!*\ - !*** ./node_modules/core-js/modules/_global.js ***! - \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 -var global = module.exports = typeof window != 'undefined' && window.Math == Math - ? window : typeof self != 'undefined' && self.Math == Math ? self - // eslint-disable-next-line no-new-func - : Function('return this')(); -if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_has.js": -/*!**********************************************!*\ - !*** ./node_modules/core-js/modules/_has.js ***! - \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -var hasOwnProperty = {}.hasOwnProperty; -module.exports = function (it, key) { - return hasOwnProperty.call(it, key); -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_hide.js": -/*!***********************************************!*\ - !*** ./node_modules/core-js/modules/_hide.js ***! - \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var dP = __webpack_require__(/*! ./_object-dp */ "./node_modules/core-js/modules/_object-dp.js"); -var createDesc = __webpack_require__(/*! ./_property-desc */ "./node_modules/core-js/modules/_property-desc.js"); -module.exports = __webpack_require__(/*! ./_descriptors */ "./node_modules/core-js/modules/_descriptors.js") ? function (object, key, value) { - return dP.f(object, key, createDesc(1, value)); -} : function (object, key, value) { - object[key] = value; - return object; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_html.js": -/*!***********************************************!*\ - !*** ./node_modules/core-js/modules/_html.js ***! - \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var document = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js").document; -module.exports = document && document.documentElement; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_ie8-dom-define.js": -/*!*********************************************************!*\ - !*** ./node_modules/core-js/modules/_ie8-dom-define.js ***! - \*********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -module.exports = !__webpack_require__(/*! ./_descriptors */ "./node_modules/core-js/modules/_descriptors.js") && !__webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js")(function () { - return Object.defineProperty(__webpack_require__(/*! ./_dom-create */ "./node_modules/core-js/modules/_dom-create.js")('div'), 'a', { get: function () { return 7; } }).a != 7; -}); - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_inherit-if-required.js": -/*!**************************************************************!*\ - !*** ./node_modules/core-js/modules/_inherit-if-required.js ***! - \**************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js"); -var setPrototypeOf = __webpack_require__(/*! ./_set-proto */ "./node_modules/core-js/modules/_set-proto.js").set; -module.exports = function (that, target, C) { - var S = target.constructor; - var P; - if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) { - setPrototypeOf(that, P); - } return that; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_iobject.js": -/*!**************************************************!*\ - !*** ./node_modules/core-js/modules/_iobject.js ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// fallback for non-array-like ES3 and non-enumerable old V8 strings -var cof = __webpack_require__(/*! ./_cof */ "./node_modules/core-js/modules/_cof.js"); -// eslint-disable-next-line no-prototype-builtins -module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) { - return cof(it) == 'String' ? it.split('') : Object(it); -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_is-array-iter.js": -/*!********************************************************!*\ - !*** ./node_modules/core-js/modules/_is-array-iter.js ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// check on default Array iterator -var Iterators = __webpack_require__(/*! ./_iterators */ "./node_modules/core-js/modules/_iterators.js"); -var ITERATOR = __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js")('iterator'); -var ArrayProto = Array.prototype; - -module.exports = function (it) { - return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it); -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_is-array.js": -/*!***************************************************!*\ - !*** ./node_modules/core-js/modules/_is-array.js ***! - \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// 7.2.2 IsArray(argument) -var cof = __webpack_require__(/*! ./_cof */ "./node_modules/core-js/modules/_cof.js"); -module.exports = Array.isArray || function isArray(arg) { - return cof(arg) == 'Array'; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_is-object.js": -/*!****************************************************!*\ - !*** ./node_modules/core-js/modules/_is-object.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = function (it) { - return typeof it === 'object' ? it !== null : typeof it === 'function'; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_iter-call.js": -/*!****************************************************!*\ - !*** ./node_modules/core-js/modules/_iter-call.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// call something on iterator step with safe closing on error -var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js"); -module.exports = function (iterator, fn, value, entries) { - try { - return entries ? fn(anObject(value)[0], value[1]) : fn(value); - // 7.4.6 IteratorClose(iterator, completion) - } catch (e) { - var ret = iterator['return']; - if (ret !== undefined) anObject(ret.call(iterator)); - throw e; - } -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_iter-create.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/modules/_iter-create.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var create = __webpack_require__(/*! ./_object-create */ "./node_modules/core-js/modules/_object-create.js"); -var descriptor = __webpack_require__(/*! ./_property-desc */ "./node_modules/core-js/modules/_property-desc.js"); -var setToStringTag = __webpack_require__(/*! ./_set-to-string-tag */ "./node_modules/core-js/modules/_set-to-string-tag.js"); -var IteratorPrototype = {}; - -// 25.1.2.1.1 %IteratorPrototype%[@@iterator]() -__webpack_require__(/*! ./_hide */ "./node_modules/core-js/modules/_hide.js")(IteratorPrototype, __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js")('iterator'), function () { return this; }); - -module.exports = function (Constructor, NAME, next) { - Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) }); - setToStringTag(Constructor, NAME + ' Iterator'); -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_iter-define.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/modules/_iter-define.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var LIBRARY = __webpack_require__(/*! ./_library */ "./node_modules/core-js/modules/_library.js"); -var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js"); -var redefine = __webpack_require__(/*! ./_redefine */ "./node_modules/core-js/modules/_redefine.js"); -var hide = __webpack_require__(/*! ./_hide */ "./node_modules/core-js/modules/_hide.js"); -var Iterators = __webpack_require__(/*! ./_iterators */ "./node_modules/core-js/modules/_iterators.js"); -var $iterCreate = __webpack_require__(/*! ./_iter-create */ "./node_modules/core-js/modules/_iter-create.js"); -var setToStringTag = __webpack_require__(/*! ./_set-to-string-tag */ "./node_modules/core-js/modules/_set-to-string-tag.js"); -var getPrototypeOf = __webpack_require__(/*! ./_object-gpo */ "./node_modules/core-js/modules/_object-gpo.js"); -var ITERATOR = __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js")('iterator'); -var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next` -var FF_ITERATOR = '@@iterator'; -var KEYS = 'keys'; -var VALUES = 'values'; - -var returnThis = function () { return this; }; - -module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) { - $iterCreate(Constructor, NAME, next); - var getMethod = function (kind) { - if (!BUGGY && kind in proto) return proto[kind]; - switch (kind) { - case KEYS: return function keys() { return new Constructor(this, kind); }; - case VALUES: return function values() { return new Constructor(this, kind); }; - } return function entries() { return new Constructor(this, kind); }; - }; - var TAG = NAME + ' Iterator'; - var DEF_VALUES = DEFAULT == VALUES; - var VALUES_BUG = false; - var proto = Base.prototype; - var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]; - var $default = $native || getMethod(DEFAULT); - var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined; - var $anyNative = NAME == 'Array' ? proto.entries || $native : $native; - var methods, key, IteratorPrototype; - // Fix native - if ($anyNative) { - IteratorPrototype = getPrototypeOf($anyNative.call(new Base())); - if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) { - // Set @@toStringTag to native iterators - setToStringTag(IteratorPrototype, TAG, true); - // fix for some old engines - if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis); - } - } - // fix Array#{values, @@iterator}.name in V8 / FF - if (DEF_VALUES && $native && $native.name !== VALUES) { - VALUES_BUG = true; - $default = function values() { return $native.call(this); }; - } - // Define iterator - if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) { - hide(proto, ITERATOR, $default); - } - // Plug for library - Iterators[NAME] = $default; - Iterators[TAG] = returnThis; - if (DEFAULT) { - methods = { - values: DEF_VALUES ? $default : getMethod(VALUES), - keys: IS_SET ? $default : getMethod(KEYS), - entries: $entries - }; - if (FORCED) for (key in methods) { - if (!(key in proto)) redefine(proto, key, methods[key]); - } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods); - } - return methods; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_iter-detect.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/modules/_iter-detect.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var ITERATOR = __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js")('iterator'); -var SAFE_CLOSING = false; - -try { - var riter = [7][ITERATOR](); - riter['return'] = function () { SAFE_CLOSING = true; }; - // eslint-disable-next-line no-throw-literal - Array.from(riter, function () { throw 2; }); -} catch (e) { /* empty */ } - -module.exports = function (exec, skipClosing) { - if (!skipClosing && !SAFE_CLOSING) return false; - var safe = false; - try { - var arr = [7]; - var iter = arr[ITERATOR](); - iter.next = function () { return { done: safe = true }; }; - arr[ITERATOR] = function () { return iter; }; - exec(arr); - } catch (e) { /* empty */ } - return safe; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_iter-step.js": -/*!****************************************************!*\ - !*** ./node_modules/core-js/modules/_iter-step.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = function (done, value) { - return { value: value, done: !!done }; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_iterators.js": -/*!****************************************************!*\ - !*** ./node_modules/core-js/modules/_iterators.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = {}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_library.js": -/*!**************************************************!*\ - !*** ./node_modules/core-js/modules/_library.js ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = false; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_meta.js": -/*!***********************************************!*\ - !*** ./node_modules/core-js/modules/_meta.js ***! - \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var META = __webpack_require__(/*! ./_uid */ "./node_modules/core-js/modules/_uid.js")('meta'); -var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js"); -var has = __webpack_require__(/*! ./_has */ "./node_modules/core-js/modules/_has.js"); -var setDesc = __webpack_require__(/*! ./_object-dp */ "./node_modules/core-js/modules/_object-dp.js").f; -var id = 0; -var isExtensible = Object.isExtensible || function () { - return true; -}; -var FREEZE = !__webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js")(function () { - return isExtensible(Object.preventExtensions({})); -}); -var setMeta = function (it) { - setDesc(it, META, { value: { - i: 'O' + ++id, // object ID - w: {} // weak collections IDs - } }); -}; -var fastKey = function (it, create) { - // return primitive with prefix - if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; - if (!has(it, META)) { - // can't set metadata to uncaught frozen object - if (!isExtensible(it)) return 'F'; - // not necessary to add metadata - if (!create) return 'E'; - // add missing metadata - setMeta(it); - // return object ID - } return it[META].i; -}; -var getWeak = function (it, create) { - if (!has(it, META)) { - // can't set metadata to uncaught frozen object - if (!isExtensible(it)) return true; - // not necessary to add metadata - if (!create) return false; - // add missing metadata - setMeta(it); - // return hash weak collections IDs - } return it[META].w; -}; -// add metadata on freeze-family methods calling -var onFreeze = function (it) { - if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it); - return it; -}; -var meta = module.exports = { - KEY: META, - NEED: false, - fastKey: fastKey, - getWeak: getWeak, - onFreeze: onFreeze -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_metadata.js": -/*!***************************************************!*\ - !*** ./node_modules/core-js/modules/_metadata.js ***! - \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var Map = __webpack_require__(/*! ./es6.map */ "./node_modules/core-js/modules/es6.map.js"); -var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js"); -var shared = __webpack_require__(/*! ./_shared */ "./node_modules/core-js/modules/_shared.js")('metadata'); -var store = shared.store || (shared.store = new (__webpack_require__(/*! ./es6.weak-map */ "./node_modules/core-js/modules/es6.weak-map.js"))()); - -var getOrCreateMetadataMap = function (target, targetKey, create) { - var targetMetadata = store.get(target); - if (!targetMetadata) { - if (!create) return undefined; - store.set(target, targetMetadata = new Map()); - } - var keyMetadata = targetMetadata.get(targetKey); - if (!keyMetadata) { - if (!create) return undefined; - targetMetadata.set(targetKey, keyMetadata = new Map()); - } return keyMetadata; -}; -var ordinaryHasOwnMetadata = function (MetadataKey, O, P) { - var metadataMap = getOrCreateMetadataMap(O, P, false); - return metadataMap === undefined ? false : metadataMap.has(MetadataKey); -}; -var ordinaryGetOwnMetadata = function (MetadataKey, O, P) { - var metadataMap = getOrCreateMetadataMap(O, P, false); - return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey); -}; -var ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) { - getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue); -}; -var ordinaryOwnMetadataKeys = function (target, targetKey) { - var metadataMap = getOrCreateMetadataMap(target, targetKey, false); - var keys = []; - if (metadataMap) metadataMap.forEach(function (_, key) { keys.push(key); }); - return keys; -}; -var toMetaKey = function (it) { - return it === undefined || typeof it == 'symbol' ? it : String(it); -}; -var exp = function (O) { - $export($export.S, 'Reflect', O); -}; - -module.exports = { - store: store, - map: getOrCreateMetadataMap, - has: ordinaryHasOwnMetadata, - get: ordinaryGetOwnMetadata, - set: ordinaryDefineOwnMetadata, - keys: ordinaryOwnMetadataKeys, - key: toMetaKey, - exp: exp -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_object-assign.js": -/*!********************************************************!*\ - !*** ./node_modules/core-js/modules/_object-assign.js ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -// 19.1.2.1 Object.assign(target, source, ...) -var getKeys = __webpack_require__(/*! ./_object-keys */ "./node_modules/core-js/modules/_object-keys.js"); -var gOPS = __webpack_require__(/*! ./_object-gops */ "./node_modules/core-js/modules/_object-gops.js"); -var pIE = __webpack_require__(/*! ./_object-pie */ "./node_modules/core-js/modules/_object-pie.js"); -var toObject = __webpack_require__(/*! ./_to-object */ "./node_modules/core-js/modules/_to-object.js"); -var IObject = __webpack_require__(/*! ./_iobject */ "./node_modules/core-js/modules/_iobject.js"); -var $assign = Object.assign; - -// should work with symbols and should have deterministic property order (V8 bug) -module.exports = !$assign || __webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js")(function () { - var A = {}; - var B = {}; - // eslint-disable-next-line no-undef - var S = Symbol(); - var K = 'abcdefghijklmnopqrst'; - A[S] = 7; - K.split('').forEach(function (k) { B[k] = k; }); - return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K; -}) ? function assign(target, source) { // eslint-disable-line no-unused-vars - var T = toObject(target); - var aLen = arguments.length; - var index = 1; - var getSymbols = gOPS.f; - var isEnum = pIE.f; - while (aLen > index) { - var S = IObject(arguments[index++]); - var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S); - var length = keys.length; - var j = 0; - var key; - while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key]; - } return T; -} : $assign; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_object-create.js": -/*!********************************************************!*\ - !*** ./node_modules/core-js/modules/_object-create.js ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) -var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js"); -var dPs = __webpack_require__(/*! ./_object-dps */ "./node_modules/core-js/modules/_object-dps.js"); -var enumBugKeys = __webpack_require__(/*! ./_enum-bug-keys */ "./node_modules/core-js/modules/_enum-bug-keys.js"); -var IE_PROTO = __webpack_require__(/*! ./_shared-key */ "./node_modules/core-js/modules/_shared-key.js")('IE_PROTO'); -var Empty = function () { /* empty */ }; -var PROTOTYPE = 'prototype'; - -// Create object with fake `null` prototype: use iframe Object with cleared prototype -var createDict = function () { - // Thrash, waste and sodomy: IE GC bug - var iframe = __webpack_require__(/*! ./_dom-create */ "./node_modules/core-js/modules/_dom-create.js")('iframe'); - var i = enumBugKeys.length; - var lt = '<'; - var gt = '>'; - var iframeDocument; - iframe.style.display = 'none'; - __webpack_require__(/*! ./_html */ "./node_modules/core-js/modules/_html.js").appendChild(iframe); - iframe.src = 'javascript:'; // eslint-disable-line no-script-url - // createDict = iframe.contentWindow.Object; - // html.removeChild(iframe); - iframeDocument = iframe.contentWindow.document; - iframeDocument.open(); - iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt); - iframeDocument.close(); - createDict = iframeDocument.F; - while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]]; - return createDict(); -}; - -module.exports = Object.create || function create(O, Properties) { - var result; - if (O !== null) { - Empty[PROTOTYPE] = anObject(O); - result = new Empty(); - Empty[PROTOTYPE] = null; - // add "__proto__" for Object.getPrototypeOf polyfill - result[IE_PROTO] = O; - } else result = createDict(); - return Properties === undefined ? result : dPs(result, Properties); -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_object-dp.js": -/*!****************************************************!*\ - !*** ./node_modules/core-js/modules/_object-dp.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js"); -var IE8_DOM_DEFINE = __webpack_require__(/*! ./_ie8-dom-define */ "./node_modules/core-js/modules/_ie8-dom-define.js"); -var toPrimitive = __webpack_require__(/*! ./_to-primitive */ "./node_modules/core-js/modules/_to-primitive.js"); -var dP = Object.defineProperty; - -exports.f = __webpack_require__(/*! ./_descriptors */ "./node_modules/core-js/modules/_descriptors.js") ? Object.defineProperty : function defineProperty(O, P, Attributes) { - anObject(O); - P = toPrimitive(P, true); - anObject(Attributes); - if (IE8_DOM_DEFINE) try { - return dP(O, P, Attributes); - } catch (e) { /* empty */ } - if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!'); - if ('value' in Attributes) O[P] = Attributes.value; - return O; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_object-dps.js": -/*!*****************************************************!*\ - !*** ./node_modules/core-js/modules/_object-dps.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var dP = __webpack_require__(/*! ./_object-dp */ "./node_modules/core-js/modules/_object-dp.js"); -var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js"); -var getKeys = __webpack_require__(/*! ./_object-keys */ "./node_modules/core-js/modules/_object-keys.js"); - -module.exports = __webpack_require__(/*! ./_descriptors */ "./node_modules/core-js/modules/_descriptors.js") ? Object.defineProperties : function defineProperties(O, Properties) { - anObject(O); - var keys = getKeys(Properties); - var length = keys.length; - var i = 0; - var P; - while (length > i) dP.f(O, P = keys[i++], Properties[P]); - return O; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_object-gopd.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/modules/_object-gopd.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var pIE = __webpack_require__(/*! ./_object-pie */ "./node_modules/core-js/modules/_object-pie.js"); -var createDesc = __webpack_require__(/*! ./_property-desc */ "./node_modules/core-js/modules/_property-desc.js"); -var toIObject = __webpack_require__(/*! ./_to-iobject */ "./node_modules/core-js/modules/_to-iobject.js"); -var toPrimitive = __webpack_require__(/*! ./_to-primitive */ "./node_modules/core-js/modules/_to-primitive.js"); -var has = __webpack_require__(/*! ./_has */ "./node_modules/core-js/modules/_has.js"); -var IE8_DOM_DEFINE = __webpack_require__(/*! ./_ie8-dom-define */ "./node_modules/core-js/modules/_ie8-dom-define.js"); -var gOPD = Object.getOwnPropertyDescriptor; - -exports.f = __webpack_require__(/*! ./_descriptors */ "./node_modules/core-js/modules/_descriptors.js") ? gOPD : function getOwnPropertyDescriptor(O, P) { - O = toIObject(O); - P = toPrimitive(P, true); - if (IE8_DOM_DEFINE) try { - return gOPD(O, P); - } catch (e) { /* empty */ } - if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]); -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_object-gops.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/modules/_object-gops.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -exports.f = Object.getOwnPropertySymbols; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_object-gpo.js": -/*!*****************************************************!*\ - !*** ./node_modules/core-js/modules/_object-gpo.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) -var has = __webpack_require__(/*! ./_has */ "./node_modules/core-js/modules/_has.js"); -var toObject = __webpack_require__(/*! ./_to-object */ "./node_modules/core-js/modules/_to-object.js"); -var IE_PROTO = __webpack_require__(/*! ./_shared-key */ "./node_modules/core-js/modules/_shared-key.js")('IE_PROTO'); -var ObjectProto = Object.prototype; - -module.exports = Object.getPrototypeOf || function (O) { - O = toObject(O); - if (has(O, IE_PROTO)) return O[IE_PROTO]; - if (typeof O.constructor == 'function' && O instanceof O.constructor) { - return O.constructor.prototype; - } return O instanceof Object ? ObjectProto : null; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_object-keys-internal.js": -/*!***************************************************************!*\ - !*** ./node_modules/core-js/modules/_object-keys-internal.js ***! - \***************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var has = __webpack_require__(/*! ./_has */ "./node_modules/core-js/modules/_has.js"); -var toIObject = __webpack_require__(/*! ./_to-iobject */ "./node_modules/core-js/modules/_to-iobject.js"); -var arrayIndexOf = __webpack_require__(/*! ./_array-includes */ "./node_modules/core-js/modules/_array-includes.js")(false); -var IE_PROTO = __webpack_require__(/*! ./_shared-key */ "./node_modules/core-js/modules/_shared-key.js")('IE_PROTO'); - -module.exports = function (object, names) { - var O = toIObject(object); - var i = 0; - var result = []; - var key; - for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key); - // Don't enum bug & hidden keys - while (names.length > i) if (has(O, key = names[i++])) { - ~arrayIndexOf(result, key) || result.push(key); - } - return result; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_object-keys.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/modules/_object-keys.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// 19.1.2.14 / 15.2.3.14 Object.keys(O) -var $keys = __webpack_require__(/*! ./_object-keys-internal */ "./node_modules/core-js/modules/_object-keys-internal.js"); -var enumBugKeys = __webpack_require__(/*! ./_enum-bug-keys */ "./node_modules/core-js/modules/_enum-bug-keys.js"); - -module.exports = Object.keys || function keys(O) { - return $keys(O, enumBugKeys); -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_object-pie.js": -/*!*****************************************************!*\ - !*** ./node_modules/core-js/modules/_object-pie.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -exports.f = {}.propertyIsEnumerable; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_property-desc.js": -/*!********************************************************!*\ - !*** ./node_modules/core-js/modules/_property-desc.js ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = function (bitmap, value) { - return { - enumerable: !(bitmap & 1), - configurable: !(bitmap & 2), - writable: !(bitmap & 4), - value: value - }; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_redefine-all.js": -/*!*******************************************************!*\ - !*** ./node_modules/core-js/modules/_redefine-all.js ***! - \*******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var redefine = __webpack_require__(/*! ./_redefine */ "./node_modules/core-js/modules/_redefine.js"); -module.exports = function (target, src, safe) { - for (var key in src) redefine(target, key, src[key], safe); - return target; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_redefine.js": -/*!***************************************************!*\ - !*** ./node_modules/core-js/modules/_redefine.js ***! - \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var global = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js"); -var hide = __webpack_require__(/*! ./_hide */ "./node_modules/core-js/modules/_hide.js"); -var has = __webpack_require__(/*! ./_has */ "./node_modules/core-js/modules/_has.js"); -var SRC = __webpack_require__(/*! ./_uid */ "./node_modules/core-js/modules/_uid.js")('src'); -var TO_STRING = 'toString'; -var $toString = Function[TO_STRING]; -var TPL = ('' + $toString).split(TO_STRING); - -__webpack_require__(/*! ./_core */ "./node_modules/core-js/modules/_core.js").inspectSource = function (it) { - return $toString.call(it); -}; - -(module.exports = function (O, key, val, safe) { - var isFunction = typeof val == 'function'; - if (isFunction) has(val, 'name') || hide(val, 'name', key); - if (O[key] === val) return; - if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key))); - if (O === global) { - O[key] = val; - } else if (!safe) { - delete O[key]; - hide(O, key, val); - } else if (O[key]) { - O[key] = val; - } else { - hide(O, key, val); - } -// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative -})(Function.prototype, TO_STRING, function toString() { - return typeof this == 'function' && this[SRC] || $toString.call(this); -}); - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_set-proto.js": -/*!****************************************************!*\ - !*** ./node_modules/core-js/modules/_set-proto.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// Works with __proto__ only. Old v8 can't work with null proto objects. -/* eslint-disable no-proto */ -var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js"); -var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js"); -var check = function (O, proto) { - anObject(O); - if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!"); -}; -module.exports = { - set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line - function (test, buggy, set) { - try { - set = __webpack_require__(/*! ./_ctx */ "./node_modules/core-js/modules/_ctx.js")(Function.call, __webpack_require__(/*! ./_object-gopd */ "./node_modules/core-js/modules/_object-gopd.js").f(Object.prototype, '__proto__').set, 2); - set(test, []); - buggy = !(test instanceof Array); - } catch (e) { buggy = true; } - return function setPrototypeOf(O, proto) { - check(O, proto); - if (buggy) O.__proto__ = proto; - else set(O, proto); - return O; - }; - }({}, false) : undefined), - check: check -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_set-species.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/modules/_set-species.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var global = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js"); -var dP = __webpack_require__(/*! ./_object-dp */ "./node_modules/core-js/modules/_object-dp.js"); -var DESCRIPTORS = __webpack_require__(/*! ./_descriptors */ "./node_modules/core-js/modules/_descriptors.js"); -var SPECIES = __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js")('species'); - -module.exports = function (KEY) { - var C = global[KEY]; - if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, { - configurable: true, - get: function () { return this; } - }); -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_set-to-string-tag.js": -/*!************************************************************!*\ - !*** ./node_modules/core-js/modules/_set-to-string-tag.js ***! - \************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var def = __webpack_require__(/*! ./_object-dp */ "./node_modules/core-js/modules/_object-dp.js").f; -var has = __webpack_require__(/*! ./_has */ "./node_modules/core-js/modules/_has.js"); -var TAG = __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js")('toStringTag'); - -module.exports = function (it, tag, stat) { - if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag }); -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_shared-key.js": -/*!*****************************************************!*\ - !*** ./node_modules/core-js/modules/_shared-key.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var shared = __webpack_require__(/*! ./_shared */ "./node_modules/core-js/modules/_shared.js")('keys'); -var uid = __webpack_require__(/*! ./_uid */ "./node_modules/core-js/modules/_uid.js"); -module.exports = function (key) { - return shared[key] || (shared[key] = uid(key)); -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_shared.js": -/*!*************************************************!*\ - !*** ./node_modules/core-js/modules/_shared.js ***! - \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var core = __webpack_require__(/*! ./_core */ "./node_modules/core-js/modules/_core.js"); -var global = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js"); -var SHARED = '__core-js_shared__'; -var store = global[SHARED] || (global[SHARED] = {}); - -(module.exports = function (key, value) { - return store[key] || (store[key] = value !== undefined ? value : {}); -})('versions', []).push({ - version: core.version, - mode: __webpack_require__(/*! ./_library */ "./node_modules/core-js/modules/_library.js") ? 'pure' : 'global', - copyright: '© 2018 Denis Pushkarev (zloirock.ru)' -}); - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_to-absolute-index.js": -/*!************************************************************!*\ - !*** ./node_modules/core-js/modules/_to-absolute-index.js ***! - \************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var toInteger = __webpack_require__(/*! ./_to-integer */ "./node_modules/core-js/modules/_to-integer.js"); -var max = Math.max; -var min = Math.min; -module.exports = function (index, length) { - index = toInteger(index); - return index < 0 ? max(index + length, 0) : min(index, length); -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_to-integer.js": -/*!*****************************************************!*\ - !*** ./node_modules/core-js/modules/_to-integer.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -// 7.1.4 ToInteger -var ceil = Math.ceil; -var floor = Math.floor; -module.exports = function (it) { - return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_to-iobject.js": -/*!*****************************************************!*\ - !*** ./node_modules/core-js/modules/_to-iobject.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// to indexed object, toObject with fallback for non-array-like ES3 strings -var IObject = __webpack_require__(/*! ./_iobject */ "./node_modules/core-js/modules/_iobject.js"); -var defined = __webpack_require__(/*! ./_defined */ "./node_modules/core-js/modules/_defined.js"); -module.exports = function (it) { - return IObject(defined(it)); -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_to-length.js": -/*!****************************************************!*\ - !*** ./node_modules/core-js/modules/_to-length.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// 7.1.15 ToLength -var toInteger = __webpack_require__(/*! ./_to-integer */ "./node_modules/core-js/modules/_to-integer.js"); -var min = Math.min; -module.exports = function (it) { - return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_to-object.js": -/*!****************************************************!*\ - !*** ./node_modules/core-js/modules/_to-object.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// 7.1.13 ToObject(argument) -var defined = __webpack_require__(/*! ./_defined */ "./node_modules/core-js/modules/_defined.js"); -module.exports = function (it) { - return Object(defined(it)); -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_to-primitive.js": -/*!*******************************************************!*\ - !*** ./node_modules/core-js/modules/_to-primitive.js ***! - \*******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// 7.1.1 ToPrimitive(input [, PreferredType]) -var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js"); -// instead of the ES6 spec version, we didn't implement @@toPrimitive case -// and the second argument - flag - preferred type is a string -module.exports = function (it, S) { - if (!isObject(it)) return it; - var fn, val; - if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; - if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val; - if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; - throw TypeError("Can't convert object to primitive value"); -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_uid.js": -/*!**********************************************!*\ - !*** ./node_modules/core-js/modules/_uid.js ***! - \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -var id = 0; -var px = Math.random(); -module.exports = function (key) { - return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_validate-collection.js": -/*!**************************************************************!*\ - !*** ./node_modules/core-js/modules/_validate-collection.js ***! - \**************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js"); -module.exports = function (it, TYPE) { - if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!'); - return it; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_wks.js": -/*!**********************************************!*\ - !*** ./node_modules/core-js/modules/_wks.js ***! - \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var store = __webpack_require__(/*! ./_shared */ "./node_modules/core-js/modules/_shared.js")('wks'); -var uid = __webpack_require__(/*! ./_uid */ "./node_modules/core-js/modules/_uid.js"); -var Symbol = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js").Symbol; -var USE_SYMBOL = typeof Symbol == 'function'; - -var $exports = module.exports = function (name) { - return store[name] || (store[name] = - USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name)); -}; - -$exports.store = store; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/core.get-iterator-method.js": -/*!******************************************************************!*\ - !*** ./node_modules/core-js/modules/core.get-iterator-method.js ***! - \******************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var classof = __webpack_require__(/*! ./_classof */ "./node_modules/core-js/modules/_classof.js"); -var ITERATOR = __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js")('iterator'); -var Iterators = __webpack_require__(/*! ./_iterators */ "./node_modules/core-js/modules/_iterators.js"); -module.exports = __webpack_require__(/*! ./_core */ "./node_modules/core-js/modules/_core.js").getIteratorMethod = function (it) { - if (it != undefined) return it[ITERATOR] - || it['@@iterator'] - || Iterators[classof(it)]; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/es6.map.js": -/*!*************************************************!*\ - !*** ./node_modules/core-js/modules/es6.map.js ***! - \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var strong = __webpack_require__(/*! ./_collection-strong */ "./node_modules/core-js/modules/_collection-strong.js"); -var validate = __webpack_require__(/*! ./_validate-collection */ "./node_modules/core-js/modules/_validate-collection.js"); -var MAP = 'Map'; - -// 23.1 Map Objects -module.exports = __webpack_require__(/*! ./_collection */ "./node_modules/core-js/modules/_collection.js")(MAP, function (get) { - return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; -}, { - // 23.1.3.6 Map.prototype.get(key) - get: function get(key) { - var entry = strong.getEntry(validate(this, MAP), key); - return entry && entry.v; - }, - // 23.1.3.9 Map.prototype.set(key, value) - set: function set(key, value) { - return strong.def(validate(this, MAP), key === 0 ? 0 : key, value); - } -}, strong, true); - - -/***/ }), - -/***/ "./node_modules/core-js/modules/es6.set.js": -/*!*************************************************!*\ - !*** ./node_modules/core-js/modules/es6.set.js ***! - \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var strong = __webpack_require__(/*! ./_collection-strong */ "./node_modules/core-js/modules/_collection-strong.js"); -var validate = __webpack_require__(/*! ./_validate-collection */ "./node_modules/core-js/modules/_validate-collection.js"); -var SET = 'Set'; - -// 23.2 Set Objects -module.exports = __webpack_require__(/*! ./_collection */ "./node_modules/core-js/modules/_collection.js")(SET, function (get) { - return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; -}, { - // 23.2.3.1 Set.prototype.add(value) - add: function add(value) { - return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value); - } -}, strong); - - -/***/ }), - -/***/ "./node_modules/core-js/modules/es6.weak-map.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/modules/es6.weak-map.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var each = __webpack_require__(/*! ./_array-methods */ "./node_modules/core-js/modules/_array-methods.js")(0); -var redefine = __webpack_require__(/*! ./_redefine */ "./node_modules/core-js/modules/_redefine.js"); -var meta = __webpack_require__(/*! ./_meta */ "./node_modules/core-js/modules/_meta.js"); -var assign = __webpack_require__(/*! ./_object-assign */ "./node_modules/core-js/modules/_object-assign.js"); -var weak = __webpack_require__(/*! ./_collection-weak */ "./node_modules/core-js/modules/_collection-weak.js"); -var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js"); -var fails = __webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js"); -var validate = __webpack_require__(/*! ./_validate-collection */ "./node_modules/core-js/modules/_validate-collection.js"); -var WEAK_MAP = 'WeakMap'; -var getWeak = meta.getWeak; -var isExtensible = Object.isExtensible; -var uncaughtFrozenStore = weak.ufstore; -var tmp = {}; -var InternalMap; - -var wrapper = function (get) { - return function WeakMap() { - return get(this, arguments.length > 0 ? arguments[0] : undefined); - }; -}; - -var methods = { - // 23.3.3.3 WeakMap.prototype.get(key) - get: function get(key) { - if (isObject(key)) { - var data = getWeak(key); - if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key); - return data ? data[this._i] : undefined; - } - }, - // 23.3.3.5 WeakMap.prototype.set(key, value) - set: function set(key, value) { - return weak.def(validate(this, WEAK_MAP), key, value); - } -}; - -// 23.3 WeakMap Objects -var $WeakMap = module.exports = __webpack_require__(/*! ./_collection */ "./node_modules/core-js/modules/_collection.js")(WEAK_MAP, wrapper, methods, weak, true, true); - -// IE11 WeakMap frozen keys fix -if (fails(function () { return new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7; })) { - InternalMap = weak.getConstructor(wrapper, WEAK_MAP); - assign(InternalMap.prototype, methods); - meta.NEED = true; - each(['delete', 'has', 'get', 'set'], function (key) { - var proto = $WeakMap.prototype; - var method = proto[key]; - redefine(proto, key, function (a, b) { - // store frozen objects on internal weakmap shim - if (isObject(a) && !isExtensible(a)) { - if (!this._f) this._f = new InternalMap(); - var result = this._f[key](a, b); - return key == 'set' ? this : result; - // store all the rest on native weakmap - } return method.call(this, a, b); - }); - }); -} - - -/***/ }), - -/***/ "./node_modules/core-js/modules/es7.reflect.define-metadata.js": -/*!*********************************************************************!*\ - !*** ./node_modules/core-js/modules/es7.reflect.define-metadata.js ***! - \*********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var metadata = __webpack_require__(/*! ./_metadata */ "./node_modules/core-js/modules/_metadata.js"); -var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js"); -var toMetaKey = metadata.key; -var ordinaryDefineOwnMetadata = metadata.set; - -metadata.exp({ defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey) { - ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey)); -} }); - - -/***/ }), - -/***/ "./node_modules/core-js/modules/es7.reflect.delete-metadata.js": -/*!*********************************************************************!*\ - !*** ./node_modules/core-js/modules/es7.reflect.delete-metadata.js ***! - \*********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var metadata = __webpack_require__(/*! ./_metadata */ "./node_modules/core-js/modules/_metadata.js"); -var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js"); -var toMetaKey = metadata.key; -var getOrCreateMetadataMap = metadata.map; -var store = metadata.store; - -metadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) { - var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]); - var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false); - if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false; - if (metadataMap.size) return true; - var targetMetadata = store.get(target); - targetMetadata['delete'](targetKey); - return !!targetMetadata.size || store['delete'](target); -} }); - - -/***/ }), - -/***/ "./node_modules/core-js/modules/es7.reflect.get-metadata-keys.js": -/*!***********************************************************************!*\ - !*** ./node_modules/core-js/modules/es7.reflect.get-metadata-keys.js ***! - \***********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var Set = __webpack_require__(/*! ./es6.set */ "./node_modules/core-js/modules/es6.set.js"); -var from = __webpack_require__(/*! ./_array-from-iterable */ "./node_modules/core-js/modules/_array-from-iterable.js"); -var metadata = __webpack_require__(/*! ./_metadata */ "./node_modules/core-js/modules/_metadata.js"); -var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js"); -var getPrototypeOf = __webpack_require__(/*! ./_object-gpo */ "./node_modules/core-js/modules/_object-gpo.js"); -var ordinaryOwnMetadataKeys = metadata.keys; -var toMetaKey = metadata.key; - -var ordinaryMetadataKeys = function (O, P) { - var oKeys = ordinaryOwnMetadataKeys(O, P); - var parent = getPrototypeOf(O); - if (parent === null) return oKeys; - var pKeys = ordinaryMetadataKeys(parent, P); - return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys; -}; - -metadata.exp({ getMetadataKeys: function getMetadataKeys(target /* , targetKey */) { - return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1])); -} }); - - -/***/ }), - -/***/ "./node_modules/core-js/modules/es7.reflect.get-metadata.js": -/*!******************************************************************!*\ - !*** ./node_modules/core-js/modules/es7.reflect.get-metadata.js ***! - \******************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var metadata = __webpack_require__(/*! ./_metadata */ "./node_modules/core-js/modules/_metadata.js"); -var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js"); -var getPrototypeOf = __webpack_require__(/*! ./_object-gpo */ "./node_modules/core-js/modules/_object-gpo.js"); -var ordinaryHasOwnMetadata = metadata.has; -var ordinaryGetOwnMetadata = metadata.get; -var toMetaKey = metadata.key; - -var ordinaryGetMetadata = function (MetadataKey, O, P) { - var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P); - if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P); - var parent = getPrototypeOf(O); - return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined; -}; - -metadata.exp({ getMetadata: function getMetadata(metadataKey, target /* , targetKey */) { - return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2])); -} }); - - -/***/ }), - -/***/ "./node_modules/core-js/modules/es7.reflect.get-own-metadata-keys.js": -/*!***************************************************************************!*\ - !*** ./node_modules/core-js/modules/es7.reflect.get-own-metadata-keys.js ***! - \***************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var metadata = __webpack_require__(/*! ./_metadata */ "./node_modules/core-js/modules/_metadata.js"); -var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js"); -var ordinaryOwnMetadataKeys = metadata.keys; -var toMetaKey = metadata.key; - -metadata.exp({ getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) { - return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1])); -} }); - - -/***/ }), - -/***/ "./node_modules/core-js/modules/es7.reflect.get-own-metadata.js": -/*!**********************************************************************!*\ - !*** ./node_modules/core-js/modules/es7.reflect.get-own-metadata.js ***! - \**********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var metadata = __webpack_require__(/*! ./_metadata */ "./node_modules/core-js/modules/_metadata.js"); -var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js"); -var ordinaryGetOwnMetadata = metadata.get; -var toMetaKey = metadata.key; - -metadata.exp({ getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) { - return ordinaryGetOwnMetadata(metadataKey, anObject(target) - , arguments.length < 3 ? undefined : toMetaKey(arguments[2])); -} }); - - -/***/ }), - -/***/ "./node_modules/core-js/modules/es7.reflect.has-metadata.js": -/*!******************************************************************!*\ - !*** ./node_modules/core-js/modules/es7.reflect.has-metadata.js ***! - \******************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var metadata = __webpack_require__(/*! ./_metadata */ "./node_modules/core-js/modules/_metadata.js"); -var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js"); -var getPrototypeOf = __webpack_require__(/*! ./_object-gpo */ "./node_modules/core-js/modules/_object-gpo.js"); -var ordinaryHasOwnMetadata = metadata.has; -var toMetaKey = metadata.key; - -var ordinaryHasMetadata = function (MetadataKey, O, P) { - var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P); - if (hasOwn) return true; - var parent = getPrototypeOf(O); - return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false; -}; - -metadata.exp({ hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) { - return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2])); -} }); - - -/***/ }), - -/***/ "./node_modules/core-js/modules/es7.reflect.has-own-metadata.js": -/*!**********************************************************************!*\ - !*** ./node_modules/core-js/modules/es7.reflect.has-own-metadata.js ***! - \**********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var metadata = __webpack_require__(/*! ./_metadata */ "./node_modules/core-js/modules/_metadata.js"); -var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js"); -var ordinaryHasOwnMetadata = metadata.has; -var toMetaKey = metadata.key; - -metadata.exp({ hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) { - return ordinaryHasOwnMetadata(metadataKey, anObject(target) - , arguments.length < 3 ? undefined : toMetaKey(arguments[2])); -} }); - - -/***/ }), - -/***/ "./node_modules/core-js/modules/es7.reflect.metadata.js": -/*!**************************************************************!*\ - !*** ./node_modules/core-js/modules/es7.reflect.metadata.js ***! - \**************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var $metadata = __webpack_require__(/*! ./_metadata */ "./node_modules/core-js/modules/_metadata.js"); -var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js"); -var aFunction = __webpack_require__(/*! ./_a-function */ "./node_modules/core-js/modules/_a-function.js"); -var toMetaKey = $metadata.key; -var ordinaryDefineOwnMetadata = $metadata.set; - -$metadata.exp({ metadata: function metadata(metadataKey, metadataValue) { - return function decorator(target, targetKey) { - ordinaryDefineOwnMetadata( - metadataKey, metadataValue, - (targetKey !== undefined ? anObject : aFunction)(target), - toMetaKey(targetKey) - ); - }; -} }); - - -/***/ }), - -/***/ "./node_modules/zone.js/dist/zone.js": -/*!*******************************************!*\ - !*** ./node_modules/zone.js/dist/zone.js ***! - \*******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -/** -* @license -* Copyright Google Inc. All Rights Reserved. -* -* Use of this source code is governed by an MIT-style license that can be -* found in the LICENSE file at https://angular.io/license -*/ -(function (global, factory) { - true ? factory() : - undefined; -}(this, (function () { 'use strict'; - -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -var Zone$1 = (function (global) { - var FUNCTION = 'function'; - var performance = global['performance']; - function mark(name) { - performance && performance['mark'] && performance['mark'](name); - } - function performanceMeasure(name, label) { - performance && performance['measure'] && performance['measure'](name, label); - } - mark('Zone'); - if (global['Zone']) { - throw new Error('Zone already loaded.'); - } - var Zone = /** @class */ (function () { - function Zone(parent, zoneSpec) { - this._properties = null; - this._parent = parent; - this._name = zoneSpec ? zoneSpec.name || 'unnamed' : ''; - this._properties = zoneSpec && zoneSpec.properties || {}; - this._zoneDelegate = - new ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec); - } - Zone.assertZonePatched = function () { - if (global['Promise'] !== patches['ZoneAwarePromise']) { - throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' + - 'has been overwritten.\n' + - 'Most likely cause is that a Promise polyfill has been loaded ' + - 'after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. ' + - 'If you must load one, do so before loading zone.js.)'); - } - }; - Object.defineProperty(Zone, "root", { - get: function () { - var zone = Zone.current; - while (zone.parent) { - zone = zone.parent; - } - return zone; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(Zone, "current", { - get: function () { - return _currentZoneFrame.zone; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(Zone, "currentTask", { - get: function () { - return _currentTask; - }, - enumerable: true, - configurable: true - }); - Zone.__load_patch = function (name, fn) { - if (patches.hasOwnProperty(name)) { - throw Error('Already loaded patch: ' + name); - } - else if (!global['__Zone_disable_' + name]) { - var perfName = 'Zone:' + name; - mark(perfName); - patches[name] = fn(global, Zone, _api); - performanceMeasure(perfName, perfName); - } - }; - Object.defineProperty(Zone.prototype, "parent", { - get: function () { - return this._parent; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(Zone.prototype, "name", { - get: function () { - return this._name; - }, - enumerable: true, - configurable: true - }); - Zone.prototype.get = function (key) { - var zone = this.getZoneWith(key); - if (zone) - return zone._properties[key]; - }; - Zone.prototype.getZoneWith = function (key) { - var current = this; - while (current) { - if (current._properties.hasOwnProperty(key)) { - return current; - } - current = current._parent; - } - return null; - }; - Zone.prototype.fork = function (zoneSpec) { - if (!zoneSpec) - throw new Error('ZoneSpec required!'); - return this._zoneDelegate.fork(this, zoneSpec); - }; - Zone.prototype.wrap = function (callback, source) { - if (typeof callback !== FUNCTION) { - throw new Error('Expecting function got: ' + callback); - } - var _callback = this._zoneDelegate.intercept(this, callback, source); - var zone = this; - return function () { - return zone.runGuarded(_callback, this, arguments, source); - }; - }; - Zone.prototype.run = function (callback, applyThis, applyArgs, source) { - if (applyThis === void 0) { applyThis = undefined; } - if (applyArgs === void 0) { applyArgs = null; } - if (source === void 0) { source = null; } - _currentZoneFrame = { parent: _currentZoneFrame, zone: this }; - try { - return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source); - } - finally { - _currentZoneFrame = _currentZoneFrame.parent; - } - }; - Zone.prototype.runGuarded = function (callback, applyThis, applyArgs, source) { - if (applyThis === void 0) { applyThis = null; } - if (applyArgs === void 0) { applyArgs = null; } - if (source === void 0) { source = null; } - _currentZoneFrame = { parent: _currentZoneFrame, zone: this }; - try { - try { - return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source); - } - catch (error) { - if (this._zoneDelegate.handleError(this, error)) { - throw error; - } - } - } - finally { - _currentZoneFrame = _currentZoneFrame.parent; - } - }; - Zone.prototype.runTask = function (task, applyThis, applyArgs) { - if (task.zone != this) { - throw new Error('A task can only be run in the zone of creation! (Creation: ' + - (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')'); - } - // https://github.com/angular/zone.js/issues/778, sometimes eventTask - // will run in notScheduled(canceled) state, we should not try to - // run such kind of task but just return - // we have to define an variable here, if not - // typescript compiler will complain below - var isNotScheduled = task.state === notScheduled; - if (isNotScheduled && task.type === eventTask) { - return; - } - var reEntryGuard = task.state != running; - reEntryGuard && task._transitionTo(running, scheduled); - task.runCount++; - var previousTask = _currentTask; - _currentTask = task; - _currentZoneFrame = { parent: _currentZoneFrame, zone: this }; - try { - if (task.type == macroTask && task.data && !task.data.isPeriodic) { - task.cancelFn = null; - } - try { - return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs); - } - catch (error) { - if (this._zoneDelegate.handleError(this, error)) { - throw error; - } - } - } - finally { - // if the task's state is notScheduled or unknown, then it has already been cancelled - // we should not reset the state to scheduled - if (task.state !== notScheduled && task.state !== unknown) { - if (task.type == eventTask || (task.data && task.data.isPeriodic)) { - reEntryGuard && task._transitionTo(scheduled, running); - } - else { - task.runCount = 0; - this._updateTaskCount(task, -1); - reEntryGuard && - task._transitionTo(notScheduled, running, notScheduled); - } - } - _currentZoneFrame = _currentZoneFrame.parent; - _currentTask = previousTask; - } - }; - Zone.prototype.scheduleTask = function (task) { - if (task.zone && task.zone !== this) { - // check if the task was rescheduled, the newZone - // should not be the children of the original zone - var newZone = this; - while (newZone) { - if (newZone === task.zone) { - throw Error("can not reschedule task to " + this - .name + " which is descendants of the original zone " + task.zone.name); - } - newZone = newZone.parent; - } - } - task._transitionTo(scheduling, notScheduled); - var zoneDelegates = []; - task._zoneDelegates = zoneDelegates; - task._zone = this; - try { - task = this._zoneDelegate.scheduleTask(this, task); - } - catch (err) { - // should set task's state to unknown when scheduleTask throw error - // because the err may from reschedule, so the fromState maybe notScheduled - task._transitionTo(unknown, scheduling, notScheduled); - // TODO: @JiaLiPassion, should we check the result from handleError? - this._zoneDelegate.handleError(this, err); - throw err; - } - if (task._zoneDelegates === zoneDelegates) { - // we have to check because internally the delegate can reschedule the task. - this._updateTaskCount(task, 1); - } - if (task.state == scheduling) { - task._transitionTo(scheduled, scheduling); - } - return task; - }; - Zone.prototype.scheduleMicroTask = function (source, callback, data, customSchedule) { - return this.scheduleTask(new ZoneTask(microTask, source, callback, data, customSchedule, null)); - }; - Zone.prototype.scheduleMacroTask = function (source, callback, data, customSchedule, customCancel) { - return this.scheduleTask(new ZoneTask(macroTask, source, callback, data, customSchedule, customCancel)); - }; - Zone.prototype.scheduleEventTask = function (source, callback, data, customSchedule, customCancel) { - return this.scheduleTask(new ZoneTask(eventTask, source, callback, data, customSchedule, customCancel)); - }; - Zone.prototype.cancelTask = function (task) { - if (task.zone != this) - throw new Error('A task can only be cancelled in the zone of creation! (Creation: ' + - (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')'); - task._transitionTo(canceling, scheduled, running); - try { - this._zoneDelegate.cancelTask(this, task); - } - catch (err) { - // if error occurs when cancelTask, transit the state to unknown - task._transitionTo(unknown, canceling); - this._zoneDelegate.handleError(this, err); - throw err; - } - this._updateTaskCount(task, -1); - task._transitionTo(notScheduled, canceling); - task.runCount = 0; - return task; - }; - Zone.prototype._updateTaskCount = function (task, count) { - var zoneDelegates = task._zoneDelegates; - if (count == -1) { - task._zoneDelegates = null; - } - for (var i = 0; i < zoneDelegates.length; i++) { - zoneDelegates[i]._updateTaskCount(task.type, count); - } - }; - Zone.__symbol__ = __symbol__; - return Zone; - }()); - var DELEGATE_ZS = { - name: '', - onHasTask: function (delegate, _, target, hasTaskState) { - return delegate.hasTask(target, hasTaskState); - }, - onScheduleTask: function (delegate, _, target, task) { - return delegate.scheduleTask(target, task); - }, - onInvokeTask: function (delegate, _, target, task, applyThis, applyArgs) { return delegate.invokeTask(target, task, applyThis, applyArgs); }, - onCancelTask: function (delegate, _, target, task) { - return delegate.cancelTask(target, task); - } - }; - var ZoneDelegate = /** @class */ (function () { - function ZoneDelegate(zone, parentDelegate, zoneSpec) { - this._taskCounts = { 'microTask': 0, 'macroTask': 0, 'eventTask': 0 }; - this.zone = zone; - this._parentDelegate = parentDelegate; - this._forkZS = zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS); - this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt); - this._forkCurrZone = zoneSpec && (zoneSpec.onFork ? this.zone : parentDelegate.zone); - this._interceptZS = - zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS); - this._interceptDlgt = - zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt); - this._interceptCurrZone = - zoneSpec && (zoneSpec.onIntercept ? this.zone : parentDelegate.zone); - this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS); - this._invokeDlgt = - zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt); - this._invokeCurrZone = zoneSpec && (zoneSpec.onInvoke ? this.zone : parentDelegate.zone); - this._handleErrorZS = - zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS); - this._handleErrorDlgt = - zoneSpec && (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt); - this._handleErrorCurrZone = - zoneSpec && (zoneSpec.onHandleError ? this.zone : parentDelegate.zone); - this._scheduleTaskZS = - zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS); - this._scheduleTaskDlgt = - zoneSpec && (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt); - this._scheduleTaskCurrZone = - zoneSpec && (zoneSpec.onScheduleTask ? this.zone : parentDelegate.zone); - this._invokeTaskZS = - zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS); - this._invokeTaskDlgt = - zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt); - this._invokeTaskCurrZone = - zoneSpec && (zoneSpec.onInvokeTask ? this.zone : parentDelegate.zone); - this._cancelTaskZS = - zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS); - this._cancelTaskDlgt = - zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt); - this._cancelTaskCurrZone = - zoneSpec && (zoneSpec.onCancelTask ? this.zone : parentDelegate.zone); - this._hasTaskZS = null; - this._hasTaskDlgt = null; - this._hasTaskDlgtOwner = null; - this._hasTaskCurrZone = null; - var zoneSpecHasTask = zoneSpec && zoneSpec.onHasTask; - var parentHasTask = parentDelegate && parentDelegate._hasTaskZS; - if (zoneSpecHasTask || parentHasTask) { - // If we need to report hasTask, than this ZS needs to do ref counting on tasks. In such - // a case all task related interceptors must go through this ZD. We can't short circuit it. - this._hasTaskZS = zoneSpecHasTask ? zoneSpec : DELEGATE_ZS; - this._hasTaskDlgt = parentDelegate; - this._hasTaskDlgtOwner = this; - this._hasTaskCurrZone = zone; - if (!zoneSpec.onScheduleTask) { - this._scheduleTaskZS = DELEGATE_ZS; - this._scheduleTaskDlgt = parentDelegate; - this._scheduleTaskCurrZone = this.zone; - } - if (!zoneSpec.onInvokeTask) { - this._invokeTaskZS = DELEGATE_ZS; - this._invokeTaskDlgt = parentDelegate; - this._invokeTaskCurrZone = this.zone; - } - if (!zoneSpec.onCancelTask) { - this._cancelTaskZS = DELEGATE_ZS; - this._cancelTaskDlgt = parentDelegate; - this._cancelTaskCurrZone = this.zone; - } - } - } - ZoneDelegate.prototype.fork = function (targetZone, zoneSpec) { - return this._forkZS ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) : - new Zone(targetZone, zoneSpec); - }; - ZoneDelegate.prototype.intercept = function (targetZone, callback, source) { - return this._interceptZS ? - this._interceptZS.onIntercept(this._interceptDlgt, this._interceptCurrZone, targetZone, callback, source) : - callback; - }; - ZoneDelegate.prototype.invoke = function (targetZone, callback, applyThis, applyArgs, source) { - return this._invokeZS ? - this._invokeZS.onInvoke(this._invokeDlgt, this._invokeCurrZone, targetZone, callback, applyThis, applyArgs, source) : - callback.apply(applyThis, applyArgs); - }; - ZoneDelegate.prototype.handleError = function (targetZone, error) { - return this._handleErrorZS ? - this._handleErrorZS.onHandleError(this._handleErrorDlgt, this._handleErrorCurrZone, targetZone, error) : - true; - }; - ZoneDelegate.prototype.scheduleTask = function (targetZone, task) { - var returnTask = task; - if (this._scheduleTaskZS) { - if (this._hasTaskZS) { - returnTask._zoneDelegates.push(this._hasTaskDlgtOwner); - } - returnTask = this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task); - if (!returnTask) - returnTask = task; - } - else { - if (task.scheduleFn) { - task.scheduleFn(task); - } - else if (task.type == microTask) { - scheduleMicroTask(task); - } - else { - throw new Error('Task is missing scheduleFn.'); - } - } - return returnTask; - }; - ZoneDelegate.prototype.invokeTask = function (targetZone, task, applyThis, applyArgs) { - return this._invokeTaskZS ? - this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this._invokeTaskCurrZone, targetZone, task, applyThis, applyArgs) : - task.callback.apply(applyThis, applyArgs); - }; - ZoneDelegate.prototype.cancelTask = function (targetZone, task) { - var value; - if (this._cancelTaskZS) { - value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this._cancelTaskCurrZone, targetZone, task); - } - else { - if (!task.cancelFn) { - throw Error('Task is not cancelable'); - } - value = task.cancelFn(task); - } - return value; - }; - ZoneDelegate.prototype.hasTask = function (targetZone, isEmpty) { - // hasTask should not throw error so other ZoneDelegate - // can still trigger hasTask callback - try { - return this._hasTaskZS && - this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty); - } - catch (err) { - this.handleError(targetZone, err); - } - }; - ZoneDelegate.prototype._updateTaskCount = function (type, count) { - var counts = this._taskCounts; - var prev = counts[type]; - var next = counts[type] = prev + count; - if (next < 0) { - throw new Error('More tasks executed then were scheduled.'); - } - if (prev == 0 || next == 0) { - var isEmpty = { - microTask: counts['microTask'] > 0, - macroTask: counts['macroTask'] > 0, - eventTask: counts['eventTask'] > 0, - change: type - }; - this.hasTask(this.zone, isEmpty); - } - }; - return ZoneDelegate; - }()); - var ZoneTask = /** @class */ (function () { - function ZoneTask(type, source, callback, options, scheduleFn, cancelFn) { - this._zone = null; - this.runCount = 0; - this._zoneDelegates = null; - this._state = 'notScheduled'; - this.type = type; - this.source = source; - this.data = options; - this.scheduleFn = scheduleFn; - this.cancelFn = cancelFn; - this.callback = callback; - var self = this; - // TODO: @JiaLiPassion options should have interface - if (type === eventTask && options && options.useG) { - this.invoke = ZoneTask.invokeTask; - } - else { - this.invoke = function () { - return ZoneTask.invokeTask.call(global, self, this, arguments); - }; - } - } - ZoneTask.invokeTask = function (task, target, args) { - if (!task) { - task = this; - } - _numberOfNestedTaskFrames++; - try { - task.runCount++; - return task.zone.runTask(task, target, args); - } - finally { - if (_numberOfNestedTaskFrames == 1) { - drainMicroTaskQueue(); - } - _numberOfNestedTaskFrames--; - } - }; - Object.defineProperty(ZoneTask.prototype, "zone", { - get: function () { - return this._zone; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(ZoneTask.prototype, "state", { - get: function () { - return this._state; - }, - enumerable: true, - configurable: true - }); - ZoneTask.prototype.cancelScheduleRequest = function () { - this._transitionTo(notScheduled, scheduling); - }; - ZoneTask.prototype._transitionTo = function (toState, fromState1, fromState2) { - if (this._state === fromState1 || this._state === fromState2) { - this._state = toState; - if (toState == notScheduled) { - this._zoneDelegates = null; - } - } - else { - throw new Error(this.type + " '" + this.source + "': can not transition to '" + toState + "', expecting state '" + fromState1 + "'" + (fromState2 ? - ' or \'' + fromState2 + '\'' : - '') + ", was '" + this._state + "'."); - } - }; - ZoneTask.prototype.toString = function () { - if (this.data && typeof this.data.handleId !== 'undefined') { - return this.data.handleId; - } - else { - return Object.prototype.toString.call(this); - } - }; - // add toJSON method to prevent cyclic error when - // call JSON.stringify(zoneTask) - ZoneTask.prototype.toJSON = function () { - return { - type: this.type, - state: this.state, - source: this.source, - zone: this.zone.name, - runCount: this.runCount - }; - }; - return ZoneTask; - }()); - ////////////////////////////////////////////////////// - ////////////////////////////////////////////////////// - /// MICROTASK QUEUE - ////////////////////////////////////////////////////// - ////////////////////////////////////////////////////// - var symbolSetTimeout = __symbol__('setTimeout'); - var symbolPromise = __symbol__('Promise'); - var symbolThen = __symbol__('then'); - var _microTaskQueue = []; - var _isDrainingMicrotaskQueue = false; - var nativeMicroTaskQueuePromise; - function scheduleMicroTask(task) { - // if we are not running in any task, and there has not been anything scheduled - // we must bootstrap the initial task creation by manually scheduling the drain - if (_numberOfNestedTaskFrames === 0 && _microTaskQueue.length === 0) { - // We are not running in Task, so we need to kickstart the microtask queue. - if (!nativeMicroTaskQueuePromise) { - if (global[symbolPromise]) { - nativeMicroTaskQueuePromise = global[symbolPromise].resolve(0); - } - } - if (nativeMicroTaskQueuePromise) { - nativeMicroTaskQueuePromise[symbolThen](drainMicroTaskQueue); - } - else { - global[symbolSetTimeout](drainMicroTaskQueue, 0); - } - } - task && _microTaskQueue.push(task); - } - function drainMicroTaskQueue() { - if (!_isDrainingMicrotaskQueue) { - _isDrainingMicrotaskQueue = true; - while (_microTaskQueue.length) { - var queue = _microTaskQueue; - _microTaskQueue = []; - for (var i = 0; i < queue.length; i++) { - var task = queue[i]; - try { - task.zone.runTask(task, null, null); - } - catch (error) { - _api.onUnhandledError(error); - } - } - } - _api.microtaskDrainDone(); - _isDrainingMicrotaskQueue = false; - } - } - ////////////////////////////////////////////////////// - ////////////////////////////////////////////////////// - /// BOOTSTRAP - ////////////////////////////////////////////////////// - ////////////////////////////////////////////////////// - var NO_ZONE = { name: 'NO ZONE' }; - var notScheduled = 'notScheduled', scheduling = 'scheduling', scheduled = 'scheduled', running = 'running', canceling = 'canceling', unknown = 'unknown'; - var microTask = 'microTask', macroTask = 'macroTask', eventTask = 'eventTask'; - var patches = {}; - var _api = { - symbol: __symbol__, - currentZoneFrame: function () { return _currentZoneFrame; }, - onUnhandledError: noop, - microtaskDrainDone: noop, - scheduleMicroTask: scheduleMicroTask, - showUncaughtError: function () { return !Zone[__symbol__('ignoreConsoleErrorUncaughtError')]; }, - patchEventTarget: function () { return []; }, - patchOnProperties: noop, - patchMethod: function () { return noop; }, - bindArguments: function () { return null; }, - setNativePromise: function (NativePromise) { - // sometimes NativePromise.resolve static function - // is not ready yet, (such as core-js/es6.promise) - // so we need to check here. - if (NativePromise && typeof NativePromise.resolve === FUNCTION) { - nativeMicroTaskQueuePromise = NativePromise.resolve(0); - } - }, - }; - var _currentZoneFrame = { parent: null, zone: new Zone(null, null) }; - var _currentTask = null; - var _numberOfNestedTaskFrames = 0; - function noop() { } - function __symbol__(name) { - return '__zone_symbol__' + name; - } - performanceMeasure('Zone', 'Zone'); - return global['Zone'] = Zone; -})(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global); - -Zone.__load_patch('ZoneAwarePromise', function (global, Zone, api) { - var ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; - var ObjectDefineProperty = Object.defineProperty; - function readableObjectToString(obj) { - if (obj && obj.toString === Object.prototype.toString) { - var className = obj.constructor && obj.constructor.name; - return (className ? className : '') + ': ' + JSON.stringify(obj); - } - return obj ? obj.toString() : Object.prototype.toString.call(obj); - } - var __symbol__ = api.symbol; - var _uncaughtPromiseErrors = []; - var symbolPromise = __symbol__('Promise'); - var symbolThen = __symbol__('then'); - var creationTrace = '__creationTrace__'; - api.onUnhandledError = function (e) { - if (api.showUncaughtError()) { - var rejection = e && e.rejection; - if (rejection) { - console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined); - } - else { - console.error(e); - } - } - }; - api.microtaskDrainDone = function () { - while (_uncaughtPromiseErrors.length) { - var _loop_1 = function () { - var uncaughtPromiseError = _uncaughtPromiseErrors.shift(); - try { - uncaughtPromiseError.zone.runGuarded(function () { - throw uncaughtPromiseError; - }); - } - catch (error) { - handleUnhandledRejection(error); - } - }; - while (_uncaughtPromiseErrors.length) { - _loop_1(); - } - } - }; - var UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL = __symbol__('unhandledPromiseRejectionHandler'); - function handleUnhandledRejection(e) { - api.onUnhandledError(e); - try { - var handler = Zone[UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL]; - if (handler && typeof handler === 'function') { - handler.call(this, e); - } - } - catch (err) { - } - } - function isThenable(value) { - return value && value.then; - } - function forwardResolution(value) { - return value; - } - function forwardRejection(rejection) { - return ZoneAwarePromise.reject(rejection); - } - var symbolState = __symbol__('state'); - var symbolValue = __symbol__('value'); - var symbolFinally = __symbol__('finally'); - var symbolParentPromiseValue = __symbol__('parentPromiseValue'); - var symbolParentPromiseState = __symbol__('parentPromiseState'); - var source = 'Promise.then'; - var UNRESOLVED = null; - var RESOLVED = true; - var REJECTED = false; - var REJECTED_NO_CATCH = 0; - function makeResolver(promise, state) { - return function (v) { - try { - resolvePromise(promise, state, v); - } - catch (err) { - resolvePromise(promise, false, err); - } - // Do not return value or you will break the Promise spec. - }; - } - var once = function () { - var wasCalled = false; - return function wrapper(wrappedFunction) { - return function () { - if (wasCalled) { - return; - } - wasCalled = true; - wrappedFunction.apply(null, arguments); - }; - }; - }; - var TYPE_ERROR = 'Promise resolved with itself'; - var CURRENT_TASK_TRACE_SYMBOL = __symbol__('currentTaskTrace'); - // Promise Resolution - function resolvePromise(promise, state, value) { - var onceWrapper = once(); - if (promise === value) { - throw new TypeError(TYPE_ERROR); - } - if (promise[symbolState] === UNRESOLVED) { - // should only get value.then once based on promise spec. - var then = null; - try { - if (typeof value === 'object' || typeof value === 'function') { - then = value && value.then; - } - } - catch (err) { - onceWrapper(function () { - resolvePromise(promise, false, err); - })(); - return promise; - } - // if (value instanceof ZoneAwarePromise) { - if (state !== REJECTED && value instanceof ZoneAwarePromise && - value.hasOwnProperty(symbolState) && value.hasOwnProperty(symbolValue) && - value[symbolState] !== UNRESOLVED) { - clearRejectedNoCatch(value); - resolvePromise(promise, value[symbolState], value[symbolValue]); - } - else if (state !== REJECTED && typeof then === 'function') { - try { - then.call(value, onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false))); - } - catch (err) { - onceWrapper(function () { - resolvePromise(promise, false, err); - })(); - } - } - else { - promise[symbolState] = state; - var queue = promise[symbolValue]; - promise[symbolValue] = value; - if (promise[symbolFinally] === symbolFinally) { - // the promise is generated by Promise.prototype.finally - if (state === RESOLVED) { - // the state is resolved, should ignore the value - // and use parent promise value - promise[symbolState] = promise[symbolParentPromiseState]; - promise[symbolValue] = promise[symbolParentPromiseValue]; - } - } - // record task information in value when error occurs, so we can - // do some additional work such as render longStackTrace - if (state === REJECTED && value instanceof Error) { - // check if longStackTraceZone is here - var trace = Zone.currentTask && Zone.currentTask.data && - Zone.currentTask.data[creationTrace]; - if (trace) { - // only keep the long stack trace into error when in longStackTraceZone - ObjectDefineProperty(value, CURRENT_TASK_TRACE_SYMBOL, { configurable: true, enumerable: false, writable: true, value: trace }); - } - } - for (var i = 0; i < queue.length;) { - scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]); - } - if (queue.length == 0 && state == REJECTED) { - promise[symbolState] = REJECTED_NO_CATCH; - try { - // try to print more readable error log - throw new Error('Uncaught (in promise): ' + readableObjectToString(value) + - (value && value.stack ? '\n' + value.stack : '')); - } - catch (err) { - var error_1 = err; - error_1.rejection = value; - error_1.promise = promise; - error_1.zone = Zone.current; - error_1.task = Zone.currentTask; - _uncaughtPromiseErrors.push(error_1); - api.scheduleMicroTask(); // to make sure that it is running - } - } - } - } - // Resolving an already resolved promise is a noop. - return promise; - } - var REJECTION_HANDLED_HANDLER = __symbol__('rejectionHandledHandler'); - function clearRejectedNoCatch(promise) { - if (promise[symbolState] === REJECTED_NO_CATCH) { - // if the promise is rejected no catch status - // and queue.length > 0, means there is a error handler - // here to handle the rejected promise, we should trigger - // windows.rejectionhandled eventHandler or nodejs rejectionHandled - // eventHandler - try { - var handler = Zone[REJECTION_HANDLED_HANDLER]; - if (handler && typeof handler === 'function') { - handler.call(this, { rejection: promise[symbolValue], promise: promise }); - } - } - catch (err) { - } - promise[symbolState] = REJECTED; - for (var i = 0; i < _uncaughtPromiseErrors.length; i++) { - if (promise === _uncaughtPromiseErrors[i].promise) { - _uncaughtPromiseErrors.splice(i, 1); - } - } - } - } - function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) { - clearRejectedNoCatch(promise); - var promiseState = promise[symbolState]; - var delegate = promiseState ? - (typeof onFulfilled === 'function') ? onFulfilled : forwardResolution : - (typeof onRejected === 'function') ? onRejected : forwardRejection; - zone.scheduleMicroTask(source, function () { - try { - var parentPromiseValue = promise[symbolValue]; - var isFinallyPromise = chainPromise && symbolFinally === chainPromise[symbolFinally]; - if (isFinallyPromise) { - // if the promise is generated from finally call, keep parent promise's state and value - chainPromise[symbolParentPromiseValue] = parentPromiseValue; - chainPromise[symbolParentPromiseState] = promiseState; - } - // should not pass value to finally callback - var value = zone.run(delegate, undefined, isFinallyPromise && delegate !== forwardRejection && delegate !== forwardResolution ? [] : [parentPromiseValue]); - resolvePromise(chainPromise, true, value); - } - catch (error) { - // if error occurs, should always return this error - resolvePromise(chainPromise, false, error); - } - }, chainPromise); - } - var ZONE_AWARE_PROMISE_TO_STRING = 'function ZoneAwarePromise() { [native code] }'; - var ZoneAwarePromise = /** @class */ (function () { - function ZoneAwarePromise(executor) { - var promise = this; - if (!(promise instanceof ZoneAwarePromise)) { - throw new Error('Must be an instanceof Promise.'); - } - promise[symbolState] = UNRESOLVED; - promise[symbolValue] = []; // queue; - try { - executor && executor(makeResolver(promise, RESOLVED), makeResolver(promise, REJECTED)); - } - catch (error) { - resolvePromise(promise, false, error); - } - } - ZoneAwarePromise.toString = function () { - return ZONE_AWARE_PROMISE_TO_STRING; - }; - ZoneAwarePromise.resolve = function (value) { - return resolvePromise(new this(null), RESOLVED, value); - }; - ZoneAwarePromise.reject = function (error) { - return resolvePromise(new this(null), REJECTED, error); - }; - ZoneAwarePromise.race = function (values) { - var resolve; - var reject; - var promise = new this(function (res, rej) { - resolve = res; - reject = rej; - }); - function onResolve(value) { - promise && (promise = null || resolve(value)); - } - function onReject(error) { - promise && (promise = null || reject(error)); - } - for (var _i = 0, values_1 = values; _i < values_1.length; _i++) { - var value = values_1[_i]; - if (!isThenable(value)) { - value = this.resolve(value); - } - value.then(onResolve, onReject); - } - return promise; - }; - ZoneAwarePromise.all = function (values) { - var resolve; - var reject; - var promise = new this(function (res, rej) { - resolve = res; - reject = rej; - }); - var count = 0; - var resolvedValues = []; - for (var _i = 0, values_2 = values; _i < values_2.length; _i++) { - var value = values_2[_i]; - if (!isThenable(value)) { - value = this.resolve(value); - } - value.then((function (index) { return function (value) { - resolvedValues[index] = value; - count--; - if (!count) { - resolve(resolvedValues); - } - }; })(count), reject); - count++; - } - if (!count) - resolve(resolvedValues); - return promise; - }; - ZoneAwarePromise.prototype.then = function (onFulfilled, onRejected) { - var chainPromise = new this.constructor(null); - var zone = Zone.current; - if (this[symbolState] == UNRESOLVED) { - this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected); - } - else { - scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected); - } - return chainPromise; - }; - ZoneAwarePromise.prototype.catch = function (onRejected) { - return this.then(null, onRejected); - }; - ZoneAwarePromise.prototype.finally = function (onFinally) { - var chainPromise = new this.constructor(null); - chainPromise[symbolFinally] = symbolFinally; - var zone = Zone.current; - if (this[symbolState] == UNRESOLVED) { - this[symbolValue].push(zone, chainPromise, onFinally, onFinally); - } - else { - scheduleResolveOrReject(this, zone, chainPromise, onFinally, onFinally); - } - return chainPromise; - }; - return ZoneAwarePromise; - }()); - // Protect against aggressive optimizers dropping seemingly unused properties. - // E.g. Closure Compiler in advanced mode. - ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve; - ZoneAwarePromise['reject'] = ZoneAwarePromise.reject; - ZoneAwarePromise['race'] = ZoneAwarePromise.race; - ZoneAwarePromise['all'] = ZoneAwarePromise.all; - var NativePromise = global[symbolPromise] = global['Promise']; - var ZONE_AWARE_PROMISE = Zone.__symbol__('ZoneAwarePromise'); - var desc = ObjectGetOwnPropertyDescriptor(global, 'Promise'); - if (!desc || desc.configurable) { - desc && delete desc.writable; - desc && delete desc.value; - if (!desc) { - desc = { configurable: true, enumerable: true }; - } - desc.get = function () { - // if we already set ZoneAwarePromise, use patched one - // otherwise return native one. - return global[ZONE_AWARE_PROMISE] ? global[ZONE_AWARE_PROMISE] : global[symbolPromise]; - }; - desc.set = function (NewNativePromise) { - if (NewNativePromise === ZoneAwarePromise) { - // if the NewNativePromise is ZoneAwarePromise - // save to global - global[ZONE_AWARE_PROMISE] = NewNativePromise; - } - else { - // if the NewNativePromise is not ZoneAwarePromise - // for example: after load zone.js, some library just - // set es6-promise to global, if we set it to global - // directly, assertZonePatched will fail and angular - // will not loaded, so we just set the NewNativePromise - // to global[symbolPromise], so the result is just like - // we load ES6 Promise before zone.js - global[symbolPromise] = NewNativePromise; - if (!NewNativePromise.prototype[symbolThen]) { - patchThen(NewNativePromise); - } - api.setNativePromise(NewNativePromise); - } - }; - ObjectDefineProperty(global, 'Promise', desc); - } - global['Promise'] = ZoneAwarePromise; - var symbolThenPatched = __symbol__('thenPatched'); - function patchThen(Ctor) { - var proto = Ctor.prototype; - var prop = ObjectGetOwnPropertyDescriptor(proto, 'then'); - if (prop && (prop.writable === false || !prop.configurable)) { - // check Ctor.prototype.then propertyDescriptor is writable or not - // in meteor env, writable is false, we should ignore such case - return; - } - var originalThen = proto.then; - // Keep a reference to the original method. - proto[symbolThen] = originalThen; - Ctor.prototype.then = function (onResolve, onReject) { - var _this = this; - var wrapped = new ZoneAwarePromise(function (resolve, reject) { - originalThen.call(_this, resolve, reject); - }); - return wrapped.then(onResolve, onReject); - }; - Ctor[symbolThenPatched] = true; - } - function zoneify(fn) { - return function () { - var resultPromise = fn.apply(this, arguments); - if (resultPromise instanceof ZoneAwarePromise) { - return resultPromise; - } - var ctor = resultPromise.constructor; - if (!ctor[symbolThenPatched]) { - patchThen(ctor); - } - return resultPromise; - }; - } - if (NativePromise) { - patchThen(NativePromise); - var fetch_1 = global['fetch']; - if (typeof fetch_1 == 'function') { - global['fetch'] = zoneify(fetch_1); - } - } - // This is not part of public API, but it is useful for tests, so we expose it. - Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors; - return ZoneAwarePromise; -}); - -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * Suppress closure compiler errors about unknown 'Zone' variable - * @fileoverview - * @suppress {undefinedVars,globalThis,missingRequire} - */ -// issue #989, to reduce bundle size, use short name -/** Object.getOwnPropertyDescriptor */ -var ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; -/** Object.defineProperty */ -var ObjectDefineProperty = Object.defineProperty; -/** Object.getPrototypeOf */ -var ObjectGetPrototypeOf = Object.getPrototypeOf; -/** Object.create */ -var ObjectCreate = Object.create; -/** Array.prototype.slice */ -var ArraySlice = Array.prototype.slice; -/** addEventListener string const */ -var ADD_EVENT_LISTENER_STR = 'addEventListener'; -/** removeEventListener string const */ -var REMOVE_EVENT_LISTENER_STR = 'removeEventListener'; -/** zoneSymbol addEventListener */ -var ZONE_SYMBOL_ADD_EVENT_LISTENER = Zone.__symbol__(ADD_EVENT_LISTENER_STR); -/** zoneSymbol removeEventListener */ -var ZONE_SYMBOL_REMOVE_EVENT_LISTENER = Zone.__symbol__(REMOVE_EVENT_LISTENER_STR); -/** true string const */ -var TRUE_STR = 'true'; -/** false string const */ -var FALSE_STR = 'false'; -/** __zone_symbol__ string const */ -var ZONE_SYMBOL_PREFIX = '__zone_symbol__'; -function wrapWithCurrentZone(callback, source) { - return Zone.current.wrap(callback, source); -} -function scheduleMacroTaskWithCurrentZone(source, callback, data, customSchedule, customCancel) { - return Zone.current.scheduleMacroTask(source, callback, data, customSchedule, customCancel); -} -var zoneSymbol = Zone.__symbol__; -var isWindowExists = typeof window !== 'undefined'; -var internalWindow = isWindowExists ? window : undefined; -var _global = isWindowExists && internalWindow || typeof self === 'object' && self || global; -var REMOVE_ATTRIBUTE = 'removeAttribute'; -var NULL_ON_PROP_VALUE = [null]; -function bindArguments(args, source) { - for (var i = args.length - 1; i >= 0; i--) { - if (typeof args[i] === 'function') { - args[i] = wrapWithCurrentZone(args[i], source + '_' + i); - } - } - return args; -} -function patchPrototype(prototype, fnNames) { - var source = prototype.constructor['name']; - var _loop_1 = function (i) { - var name_1 = fnNames[i]; - var delegate = prototype[name_1]; - if (delegate) { - var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, name_1); - if (!isPropertyWritable(prototypeDesc)) { - return "continue"; - } - prototype[name_1] = (function (delegate) { - var patched = function () { - return delegate.apply(this, bindArguments(arguments, source + '.' + name_1)); - }; - attachOriginToPatched(patched, delegate); - return patched; - })(delegate); - } - }; - for (var i = 0; i < fnNames.length; i++) { - _loop_1(i); - } -} -function isPropertyWritable(propertyDesc) { - if (!propertyDesc) { - return true; - } - if (propertyDesc.writable === false) { - return false; - } - return !(typeof propertyDesc.get === 'function' && typeof propertyDesc.set === 'undefined'); -} -var isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope); -// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify -// this code. -var isNode = (!('nw' in _global) && typeof _global.process !== 'undefined' && - {}.toString.call(_global.process) === '[object process]'); -var isBrowser = !isNode && !isWebWorker && !!(isWindowExists && internalWindow['HTMLElement']); -// we are in electron of nw, so we are both browser and nodejs -// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify -// this code. -var isMix = typeof _global.process !== 'undefined' && - {}.toString.call(_global.process) === '[object process]' && !isWebWorker && - !!(isWindowExists && internalWindow['HTMLElement']); -var zoneSymbolEventNames = {}; -var wrapFn = function (event) { - // https://github.com/angular/zone.js/issues/911, in IE, sometimes - // event will be undefined, so we need to use window.event - event = event || _global.event; - if (!event) { - return; - } - var eventNameSymbol = zoneSymbolEventNames[event.type]; - if (!eventNameSymbol) { - eventNameSymbol = zoneSymbolEventNames[event.type] = zoneSymbol('ON_PROPERTY' + event.type); - } - var target = this || event.target || _global; - var listener = target[eventNameSymbol]; - var result = listener && listener.apply(this, arguments); - if (result != undefined && !result) { - event.preventDefault(); - } - return result; -}; -function patchProperty(obj, prop, prototype) { - var desc = ObjectGetOwnPropertyDescriptor(obj, prop); - if (!desc && prototype) { - // when patch window object, use prototype to check prop exist or not - var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, prop); - if (prototypeDesc) { - desc = { enumerable: true, configurable: true }; - } - } - // if the descriptor not exists or is not configurable - // just return - if (!desc || !desc.configurable) { - return; - } - // A property descriptor cannot have getter/setter and be writable - // deleting the writable and value properties avoids this error: - // - // TypeError: property descriptors must not specify a value or be writable when a - // getter or setter has been specified - delete desc.writable; - delete desc.value; - var originalDescGet = desc.get; - var originalDescSet = desc.set; - // substr(2) cuz 'onclick' -> 'click', etc - var eventName = prop.substr(2); - var eventNameSymbol = zoneSymbolEventNames[eventName]; - if (!eventNameSymbol) { - eventNameSymbol = zoneSymbolEventNames[eventName] = zoneSymbol('ON_PROPERTY' + eventName); - } - desc.set = function (newValue) { - // in some of windows's onproperty callback, this is undefined - // so we need to check it - var target = this; - if (!target && obj === _global) { - target = _global; - } - if (!target) { - return; - } - var previousValue = target[eventNameSymbol]; - if (previousValue) { - target.removeEventListener(eventName, wrapFn); - } - // issue #978, when onload handler was added before loading zone.js - // we should remove it with originalDescSet - if (originalDescSet) { - originalDescSet.apply(target, NULL_ON_PROP_VALUE); - } - if (typeof newValue === 'function') { - target[eventNameSymbol] = newValue; - target.addEventListener(eventName, wrapFn, false); - } - else { - target[eventNameSymbol] = null; - } - }; - // The getter would return undefined for unassigned properties but the default value of an - // unassigned property is null - desc.get = function () { - // in some of windows's onproperty callback, this is undefined - // so we need to check it - var target = this; - if (!target && obj === _global) { - target = _global; - } - if (!target) { - return null; - } - var listener = target[eventNameSymbol]; - if (listener) { - return listener; - } - else if (originalDescGet) { - // result will be null when use inline event attribute, - // such as - // because the onclick function is internal raw uncompiled handler - // the onclick will be evaluated when first time event was triggered or - // the property is accessed, https://github.com/angular/zone.js/issues/525 - // so we should use original native get to retrieve the handler - var value = originalDescGet && originalDescGet.call(this); - if (value) { - desc.set.call(this, value); - if (typeof target[REMOVE_ATTRIBUTE] === 'function') { - target.removeAttribute(prop); - } - return value; - } - } - return null; - }; - ObjectDefineProperty(obj, prop, desc); -} -function patchOnProperties(obj, properties, prototype) { - if (properties) { - for (var i = 0; i < properties.length; i++) { - patchProperty(obj, 'on' + properties[i], prototype); - } - } - else { - var onProperties = []; - for (var prop in obj) { - if (prop.substr(0, 2) == 'on') { - onProperties.push(prop); - } - } - for (var j = 0; j < onProperties.length; j++) { - patchProperty(obj, onProperties[j], prototype); - } - } -} -var originalInstanceKey = zoneSymbol('originalInstance'); -// wrap some native API on `window` -function patchClass(className) { - var OriginalClass = _global[className]; - if (!OriginalClass) - return; - // keep original class in global - _global[zoneSymbol(className)] = OriginalClass; - _global[className] = function () { - var a = bindArguments(arguments, className); - switch (a.length) { - case 0: - this[originalInstanceKey] = new OriginalClass(); - break; - case 1: - this[originalInstanceKey] = new OriginalClass(a[0]); - break; - case 2: - this[originalInstanceKey] = new OriginalClass(a[0], a[1]); - break; - case 3: - this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]); - break; - case 4: - this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]); - break; - default: - throw new Error('Arg list too long.'); - } - }; - // attach original delegate to patched function - attachOriginToPatched(_global[className], OriginalClass); - var instance = new OriginalClass(function () { }); - var prop; - for (prop in instance) { - // https://bugs.webkit.org/show_bug.cgi?id=44721 - if (className === 'XMLHttpRequest' && prop === 'responseBlob') - continue; - (function (prop) { - if (typeof instance[prop] === 'function') { - _global[className].prototype[prop] = function () { - return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments); - }; - } - else { - ObjectDefineProperty(_global[className].prototype, prop, { - set: function (fn) { - if (typeof fn === 'function') { - this[originalInstanceKey][prop] = wrapWithCurrentZone(fn, className + '.' + prop); - // keep callback in wrapped function so we can - // use it in Function.prototype.toString to return - // the native one. - attachOriginToPatched(this[originalInstanceKey][prop], fn); - } - else { - this[originalInstanceKey][prop] = fn; - } - }, - get: function () { - return this[originalInstanceKey][prop]; - } - }); - } - }(prop)); - } - for (prop in OriginalClass) { - if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) { - _global[className][prop] = OriginalClass[prop]; - } - } -} -function patchMethod(target, name, patchFn) { - var proto = target; - while (proto && !proto.hasOwnProperty(name)) { - proto = ObjectGetPrototypeOf(proto); - } - if (!proto && target[name]) { - // somehow we did not find it, but we can see it. This happens on IE for Window properties. - proto = target; - } - var delegateName = zoneSymbol(name); - var delegate; - if (proto && !(delegate = proto[delegateName])) { - delegate = proto[delegateName] = proto[name]; - // check whether proto[name] is writable - // some property is readonly in safari, such as HtmlCanvasElement.prototype.toBlob - var desc = proto && ObjectGetOwnPropertyDescriptor(proto, name); - if (isPropertyWritable(desc)) { - var patchDelegate_1 = patchFn(delegate, delegateName, name); - proto[name] = function () { - return patchDelegate_1(this, arguments); - }; - attachOriginToPatched(proto[name], delegate); - } - } - return delegate; -} -// TODO: @JiaLiPassion, support cancel task later if necessary -function patchMacroTask(obj, funcName, metaCreator) { - var setNative = null; - function scheduleTask(task) { - var data = task.data; - data.args[data.cbIdx] = function () { - task.invoke.apply(this, arguments); - }; - setNative.apply(data.target, data.args); - return task; - } - setNative = patchMethod(obj, funcName, function (delegate) { return function (self, args) { - var meta = metaCreator(self, args); - if (meta.cbIdx >= 0 && typeof args[meta.cbIdx] === 'function') { - return scheduleMacroTaskWithCurrentZone(meta.name, args[meta.cbIdx], meta, scheduleTask, null); - } - else { - // cause an error by calling it directly. - return delegate.apply(self, args); - } - }; }); -} - -function attachOriginToPatched(patched, original) { - patched[zoneSymbol('OriginalDelegate')] = original; -} -var isDetectedIEOrEdge = false; -var ieOrEdge = false; -function isIEOrEdge() { - if (isDetectedIEOrEdge) { - return ieOrEdge; - } - isDetectedIEOrEdge = true; - try { - var ua = internalWindow.navigator.userAgent; - if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1 || ua.indexOf('Edge/') !== -1) { - ieOrEdge = true; - } - return ieOrEdge; - } - catch (error) { - } -} - -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -// override Function.prototype.toString to make zone.js patched function -// look like native function -Zone.__load_patch('toString', function (global) { - // patch Func.prototype.toString to let them look like native - var originalFunctionToString = Function.prototype.toString; - var ORIGINAL_DELEGATE_SYMBOL = zoneSymbol('OriginalDelegate'); - var PROMISE_SYMBOL = zoneSymbol('Promise'); - var ERROR_SYMBOL = zoneSymbol('Error'); - var newFunctionToString = function toString() { - if (typeof this === 'function') { - var originalDelegate = this[ORIGINAL_DELEGATE_SYMBOL]; - if (originalDelegate) { - if (typeof originalDelegate === 'function') { - return originalFunctionToString.apply(this[ORIGINAL_DELEGATE_SYMBOL], arguments); - } - else { - return Object.prototype.toString.call(originalDelegate); - } - } - if (this === Promise) { - var nativePromise = global[PROMISE_SYMBOL]; - if (nativePromise) { - return originalFunctionToString.apply(nativePromise, arguments); - } - } - if (this === Error) { - var nativeError = global[ERROR_SYMBOL]; - if (nativeError) { - return originalFunctionToString.apply(nativeError, arguments); - } - } - } - return originalFunctionToString.apply(this, arguments); - }; - newFunctionToString[ORIGINAL_DELEGATE_SYMBOL] = originalFunctionToString; - Function.prototype.toString = newFunctionToString; - // patch Object.prototype.toString to let them look like native - var originalObjectToString = Object.prototype.toString; - var PROMISE_OBJECT_TO_STRING = '[object Promise]'; - Object.prototype.toString = function () { - if (this instanceof Promise) { - return PROMISE_OBJECT_TO_STRING; - } - return originalObjectToString.apply(this, arguments); - }; -}); - -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @fileoverview - * @suppress {missingRequire} - */ -// an identifier to tell ZoneTask do not create a new invoke closure -var OPTIMIZED_ZONE_EVENT_TASK_DATA = { - useG: true -}; -var zoneSymbolEventNames$1 = {}; -var globalSources = {}; -var EVENT_NAME_SYMBOL_REGX = /^__zone_symbol__(\w+)(true|false)$/; -var IMMEDIATE_PROPAGATION_SYMBOL = ('__zone_symbol__propagationStopped'); -function patchEventTarget(_global, apis, patchOptions) { - var ADD_EVENT_LISTENER = (patchOptions && patchOptions.add) || ADD_EVENT_LISTENER_STR; - var REMOVE_EVENT_LISTENER = (patchOptions && patchOptions.rm) || REMOVE_EVENT_LISTENER_STR; - var LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.listeners) || 'eventListeners'; - var REMOVE_ALL_LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.rmAll) || 'removeAllListeners'; - var zoneSymbolAddEventListener = zoneSymbol(ADD_EVENT_LISTENER); - var ADD_EVENT_LISTENER_SOURCE = '.' + ADD_EVENT_LISTENER + ':'; - var PREPEND_EVENT_LISTENER = 'prependListener'; - var PREPEND_EVENT_LISTENER_SOURCE = '.' + PREPEND_EVENT_LISTENER + ':'; - var invokeTask = function (task, target, event) { - // for better performance, check isRemoved which is set - // by removeEventListener - if (task.isRemoved) { - return; - } - var delegate = task.callback; - if (typeof delegate === 'object' && delegate.handleEvent) { - // create the bind version of handleEvent when invoke - task.callback = function (event) { return delegate.handleEvent(event); }; - task.originalDelegate = delegate; - } - // invoke static task.invoke - task.invoke(task, target, [event]); - var options = task.options; - if (options && typeof options === 'object' && options.once) { - // if options.once is true, after invoke once remove listener here - // only browser need to do this, nodejs eventEmitter will cal removeListener - // inside EventEmitter.once - var delegate_1 = task.originalDelegate ? task.originalDelegate : task.callback; - target[REMOVE_EVENT_LISTENER].call(target, event.type, delegate_1, options); - } - }; - // global shared zoneAwareCallback to handle all event callback with capture = false - var globalZoneAwareCallback = function (event) { - // https://github.com/angular/zone.js/issues/911, in IE, sometimes - // event will be undefined, so we need to use window.event - event = event || _global.event; - if (!event) { - return; - } - // event.target is needed for Samsung TV and SourceBuffer - // || global is needed https://github.com/angular/zone.js/issues/190 - var target = this || event.target || _global; - var tasks = target[zoneSymbolEventNames$1[event.type][FALSE_STR]]; - if (tasks) { - // invoke all tasks which attached to current target with given event.type and capture = false - // for performance concern, if task.length === 1, just invoke - if (tasks.length === 1) { - invokeTask(tasks[0], target, event); - } - else { - // https://github.com/angular/zone.js/issues/836 - // copy the tasks array before invoke, to avoid - // the callback will remove itself or other listener - var copyTasks = tasks.slice(); - for (var i = 0; i < copyTasks.length; i++) { - if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) { - break; - } - invokeTask(copyTasks[i], target, event); - } - } - } - }; - // global shared zoneAwareCallback to handle all event callback with capture = true - var globalZoneAwareCaptureCallback = function (event) { - // https://github.com/angular/zone.js/issues/911, in IE, sometimes - // event will be undefined, so we need to use window.event - event = event || _global.event; - if (!event) { - return; - } - // event.target is needed for Samsung TV and SourceBuffer - // || global is needed https://github.com/angular/zone.js/issues/190 - var target = this || event.target || _global; - var tasks = target[zoneSymbolEventNames$1[event.type][TRUE_STR]]; - if (tasks) { - // invoke all tasks which attached to current target with given event.type and capture = false - // for performance concern, if task.length === 1, just invoke - if (tasks.length === 1) { - invokeTask(tasks[0], target, event); - } - else { - // https://github.com/angular/zone.js/issues/836 - // copy the tasks array before invoke, to avoid - // the callback will remove itself or other listener - var copyTasks = tasks.slice(); - for (var i = 0; i < copyTasks.length; i++) { - if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) { - break; - } - invokeTask(copyTasks[i], target, event); - } - } - } - }; - function patchEventTargetMethods(obj, patchOptions) { - if (!obj) { - return false; - } - var useGlobalCallback = true; - if (patchOptions && patchOptions.useG !== undefined) { - useGlobalCallback = patchOptions.useG; - } - var validateHandler = patchOptions && patchOptions.vh; - var checkDuplicate = true; - if (patchOptions && patchOptions.chkDup !== undefined) { - checkDuplicate = patchOptions.chkDup; - } - var returnTarget = false; - if (patchOptions && patchOptions.rt !== undefined) { - returnTarget = patchOptions.rt; - } - var proto = obj; - while (proto && !proto.hasOwnProperty(ADD_EVENT_LISTENER)) { - proto = ObjectGetPrototypeOf(proto); - } - if (!proto && obj[ADD_EVENT_LISTENER]) { - // somehow we did not find it, but we can see it. This happens on IE for Window properties. - proto = obj; - } - if (!proto) { - return false; - } - if (proto[zoneSymbolAddEventListener]) { - return false; - } - // a shared global taskData to pass data for scheduleEventTask - // so we do not need to create a new object just for pass some data - var taskData = {}; - var nativeAddEventListener = proto[zoneSymbolAddEventListener] = proto[ADD_EVENT_LISTENER]; - var nativeRemoveEventListener = proto[zoneSymbol(REMOVE_EVENT_LISTENER)] = - proto[REMOVE_EVENT_LISTENER]; - var nativeListeners = proto[zoneSymbol(LISTENERS_EVENT_LISTENER)] = - proto[LISTENERS_EVENT_LISTENER]; - var nativeRemoveAllListeners = proto[zoneSymbol(REMOVE_ALL_LISTENERS_EVENT_LISTENER)] = - proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER]; - var nativePrependEventListener; - if (patchOptions && patchOptions.prepend) { - nativePrependEventListener = proto[zoneSymbol(patchOptions.prepend)] = - proto[patchOptions.prepend]; - } - var customScheduleGlobal = function () { - // if there is already a task for the eventName + capture, - // just return, because we use the shared globalZoneAwareCallback here. - if (taskData.isExisting) { - return; - } - return nativeAddEventListener.call(taskData.target, taskData.eventName, taskData.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, taskData.options); - }; - var customCancelGlobal = function (task) { - // if task is not marked as isRemoved, this call is directly - // from Zone.prototype.cancelTask, we should remove the task - // from tasksList of target first - if (!task.isRemoved) { - var symbolEventNames = zoneSymbolEventNames$1[task.eventName]; - var symbolEventName = void 0; - if (symbolEventNames) { - symbolEventName = symbolEventNames[task.capture ? TRUE_STR : FALSE_STR]; - } - var existingTasks = symbolEventName && task.target[symbolEventName]; - if (existingTasks) { - for (var i = 0; i < existingTasks.length; i++) { - var existingTask = existingTasks[i]; - if (existingTask === task) { - existingTasks.splice(i, 1); - // set isRemoved to data for faster invokeTask check - task.isRemoved = true; - if (existingTasks.length === 0) { - // all tasks for the eventName + capture have gone, - // remove globalZoneAwareCallback and remove the task cache from target - task.allRemoved = true; - task.target[symbolEventName] = null; - } - break; - } - } - } - } - // if all tasks for the eventName + capture have gone, - // we will really remove the global event callback, - // if not, return - if (!task.allRemoved) { - return; - } - return nativeRemoveEventListener.call(task.target, task.eventName, task.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, task.options); - }; - var customScheduleNonGlobal = function (task) { - return nativeAddEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options); - }; - var customSchedulePrepend = function (task) { - return nativePrependEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options); - }; - var customCancelNonGlobal = function (task) { - return nativeRemoveEventListener.call(task.target, task.eventName, task.invoke, task.options); - }; - var customSchedule = useGlobalCallback ? customScheduleGlobal : customScheduleNonGlobal; - var customCancel = useGlobalCallback ? customCancelGlobal : customCancelNonGlobal; - var compareTaskCallbackVsDelegate = function (task, delegate) { - var typeOfDelegate = typeof delegate; - return (typeOfDelegate === 'function' && task.callback === delegate) || - (typeOfDelegate === 'object' && task.originalDelegate === delegate); - }; - var compare = (patchOptions && patchOptions.diff) ? patchOptions.diff : compareTaskCallbackVsDelegate; - var blackListedEvents = Zone[Zone.__symbol__('BLACK_LISTED_EVENTS')]; - var makeAddListener = function (nativeListener, addSource, customScheduleFn, customCancelFn, returnTarget, prepend) { - if (returnTarget === void 0) { returnTarget = false; } - if (prepend === void 0) { prepend = false; } - return function () { - var target = this || _global; - var delegate = arguments[1]; - if (!delegate) { - return nativeListener.apply(this, arguments); - } - // don't create the bind delegate function for handleEvent - // case here to improve addEventListener performance - // we will create the bind delegate when invoke - var isHandleEvent = false; - if (typeof delegate !== 'function') { - if (!delegate.handleEvent) { - return nativeListener.apply(this, arguments); - } - isHandleEvent = true; - } - if (validateHandler && !validateHandler(nativeListener, delegate, target, arguments)) { - return; - } - var eventName = arguments[0]; - var options = arguments[2]; - if (blackListedEvents) { - // check black list - for (var i = 0; i < blackListedEvents.length; i++) { - if (eventName === blackListedEvents[i]) { - return nativeListener.apply(this, arguments); - } - } - } - var capture; - var once = false; - if (options === undefined) { - capture = false; - } - else if (options === true) { - capture = true; - } - else if (options === false) { - capture = false; - } - else { - capture = options ? !!options.capture : false; - once = options ? !!options.once : false; - } - var zone = Zone.current; - var symbolEventNames = zoneSymbolEventNames$1[eventName]; - var symbolEventName; - if (!symbolEventNames) { - // the code is duplicate, but I just want to get some better performance - var falseEventName = eventName + FALSE_STR; - var trueEventName = eventName + TRUE_STR; - var symbol = ZONE_SYMBOL_PREFIX + falseEventName; - var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName; - zoneSymbolEventNames$1[eventName] = {}; - zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol; - zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture; - symbolEventName = capture ? symbolCapture : symbol; - } - else { - symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR]; - } - var existingTasks = target[symbolEventName]; - var isExisting = false; - if (existingTasks) { - // already have task registered - isExisting = true; - if (checkDuplicate) { - for (var i = 0; i < existingTasks.length; i++) { - if (compare(existingTasks[i], delegate)) { - // same callback, same capture, same event name, just return - return; - } - } - } - } - else { - existingTasks = target[symbolEventName] = []; - } - var source; - var constructorName = target.constructor['name']; - var targetSource = globalSources[constructorName]; - if (targetSource) { - source = targetSource[eventName]; - } - if (!source) { - source = constructorName + addSource + eventName; - } - // do not create a new object as task.data to pass those things - // just use the global shared one - taskData.options = options; - if (once) { - // if addEventListener with once options, we don't pass it to - // native addEventListener, instead we keep the once setting - // and handle ourselves. - taskData.options.once = false; - } - taskData.target = target; - taskData.capture = capture; - taskData.eventName = eventName; - taskData.isExisting = isExisting; - var data = useGlobalCallback ? OPTIMIZED_ZONE_EVENT_TASK_DATA : null; - // keep taskData into data to allow onScheduleEventTask to access the task information - if (data) { - data.taskData = taskData; - } - var task = zone.scheduleEventTask(source, delegate, data, customScheduleFn, customCancelFn); - // should clear taskData.target to avoid memory leak - // issue, https://github.com/angular/angular/issues/20442 - taskData.target = null; - // need to clear up taskData because it is a global object - if (data) { - data.taskData = null; - } - // have to save those information to task in case - // application may call task.zone.cancelTask() directly - if (once) { - options.once = true; - } - task.options = options; - task.target = target; - task.capture = capture; - task.eventName = eventName; - if (isHandleEvent) { - // save original delegate for compare to check duplicate - task.originalDelegate = delegate; - } - if (!prepend) { - existingTasks.push(task); - } - else { - existingTasks.unshift(task); - } - if (returnTarget) { - return target; - } - }; - }; - proto[ADD_EVENT_LISTENER] = makeAddListener(nativeAddEventListener, ADD_EVENT_LISTENER_SOURCE, customSchedule, customCancel, returnTarget); - if (nativePrependEventListener) { - proto[PREPEND_EVENT_LISTENER] = makeAddListener(nativePrependEventListener, PREPEND_EVENT_LISTENER_SOURCE, customSchedulePrepend, customCancel, returnTarget, true); - } - proto[REMOVE_EVENT_LISTENER] = function () { - var target = this || _global; - var eventName = arguments[0]; - var options = arguments[2]; - var capture; - if (options === undefined) { - capture = false; - } - else if (options === true) { - capture = true; - } - else if (options === false) { - capture = false; - } - else { - capture = options ? !!options.capture : false; - } - var delegate = arguments[1]; - if (!delegate) { - return nativeRemoveEventListener.apply(this, arguments); - } - if (validateHandler && - !validateHandler(nativeRemoveEventListener, delegate, target, arguments)) { - return; - } - var symbolEventNames = zoneSymbolEventNames$1[eventName]; - var symbolEventName; - if (symbolEventNames) { - symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR]; - } - var existingTasks = symbolEventName && target[symbolEventName]; - if (existingTasks) { - for (var i = 0; i < existingTasks.length; i++) { - var existingTask = existingTasks[i]; - if (compare(existingTask, delegate)) { - existingTasks.splice(i, 1); - // set isRemoved to data for faster invokeTask check - existingTask.isRemoved = true; - if (existingTasks.length === 0) { - // all tasks for the eventName + capture have gone, - // remove globalZoneAwareCallback and remove the task cache from target - existingTask.allRemoved = true; - target[symbolEventName] = null; - } - existingTask.zone.cancelTask(existingTask); - if (returnTarget) { - return target; - } - return; - } - } - } - // issue 930, didn't find the event name or callback - // from zone kept existingTasks, the callback maybe - // added outside of zone, we need to call native removeEventListener - // to try to remove it. - return nativeRemoveEventListener.apply(this, arguments); - }; - proto[LISTENERS_EVENT_LISTENER] = function () { - var target = this || _global; - var eventName = arguments[0]; - var listeners = []; - var tasks = findEventTasks(target, eventName); - for (var i = 0; i < tasks.length; i++) { - var task = tasks[i]; - var delegate = task.originalDelegate ? task.originalDelegate : task.callback; - listeners.push(delegate); - } - return listeners; - }; - proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER] = function () { - var target = this || _global; - var eventName = arguments[0]; - if (!eventName) { - var keys = Object.keys(target); - for (var i = 0; i < keys.length; i++) { - var prop = keys[i]; - var match = EVENT_NAME_SYMBOL_REGX.exec(prop); - var evtName = match && match[1]; - // in nodejs EventEmitter, removeListener event is - // used for monitoring the removeListener call, - // so just keep removeListener eventListener until - // all other eventListeners are removed - if (evtName && evtName !== 'removeListener') { - this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, evtName); - } - } - // remove removeListener listener finally - this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, 'removeListener'); - } - else { - var symbolEventNames = zoneSymbolEventNames$1[eventName]; - if (symbolEventNames) { - var symbolEventName = symbolEventNames[FALSE_STR]; - var symbolCaptureEventName = symbolEventNames[TRUE_STR]; - var tasks = target[symbolEventName]; - var captureTasks = target[symbolCaptureEventName]; - if (tasks) { - var removeTasks = tasks.slice(); - for (var i = 0; i < removeTasks.length; i++) { - var task = removeTasks[i]; - var delegate = task.originalDelegate ? task.originalDelegate : task.callback; - this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options); - } - } - if (captureTasks) { - var removeTasks = captureTasks.slice(); - for (var i = 0; i < removeTasks.length; i++) { - var task = removeTasks[i]; - var delegate = task.originalDelegate ? task.originalDelegate : task.callback; - this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options); - } - } - } - } - if (returnTarget) { - return this; - } - }; - // for native toString patch - attachOriginToPatched(proto[ADD_EVENT_LISTENER], nativeAddEventListener); - attachOriginToPatched(proto[REMOVE_EVENT_LISTENER], nativeRemoveEventListener); - if (nativeRemoveAllListeners) { - attachOriginToPatched(proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER], nativeRemoveAllListeners); - } - if (nativeListeners) { - attachOriginToPatched(proto[LISTENERS_EVENT_LISTENER], nativeListeners); - } - return true; - } - var results = []; - for (var i = 0; i < apis.length; i++) { - results[i] = patchEventTargetMethods(apis[i], patchOptions); - } - return results; -} -function findEventTasks(target, eventName) { - var foundTasks = []; - for (var prop in target) { - var match = EVENT_NAME_SYMBOL_REGX.exec(prop); - var evtName = match && match[1]; - if (evtName && (!eventName || evtName === eventName)) { - var tasks = target[prop]; - if (tasks) { - for (var i = 0; i < tasks.length; i++) { - foundTasks.push(tasks[i]); - } - } - } - } - return foundTasks; -} -function patchEventPrototype(global, api) { - var Event = global['Event']; - if (Event && Event.prototype) { - api.patchMethod(Event.prototype, 'stopImmediatePropagation', function (delegate) { return function (self, args) { - self[IMMEDIATE_PROPAGATION_SYMBOL] = true; - // we need to call the native stopImmediatePropagation - // in case in some hybrid application, some part of - // application will be controlled by zone, some are not - delegate && delegate.apply(self, args); - }; }); - } -} - -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @fileoverview - * @suppress {missingRequire} - */ -var taskSymbol = zoneSymbol('zoneTask'); -function patchTimer(window, setName, cancelName, nameSuffix) { - var setNative = null; - var clearNative = null; - setName += nameSuffix; - cancelName += nameSuffix; - var tasksByHandleId = {}; - function scheduleTask(task) { - var data = task.data; - function timer() { - try { - task.invoke.apply(this, arguments); - } - finally { - // issue-934, task will be cancelled - // even it is a periodic task such as - // setInterval - if (!(task.data && task.data.isPeriodic)) { - if (typeof data.handleId === 'number') { - // in non-nodejs env, we remove timerId - // from local cache - delete tasksByHandleId[data.handleId]; - } - else if (data.handleId) { - // Node returns complex objects as handleIds - // we remove task reference from timer object - data.handleId[taskSymbol] = null; - } - } - } - } - data.args[0] = timer; - data.handleId = setNative.apply(window, data.args); - return task; - } - function clearTask(task) { - return clearNative(task.data.handleId); - } - setNative = - patchMethod(window, setName, function (delegate) { return function (self, args) { - if (typeof args[0] === 'function') { - var options = { - handleId: null, - isPeriodic: nameSuffix === 'Interval', - delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 : null, - args: args - }; - var task = scheduleMacroTaskWithCurrentZone(setName, args[0], options, scheduleTask, clearTask); - if (!task) { - return task; - } - // Node.js must additionally support the ref and unref functions. - var handle = task.data.handleId; - if (typeof handle === 'number') { - // for non nodejs env, we save handleId: task - // mapping in local cache for clearTimeout - tasksByHandleId[handle] = task; - } - else if (handle) { - // for nodejs env, we save task - // reference in timerId Object for clearTimeout - handle[taskSymbol] = task; - } - // check whether handle is null, because some polyfill or browser - // may return undefined from setTimeout/setInterval/setImmediate/requestAnimationFrame - if (handle && handle.ref && handle.unref && typeof handle.ref === 'function' && - typeof handle.unref === 'function') { - task.ref = handle.ref.bind(handle); - task.unref = handle.unref.bind(handle); - } - if (typeof handle === 'number' || handle) { - return handle; - } - return task; - } - else { - // cause an error by calling it directly. - return delegate.apply(window, args); - } - }; }); - clearNative = - patchMethod(window, cancelName, function (delegate) { return function (self, args) { - var id = args[0]; - var task; - if (typeof id === 'number') { - // non nodejs env. - task = tasksByHandleId[id]; - } - else { - // nodejs env. - task = id && id[taskSymbol]; - // other environments. - if (!task) { - task = id; - } - } - if (task && typeof task.type === 'string') { - if (task.state !== 'notScheduled' && - (task.cancelFn && task.data.isPeriodic || task.runCount === 0)) { - if (typeof id === 'number') { - delete tasksByHandleId[id]; - } - else if (id) { - id[taskSymbol] = null; - } - // Do not cancel already canceled functions - task.zone.cancelTask(task); - } - } - else { - // cause an error by calling it directly. - delegate.apply(window, args); - } - }; }); -} - -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/* - * This is necessary for Chrome and Chrome mobile, to enable - * things like redefining `createdCallback` on an element. - */ -var _defineProperty = Object[zoneSymbol('defineProperty')] = Object.defineProperty; -var _getOwnPropertyDescriptor = Object[zoneSymbol('getOwnPropertyDescriptor')] = - Object.getOwnPropertyDescriptor; -var _create = Object.create; -var unconfigurablesKey = zoneSymbol('unconfigurables'); -function propertyPatch() { - Object.defineProperty = function (obj, prop, desc) { - if (isUnconfigurable(obj, prop)) { - throw new TypeError('Cannot assign to read only property \'' + prop + '\' of ' + obj); - } - var originalConfigurableFlag = desc.configurable; - if (prop !== 'prototype') { - desc = rewriteDescriptor(obj, prop, desc); - } - return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag); - }; - Object.defineProperties = function (obj, props) { - Object.keys(props).forEach(function (prop) { - Object.defineProperty(obj, prop, props[prop]); - }); - return obj; - }; - Object.create = function (obj, proto) { - if (typeof proto === 'object' && !Object.isFrozen(proto)) { - Object.keys(proto).forEach(function (prop) { - proto[prop] = rewriteDescriptor(obj, prop, proto[prop]); - }); - } - return _create(obj, proto); - }; - Object.getOwnPropertyDescriptor = function (obj, prop) { - var desc = _getOwnPropertyDescriptor(obj, prop); - if (isUnconfigurable(obj, prop)) { - desc.configurable = false; - } - return desc; - }; -} -function _redefineProperty(obj, prop, desc) { - var originalConfigurableFlag = desc.configurable; - desc = rewriteDescriptor(obj, prop, desc); - return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag); -} -function isUnconfigurable(obj, prop) { - return obj && obj[unconfigurablesKey] && obj[unconfigurablesKey][prop]; -} -function rewriteDescriptor(obj, prop, desc) { - // issue-927, if the desc is frozen, don't try to change the desc - if (!Object.isFrozen(desc)) { - desc.configurable = true; - } - if (!desc.configurable) { - // issue-927, if the obj is frozen, don't try to set the desc to obj - if (!obj[unconfigurablesKey] && !Object.isFrozen(obj)) { - _defineProperty(obj, unconfigurablesKey, { writable: true, value: {} }); - } - if (obj[unconfigurablesKey]) { - obj[unconfigurablesKey][prop] = true; - } - } - return desc; -} -function _tryDefineProperty(obj, prop, desc, originalConfigurableFlag) { - try { - return _defineProperty(obj, prop, desc); - } - catch (error) { - if (desc.configurable) { - // In case of errors, when the configurable flag was likely set by rewriteDescriptor(), let's - // retry with the original flag value - if (typeof originalConfigurableFlag == 'undefined') { - delete desc.configurable; - } - else { - desc.configurable = originalConfigurableFlag; - } - try { - return _defineProperty(obj, prop, desc); - } - catch (error) { - var descJson = null; - try { - descJson = JSON.stringify(desc); - } - catch (error) { - descJson = desc.toString(); - } - console.log("Attempting to configure '" + prop + "' with descriptor '" + descJson + "' on object '" + obj + "' and got error, giving up: " + error); - } - } - else { - throw error; - } - } -} - -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -// we have to patch the instance since the proto is non-configurable -function apply(api, _global) { - var WS = _global.WebSocket; - // On Safari window.EventTarget doesn't exist so need to patch WS add/removeEventListener - // On older Chrome, no need since EventTarget was already patched - if (!_global.EventTarget) { - patchEventTarget(_global, [WS.prototype]); - } - _global.WebSocket = function (x, y) { - var socket = arguments.length > 1 ? new WS(x, y) : new WS(x); - var proxySocket; - var proxySocketProto; - // Safari 7.0 has non-configurable own 'onmessage' and friends properties on the socket instance - var onmessageDesc = ObjectGetOwnPropertyDescriptor(socket, 'onmessage'); - if (onmessageDesc && onmessageDesc.configurable === false) { - proxySocket = ObjectCreate(socket); - // socket have own property descriptor 'onopen', 'onmessage', 'onclose', 'onerror' - // but proxySocket not, so we will keep socket as prototype and pass it to - // patchOnProperties method - proxySocketProto = socket; - [ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR, 'send', 'close'].forEach(function (propName) { - proxySocket[propName] = function () { - var args = ArraySlice.call(arguments); - if (propName === ADD_EVENT_LISTENER_STR || propName === REMOVE_EVENT_LISTENER_STR) { - var eventName = args.length > 0 ? args[0] : undefined; - if (eventName) { - var propertySymbol = Zone.__symbol__('ON_PROPERTY' + eventName); - socket[propertySymbol] = proxySocket[propertySymbol]; - } - } - return socket[propName].apply(socket, args); - }; - }); - } - else { - // we can patch the real socket - proxySocket = socket; - } - patchOnProperties(proxySocket, ['close', 'error', 'message', 'open'], proxySocketProto); - return proxySocket; - }; - var globalWebSocket = _global['WebSocket']; - for (var prop in WS) { - globalWebSocket[prop] = WS[prop]; - } -} - -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @fileoverview - * @suppress {globalThis} - */ -var globalEventHandlersEventNames = [ - 'abort', - 'animationcancel', - 'animationend', - 'animationiteration', - 'auxclick', - 'beforeinput', - 'blur', - 'cancel', - 'canplay', - 'canplaythrough', - 'change', - 'compositionstart', - 'compositionupdate', - 'compositionend', - 'cuechange', - 'click', - 'close', - 'contextmenu', - 'curechange', - 'dblclick', - 'drag', - 'dragend', - 'dragenter', - 'dragexit', - 'dragleave', - 'dragover', - 'drop', - 'durationchange', - 'emptied', - 'ended', - 'error', - 'focus', - 'focusin', - 'focusout', - 'gotpointercapture', - 'input', - 'invalid', - 'keydown', - 'keypress', - 'keyup', - 'load', - 'loadstart', - 'loadeddata', - 'loadedmetadata', - 'lostpointercapture', - 'mousedown', - 'mouseenter', - 'mouseleave', - 'mousemove', - 'mouseout', - 'mouseover', - 'mouseup', - 'mousewheel', - 'orientationchange', - 'pause', - 'play', - 'playing', - 'pointercancel', - 'pointerdown', - 'pointerenter', - 'pointerleave', - 'pointerlockchange', - 'mozpointerlockchange', - 'webkitpointerlockerchange', - 'pointerlockerror', - 'mozpointerlockerror', - 'webkitpointerlockerror', - 'pointermove', - 'pointout', - 'pointerover', - 'pointerup', - 'progress', - 'ratechange', - 'reset', - 'resize', - 'scroll', - 'seeked', - 'seeking', - 'select', - 'selectionchange', - 'selectstart', - 'show', - 'sort', - 'stalled', - 'submit', - 'suspend', - 'timeupdate', - 'volumechange', - 'touchcancel', - 'touchmove', - 'touchstart', - 'touchend', - 'transitioncancel', - 'transitionend', - 'waiting', - 'wheel' -]; -var documentEventNames = [ - 'afterscriptexecute', 'beforescriptexecute', 'DOMContentLoaded', 'fullscreenchange', - 'mozfullscreenchange', 'webkitfullscreenchange', 'msfullscreenchange', 'fullscreenerror', - 'mozfullscreenerror', 'webkitfullscreenerror', 'msfullscreenerror', 'readystatechange', - 'visibilitychange' -]; -var windowEventNames = [ - 'absolutedeviceorientation', - 'afterinput', - 'afterprint', - 'appinstalled', - 'beforeinstallprompt', - 'beforeprint', - 'beforeunload', - 'devicelight', - 'devicemotion', - 'deviceorientation', - 'deviceorientationabsolute', - 'deviceproximity', - 'hashchange', - 'languagechange', - 'message', - 'mozbeforepaint', - 'offline', - 'online', - 'paint', - 'pageshow', - 'pagehide', - 'popstate', - 'rejectionhandled', - 'storage', - 'unhandledrejection', - 'unload', - 'userproximity', - 'vrdisplyconnected', - 'vrdisplaydisconnected', - 'vrdisplaypresentchange' -]; -var htmlElementEventNames = [ - 'beforecopy', 'beforecut', 'beforepaste', 'copy', 'cut', 'paste', 'dragstart', 'loadend', - 'animationstart', 'search', 'transitionrun', 'transitionstart', 'webkitanimationend', - 'webkitanimationiteration', 'webkitanimationstart', 'webkittransitionend' -]; -var mediaElementEventNames = ['encrypted', 'waitingforkey', 'msneedkey', 'mozinterruptbegin', 'mozinterruptend']; -var ieElementEventNames = [ - 'activate', - 'afterupdate', - 'ariarequest', - 'beforeactivate', - 'beforedeactivate', - 'beforeeditfocus', - 'beforeupdate', - 'cellchange', - 'controlselect', - 'dataavailable', - 'datasetchanged', - 'datasetcomplete', - 'errorupdate', - 'filterchange', - 'layoutcomplete', - 'losecapture', - 'move', - 'moveend', - 'movestart', - 'propertychange', - 'resizeend', - 'resizestart', - 'rowenter', - 'rowexit', - 'rowsdelete', - 'rowsinserted', - 'command', - 'compassneedscalibration', - 'deactivate', - 'help', - 'mscontentzoom', - 'msmanipulationstatechanged', - 'msgesturechange', - 'msgesturedoubletap', - 'msgestureend', - 'msgesturehold', - 'msgesturestart', - 'msgesturetap', - 'msgotpointercapture', - 'msinertiastart', - 'mslostpointercapture', - 'mspointercancel', - 'mspointerdown', - 'mspointerenter', - 'mspointerhover', - 'mspointerleave', - 'mspointermove', - 'mspointerout', - 'mspointerover', - 'mspointerup', - 'pointerout', - 'mssitemodejumplistitemremoved', - 'msthumbnailclick', - 'stop', - 'storagecommit' -]; -var webglEventNames = ['webglcontextrestored', 'webglcontextlost', 'webglcontextcreationerror']; -var formEventNames = ['autocomplete', 'autocompleteerror']; -var detailEventNames = ['toggle']; -var frameEventNames = ['load']; -var frameSetEventNames = ['blur', 'error', 'focus', 'load', 'resize', 'scroll', 'messageerror']; -var marqueeEventNames = ['bounce', 'finish', 'start']; -var XMLHttpRequestEventNames = [ - 'loadstart', 'progress', 'abort', 'error', 'load', 'progress', 'timeout', 'loadend', - 'readystatechange' -]; -var IDBIndexEventNames = ['upgradeneeded', 'complete', 'abort', 'success', 'error', 'blocked', 'versionchange', 'close']; -var websocketEventNames = ['close', 'error', 'open', 'message']; -var workerEventNames = ['error', 'message']; -var eventNames = globalEventHandlersEventNames.concat(webglEventNames, formEventNames, detailEventNames, documentEventNames, windowEventNames, htmlElementEventNames, ieElementEventNames); -function filterProperties(target, onProperties, ignoreProperties) { - if (!ignoreProperties) { - return onProperties; - } - var tip = ignoreProperties.filter(function (ip) { return ip.target === target; }); - if (!tip || tip.length === 0) { - return onProperties; - } - var targetIgnoreProperties = tip[0].ignoreProperties; - return onProperties.filter(function (op) { return targetIgnoreProperties.indexOf(op) === -1; }); -} -function patchFilteredProperties(target, onProperties, ignoreProperties, prototype) { - // check whether target is available, sometimes target will be undefined - // because different browser or some 3rd party plugin. - if (!target) { - return; - } - var filteredProperties = filterProperties(target, onProperties, ignoreProperties); - patchOnProperties(target, filteredProperties, prototype); -} -function propertyDescriptorPatch(api, _global) { - if (isNode && !isMix) { - return; - } - var supportsWebSocket = typeof WebSocket !== 'undefined'; - if (canPatchViaPropertyDescriptor()) { - var ignoreProperties = _global.__Zone_ignore_on_properties; - // for browsers that we can patch the descriptor: Chrome & Firefox - if (isBrowser) { - var internalWindow = window; - // in IE/Edge, onProp not exist in window object, but in WindowPrototype - // so we need to pass WindowPrototype to check onProp exist or not - patchFilteredProperties(internalWindow, eventNames.concat(['messageerror']), ignoreProperties, ObjectGetPrototypeOf(internalWindow)); - patchFilteredProperties(Document.prototype, eventNames, ignoreProperties); - if (typeof internalWindow['SVGElement'] !== 'undefined') { - patchFilteredProperties(internalWindow['SVGElement'].prototype, eventNames, ignoreProperties); - } - patchFilteredProperties(Element.prototype, eventNames, ignoreProperties); - patchFilteredProperties(HTMLElement.prototype, eventNames, ignoreProperties); - patchFilteredProperties(HTMLMediaElement.prototype, mediaElementEventNames, ignoreProperties); - patchFilteredProperties(HTMLFrameSetElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties); - patchFilteredProperties(HTMLBodyElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties); - patchFilteredProperties(HTMLFrameElement.prototype, frameEventNames, ignoreProperties); - patchFilteredProperties(HTMLIFrameElement.prototype, frameEventNames, ignoreProperties); - var HTMLMarqueeElement_1 = internalWindow['HTMLMarqueeElement']; - if (HTMLMarqueeElement_1) { - patchFilteredProperties(HTMLMarqueeElement_1.prototype, marqueeEventNames, ignoreProperties); - } - var Worker_1 = internalWindow['Worker']; - if (Worker_1) { - patchFilteredProperties(Worker_1.prototype, workerEventNames, ignoreProperties); - } - } - patchFilteredProperties(XMLHttpRequest.prototype, XMLHttpRequestEventNames, ignoreProperties); - var XMLHttpRequestEventTarget = _global['XMLHttpRequestEventTarget']; - if (XMLHttpRequestEventTarget) { - patchFilteredProperties(XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype, XMLHttpRequestEventNames, ignoreProperties); - } - if (typeof IDBIndex !== 'undefined') { - patchFilteredProperties(IDBIndex.prototype, IDBIndexEventNames, ignoreProperties); - patchFilteredProperties(IDBRequest.prototype, IDBIndexEventNames, ignoreProperties); - patchFilteredProperties(IDBOpenDBRequest.prototype, IDBIndexEventNames, ignoreProperties); - patchFilteredProperties(IDBDatabase.prototype, IDBIndexEventNames, ignoreProperties); - patchFilteredProperties(IDBTransaction.prototype, IDBIndexEventNames, ignoreProperties); - patchFilteredProperties(IDBCursor.prototype, IDBIndexEventNames, ignoreProperties); - } - if (supportsWebSocket) { - patchFilteredProperties(WebSocket.prototype, websocketEventNames, ignoreProperties); - } - } - else { - // Safari, Android browsers (Jelly Bean) - patchViaCapturingAllTheEvents(); - patchClass('XMLHttpRequest'); - if (supportsWebSocket) { - apply(api, _global); - } - } -} -function canPatchViaPropertyDescriptor() { - if ((isBrowser || isMix) && !ObjectGetOwnPropertyDescriptor(HTMLElement.prototype, 'onclick') && - typeof Element !== 'undefined') { - // WebKit https://bugs.webkit.org/show_bug.cgi?id=134364 - // IDL interface attributes are not configurable - var desc = ObjectGetOwnPropertyDescriptor(Element.prototype, 'onclick'); - if (desc && !desc.configurable) - return false; - } - var ON_READY_STATE_CHANGE = 'onreadystatechange'; - var XMLHttpRequestPrototype = XMLHttpRequest.prototype; - var xhrDesc = ObjectGetOwnPropertyDescriptor(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE); - // add enumerable and configurable here because in opera - // by default XMLHttpRequest.prototype.onreadystatechange is undefined - // without adding enumerable and configurable will cause onreadystatechange - // non-configurable - // and if XMLHttpRequest.prototype.onreadystatechange is undefined, - // we should set a real desc instead a fake one - if (xhrDesc) { - ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, { - enumerable: true, - configurable: true, - get: function () { - return true; - } - }); - var req = new XMLHttpRequest(); - var result = !!req.onreadystatechange; - // restore original desc - ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, xhrDesc || {}); - return result; - } - else { - var SYMBOL_FAKE_ONREADYSTATECHANGE_1 = zoneSymbol('fake'); - ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, { - enumerable: true, - configurable: true, - get: function () { - return this[SYMBOL_FAKE_ONREADYSTATECHANGE_1]; - }, - set: function (value) { - this[SYMBOL_FAKE_ONREADYSTATECHANGE_1] = value; - } - }); - var req = new XMLHttpRequest(); - var detectFunc = function () { }; - req.onreadystatechange = detectFunc; - var result = req[SYMBOL_FAKE_ONREADYSTATECHANGE_1] === detectFunc; - req.onreadystatechange = null; - return result; - } -} -var unboundKey = zoneSymbol('unbound'); -// Whenever any eventListener fires, we check the eventListener target and all parents -// for `onwhatever` properties and replace them with zone-bound functions -// - Chrome (for now) -function patchViaCapturingAllTheEvents() { - var _loop_1 = function (i) { - var property = eventNames[i]; - var onproperty = 'on' + property; - self.addEventListener(property, function (event) { - var elt = event.target, bound, source; - if (elt) { - source = elt.constructor['name'] + '.' + onproperty; - } - else { - source = 'unknown.' + onproperty; - } - while (elt) { - if (elt[onproperty] && !elt[onproperty][unboundKey]) { - bound = wrapWithCurrentZone(elt[onproperty], source); - bound[unboundKey] = elt[onproperty]; - elt[onproperty] = bound; - } - elt = elt.parentElement; - } - }, true); - }; - for (var i = 0; i < eventNames.length; i++) { - _loop_1(i); - } -} - -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -function eventTargetPatch(_global, api) { - var WTF_ISSUE_555 = 'Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video'; - var NO_EVENT_TARGET = 'ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket' - .split(','); - var EVENT_TARGET = 'EventTarget'; - var apis = []; - var isWtf = _global['wtf']; - var WTF_ISSUE_555_ARRAY = WTF_ISSUE_555.split(','); - if (isWtf) { - // Workaround for: https://github.com/google/tracing-framework/issues/555 - apis = WTF_ISSUE_555_ARRAY.map(function (v) { return 'HTML' + v + 'Element'; }).concat(NO_EVENT_TARGET); - } - else if (_global[EVENT_TARGET]) { - apis.push(EVENT_TARGET); - } - else { - // Note: EventTarget is not available in all browsers, - // if it's not available, we instead patch the APIs in the IDL that inherit from EventTarget - apis = NO_EVENT_TARGET; - } - var isDisableIECheck = _global['__Zone_disable_IE_check'] || false; - var isEnableCrossContextCheck = _global['__Zone_enable_cross_context_check'] || false; - var ieOrEdge = isIEOrEdge(); - var ADD_EVENT_LISTENER_SOURCE = '.addEventListener:'; - var FUNCTION_WRAPPER = '[object FunctionWrapper]'; - var BROWSER_TOOLS = 'function __BROWSERTOOLS_CONSOLE_SAFEFUNC() { [native code] }'; - // predefine all __zone_symbol__ + eventName + true/false string - for (var i = 0; i < eventNames.length; i++) { - var eventName = eventNames[i]; - var falseEventName = eventName + FALSE_STR; - var trueEventName = eventName + TRUE_STR; - var symbol = ZONE_SYMBOL_PREFIX + falseEventName; - var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName; - zoneSymbolEventNames$1[eventName] = {}; - zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol; - zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture; - } - // predefine all task.source string - for (var i = 0; i < WTF_ISSUE_555.length; i++) { - var target = WTF_ISSUE_555_ARRAY[i]; - var targets = globalSources[target] = {}; - for (var j = 0; j < eventNames.length; j++) { - var eventName = eventNames[j]; - targets[eventName] = target + ADD_EVENT_LISTENER_SOURCE + eventName; - } - } - var checkIEAndCrossContext = function (nativeDelegate, delegate, target, args) { - if (!isDisableIECheck && ieOrEdge) { - if (isEnableCrossContextCheck) { - try { - var testString = delegate.toString(); - if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) { - nativeDelegate.apply(target, args); - return false; - } - } - catch (error) { - nativeDelegate.apply(target, args); - return false; - } - } - else { - var testString = delegate.toString(); - if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) { - nativeDelegate.apply(target, args); - return false; - } - } - } - else if (isEnableCrossContextCheck) { - try { - delegate.toString(); - } - catch (error) { - nativeDelegate.apply(target, args); - return false; - } - } - return true; - }; - var apiTypes = []; - for (var i = 0; i < apis.length; i++) { - var type = _global[apis[i]]; - apiTypes.push(type && type.prototype); - } - // vh is validateHandler to check event handler - // is valid or not(for security check) - patchEventTarget(_global, apiTypes, { vh: checkIEAndCrossContext }); - api.patchEventTarget = patchEventTarget; - return true; -} -function patchEvent(global, api) { - patchEventPrototype(global, api); -} - -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -function registerElementPatch(_global) { - if ((!isBrowser && !isMix) || !('registerElement' in _global.document)) { - return; - } - var _registerElement = document.registerElement; - var callbacks = ['createdCallback', 'attachedCallback', 'detachedCallback', 'attributeChangedCallback']; - document.registerElement = function (name, opts) { - if (opts && opts.prototype) { - callbacks.forEach(function (callback) { - var source = 'Document.registerElement::' + callback; - var prototype = opts.prototype; - if (prototype.hasOwnProperty(callback)) { - var descriptor = ObjectGetOwnPropertyDescriptor(prototype, callback); - if (descriptor && descriptor.value) { - descriptor.value = wrapWithCurrentZone(descriptor.value, source); - _redefineProperty(opts.prototype, callback, descriptor); - } - else { - prototype[callback] = wrapWithCurrentZone(prototype[callback], source); - } - } - else if (prototype[callback]) { - prototype[callback] = wrapWithCurrentZone(prototype[callback], source); - } - }); - } - return _registerElement.call(document, name, opts); - }; - attachOriginToPatched(document.registerElement, _registerElement); -} - -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @fileoverview - * @suppress {missingRequire} - */ -Zone.__load_patch('util', function (global, Zone, api) { - api.patchOnProperties = patchOnProperties; - api.patchMethod = patchMethod; - api.bindArguments = bindArguments; -}); -Zone.__load_patch('timers', function (global) { - var set = 'set'; - var clear = 'clear'; - patchTimer(global, set, clear, 'Timeout'); - patchTimer(global, set, clear, 'Interval'); - patchTimer(global, set, clear, 'Immediate'); -}); -Zone.__load_patch('requestAnimationFrame', function (global) { - patchTimer(global, 'request', 'cancel', 'AnimationFrame'); - patchTimer(global, 'mozRequest', 'mozCancel', 'AnimationFrame'); - patchTimer(global, 'webkitRequest', 'webkitCancel', 'AnimationFrame'); -}); -Zone.__load_patch('blocking', function (global, Zone) { - var blockingMethods = ['alert', 'prompt', 'confirm']; - for (var i = 0; i < blockingMethods.length; i++) { - var name_1 = blockingMethods[i]; - patchMethod(global, name_1, function (delegate, symbol, name) { - return function (s, args) { - return Zone.current.run(delegate, global, args, name); - }; - }); - } -}); -Zone.__load_patch('EventTarget', function (global, Zone, api) { - // load blackListEvents from global - var SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS'); - if (global[SYMBOL_BLACK_LISTED_EVENTS]) { - Zone[SYMBOL_BLACK_LISTED_EVENTS] = global[SYMBOL_BLACK_LISTED_EVENTS]; - } - patchEvent(global, api); - eventTargetPatch(global, api); - // patch XMLHttpRequestEventTarget's addEventListener/removeEventListener - var XMLHttpRequestEventTarget = global['XMLHttpRequestEventTarget']; - if (XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype) { - api.patchEventTarget(global, [XMLHttpRequestEventTarget.prototype]); - } - patchClass('MutationObserver'); - patchClass('WebKitMutationObserver'); - patchClass('IntersectionObserver'); - patchClass('FileReader'); -}); -Zone.__load_patch('on_property', function (global, Zone, api) { - propertyDescriptorPatch(api, global); - propertyPatch(); - registerElementPatch(global); -}); -Zone.__load_patch('canvas', function (global) { - var HTMLCanvasElement = global['HTMLCanvasElement']; - if (typeof HTMLCanvasElement !== 'undefined' && HTMLCanvasElement.prototype && - HTMLCanvasElement.prototype.toBlob) { - patchMacroTask(HTMLCanvasElement.prototype, 'toBlob', function (self, args) { - return { name: 'HTMLCanvasElement.toBlob', target: self, cbIdx: 0, args: args }; - }); - } -}); -Zone.__load_patch('XHR', function (global, Zone) { - // Treat XMLHttpRequest as a macrotask. - patchXHR(global); - var XHR_TASK = zoneSymbol('xhrTask'); - var XHR_SYNC = zoneSymbol('xhrSync'); - var XHR_LISTENER = zoneSymbol('xhrListener'); - var XHR_SCHEDULED = zoneSymbol('xhrScheduled'); - var XHR_URL = zoneSymbol('xhrURL'); - function patchXHR(window) { - var XMLHttpRequestPrototype = XMLHttpRequest.prototype; - function findPendingTask(target) { - return target[XHR_TASK]; - } - var oriAddListener = XMLHttpRequestPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER]; - var oriRemoveListener = XMLHttpRequestPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER]; - if (!oriAddListener) { - var XMLHttpRequestEventTarget = window['XMLHttpRequestEventTarget']; - if (XMLHttpRequestEventTarget) { - var XMLHttpRequestEventTargetPrototype = XMLHttpRequestEventTarget.prototype; - oriAddListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER]; - oriRemoveListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER]; - } - } - var READY_STATE_CHANGE = 'readystatechange'; - var SCHEDULED = 'scheduled'; - function scheduleTask(task) { - XMLHttpRequest[XHR_SCHEDULED] = false; - var data = task.data; - var target = data.target; - // remove existing event listener - var listener = target[XHR_LISTENER]; - if (!oriAddListener) { - oriAddListener = target[ZONE_SYMBOL_ADD_EVENT_LISTENER]; - oriRemoveListener = target[ZONE_SYMBOL_REMOVE_EVENT_LISTENER]; - } - if (listener) { - oriRemoveListener.call(target, READY_STATE_CHANGE, listener); - } - var newListener = target[XHR_LISTENER] = function () { - if (target.readyState === target.DONE) { - // sometimes on some browsers XMLHttpRequest will fire onreadystatechange with - // readyState=4 multiple times, so we need to check task state here - if (!data.aborted && XMLHttpRequest[XHR_SCHEDULED] && task.state === SCHEDULED) { - task.invoke(); - } - } - }; - oriAddListener.call(target, READY_STATE_CHANGE, newListener); - var storedTask = target[XHR_TASK]; - if (!storedTask) { - target[XHR_TASK] = task; - } - sendNative.apply(target, data.args); - XMLHttpRequest[XHR_SCHEDULED] = true; - return task; - } - function placeholderCallback() { } - function clearTask(task) { - var data = task.data; - // Note - ideally, we would call data.target.removeEventListener here, but it's too late - // to prevent it from firing. So instead, we store info for the event listener. - data.aborted = true; - return abortNative.apply(data.target, data.args); - } - var openNative = patchMethod(XMLHttpRequestPrototype, 'open', function () { return function (self, args) { - self[XHR_SYNC] = args[2] == false; - self[XHR_URL] = args[1]; - return openNative.apply(self, args); - }; }); - var XMLHTTPREQUEST_SOURCE = 'XMLHttpRequest.send'; - var sendNative = patchMethod(XMLHttpRequestPrototype, 'send', function () { return function (self, args) { - if (self[XHR_SYNC]) { - // if the XHR is sync there is no task to schedule, just execute the code. - return sendNative.apply(self, args); - } - else { - var options = { - target: self, - url: self[XHR_URL], - isPeriodic: false, - delay: null, - args: args, - aborted: false - }; - return scheduleMacroTaskWithCurrentZone(XMLHTTPREQUEST_SOURCE, placeholderCallback, options, scheduleTask, clearTask); - } - }; }); - var abortNative = patchMethod(XMLHttpRequestPrototype, 'abort', function () { return function (self) { - var task = findPendingTask(self); - if (task && typeof task.type == 'string') { - // If the XHR has already completed, do nothing. - // If the XHR has already been aborted, do nothing. - // Fix #569, call abort multiple times before done will cause - // macroTask task count be negative number - if (task.cancelFn == null || (task.data && task.data.aborted)) { - return; - } - task.zone.cancelTask(task); - } - // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no - // task - // to cancel. Do nothing. - }; }); - } -}); -Zone.__load_patch('geolocation', function (global) { - /// GEO_LOCATION - if (global['navigator'] && global['navigator'].geolocation) { - patchPrototype(global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']); - } -}); -Zone.__load_patch('PromiseRejectionEvent', function (global, Zone) { - // handle unhandled promise rejection - function findPromiseRejectionHandler(evtName) { - return function (e) { - var eventTasks = findEventTasks(global, evtName); - eventTasks.forEach(function (eventTask) { - // windows has added unhandledrejection event listener - // trigger the event listener - var PromiseRejectionEvent = global['PromiseRejectionEvent']; - if (PromiseRejectionEvent) { - var evt = new PromiseRejectionEvent(evtName, { promise: e.promise, reason: e.rejection }); - eventTask.invoke(evt); - } - }); - }; - } - if (global['PromiseRejectionEvent']) { - Zone[zoneSymbol('unhandledPromiseRejectionHandler')] = - findPromiseRejectionHandler('unhandledrejection'); - Zone[zoneSymbol('rejectionHandledHandler')] = - findPromiseRejectionHandler('rejectionhandled'); - } -}); - -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -}))); - - -/***/ }), - -/***/ "./src/polyfills.ts": -/*!**************************!*\ - !*** ./src/polyfills.ts ***! - \**************************/ -/*! no exports provided */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var core_js_es7_reflect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/es7/reflect */ "./node_modules/core-js/es7/reflect.js"); -/* harmony import */ var core_js_es7_reflect__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_es7_reflect__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var zone_js_dist_zone__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zone.js/dist/zone */ "./node_modules/zone.js/dist/zone.js"); -/* harmony import */ var zone_js_dist_zone__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(zone_js_dist_zone__WEBPACK_IMPORTED_MODULE_1__); -/** - * This file includes polyfills needed by Angular and is loaded before the app. - * You can add your own extra polyfills to this file. - * - * This file is divided into 2 sections: - * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. - * 2. Application imports. Files imported after ZoneJS that should be loaded before your main - * file. - * - * The current setup is for so-called "evergreen" browsers; the last versions of browsers that - * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera), - * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile. - * - * Learn more in https://angular.io/docs/ts/latest/guide/browser-support.html - */ -/*************************************************************************************************** - * BROWSER POLYFILLS - */ -/** IE9, IE10 and IE11 requires all of the following polyfills. **/ -// import 'core-js/es6/symbol'; -// import 'core-js/es6/object'; -// import 'core-js/es6/function'; -// import 'core-js/es6/parse-int'; -// import 'core-js/es6/parse-float'; -// import 'core-js/es6/number'; -// import 'core-js/es6/math'; -// import 'core-js/es6/string'; -// import 'core-js/es6/date'; -// import 'core-js/es6/array'; -// import 'core-js/es6/regexp'; -// import 'core-js/es6/map'; -// import 'core-js/es6/weak-map'; -// import 'core-js/es6/set'; -/** IE10 and IE11 requires the following for NgClass support on SVG elements */ -// import 'classlist.js'; // Run `npm install --save classlist.js`. -/** IE10 and IE11 requires the following for the Reflect API. */ -// import 'core-js/es6/reflect'; -/** Evergreen browsers require these. **/ -// Used for reflect-metadata in JIT. If you use AOT (and only Angular decorators), you can remove. - -/** - * Web Animations `@angular/platform-browser/animations` - * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari. - * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0). - **/ -// import 'web-animations-js'; // Run `npm install --save web-animations-js`. -/** - * By default, zone.js will patch all possible macroTask and DomEvents - * user can disable parts of macroTask/DomEvents patch by setting following flags - */ -// (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame -// (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick -// (window as any).__zone_symbol__BLACK_LISTED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames -/* -* in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js -* with the following flag, it will bypass `zone.js` patch for IE/Edge -*/ -// (window as any).__Zone_enable_cross_context_check = true; -/*************************************************************************************************** - * Zone JS is required by default for Angular itself. - */ - // Included with Angular CLI. -/*************************************************************************************************** - * APPLICATION IMPORTS - */ - - -/***/ }), - -/***/ 1: -/*!********************************!*\ - !*** multi ./src/polyfills.ts ***! - \********************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -module.exports = __webpack_require__(/*! /media/john/4tb/home/mvogel/yadacoin/plugins/explorer/src/polyfills.ts */"./src/polyfills.ts"); - - -/***/ }) - -},[[1,"runtime"]]]); -//# sourceMappingURL=polyfills.js.map \ No newline at end of file +"use strict";(self.webpackChunkexplorer=self.webpackChunkexplorer||[]).push([[429],{332:()=>{!function(e){const n=e.performance;function i(L){n&&n.mark&&n.mark(L)}function o(L,T){n&&n.measure&&n.measure(L,T)}i("Zone");const c=e.__Zone_symbol_prefix||"__zone_symbol__";function a(L){return c+L}const y=!0===e[a("forceDuplicateZoneCheck")];if(e.Zone){if(y||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}let d=(()=>{class L{static#e=this.__symbol__=a;static assertZonePatched(){if(e.Promise!==oe.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let t=L.current;for(;t.parent;)t=t.parent;return t}static get current(){return U.zone}static get currentTask(){return re}static __load_patch(t,r,k=!1){if(oe.hasOwnProperty(t)){if(!k&&y)throw Error("Already loaded patch: "+t)}else if(!e["__Zone_disable_"+t]){const C="Zone:"+t;i(C),oe[t]=r(e,L,z),o(C,C)}}get parent(){return this._parent}get name(){return this._name}constructor(t,r){this._parent=t,this._name=r?r.name||"unnamed":"",this._properties=r&&r.properties||{},this._zoneDelegate=new v(this,this._parent&&this._parent._zoneDelegate,r)}get(t){const r=this.getZoneWith(t);if(r)return r._properties[t]}getZoneWith(t){let r=this;for(;r;){if(r._properties.hasOwnProperty(t))return r;r=r._parent}return null}fork(t){if(!t)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,t)}wrap(t,r){if("function"!=typeof t)throw new Error("Expecting function got: "+t);const k=this._zoneDelegate.intercept(this,t,r),C=this;return function(){return C.runGuarded(k,this,arguments,r)}}run(t,r,k,C){U={parent:U,zone:this};try{return this._zoneDelegate.invoke(this,t,r,k,C)}finally{U=U.parent}}runGuarded(t,r=null,k,C){U={parent:U,zone:this};try{try{return this._zoneDelegate.invoke(this,t,r,k,C)}catch($){if(this._zoneDelegate.handleError(this,$))throw $}}finally{U=U.parent}}runTask(t,r,k){if(t.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(t.zone||J).name+"; Execution: "+this.name+")");if(t.state===x&&(t.type===Q||t.type===P))return;const C=t.state!=E;C&&t._transitionTo(E,A),t.runCount++;const $=re;re=t,U={parent:U,zone:this};try{t.type==P&&t.data&&!t.data.isPeriodic&&(t.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,t,r,k)}catch(l){if(this._zoneDelegate.handleError(this,l))throw l}}finally{t.state!==x&&t.state!==h&&(t.type==Q||t.data&&t.data.isPeriodic?C&&t._transitionTo(A,E):(t.runCount=0,this._updateTaskCount(t,-1),C&&t._transitionTo(x,E,x))),U=U.parent,re=$}}scheduleTask(t){if(t.zone&&t.zone!==this){let k=this;for(;k;){if(k===t.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${t.zone.name}`);k=k.parent}}t._transitionTo(X,x);const r=[];t._zoneDelegates=r,t._zone=this;try{t=this._zoneDelegate.scheduleTask(this,t)}catch(k){throw t._transitionTo(h,X,x),this._zoneDelegate.handleError(this,k),k}return t._zoneDelegates===r&&this._updateTaskCount(t,1),t.state==X&&t._transitionTo(A,X),t}scheduleMicroTask(t,r,k,C){return this.scheduleTask(new p(I,t,r,k,C,void 0))}scheduleMacroTask(t,r,k,C,$){return this.scheduleTask(new p(P,t,r,k,C,$))}scheduleEventTask(t,r,k,C,$){return this.scheduleTask(new p(Q,t,r,k,C,$))}cancelTask(t){if(t.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(t.zone||J).name+"; Execution: "+this.name+")");if(t.state===A||t.state===E){t._transitionTo(G,A,E);try{this._zoneDelegate.cancelTask(this,t)}catch(r){throw t._transitionTo(h,G),this._zoneDelegate.handleError(this,r),r}return this._updateTaskCount(t,-1),t._transitionTo(x,G),t.runCount=0,t}}_updateTaskCount(t,r){const k=t._zoneDelegates;-1==r&&(t._zoneDelegates=null);for(let C=0;CL.hasTask(t,r),onScheduleTask:(L,T,t,r)=>L.scheduleTask(t,r),onInvokeTask:(L,T,t,r,k,C)=>L.invokeTask(t,r,k,C),onCancelTask:(L,T,t,r)=>L.cancelTask(t,r)};class v{constructor(T,t,r){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=T,this._parentDelegate=t,this._forkZS=r&&(r&&r.onFork?r:t._forkZS),this._forkDlgt=r&&(r.onFork?t:t._forkDlgt),this._forkCurrZone=r&&(r.onFork?this.zone:t._forkCurrZone),this._interceptZS=r&&(r.onIntercept?r:t._interceptZS),this._interceptDlgt=r&&(r.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=r&&(r.onIntercept?this.zone:t._interceptCurrZone),this._invokeZS=r&&(r.onInvoke?r:t._invokeZS),this._invokeDlgt=r&&(r.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=r&&(r.onInvoke?this.zone:t._invokeCurrZone),this._handleErrorZS=r&&(r.onHandleError?r:t._handleErrorZS),this._handleErrorDlgt=r&&(r.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=r&&(r.onHandleError?this.zone:t._handleErrorCurrZone),this._scheduleTaskZS=r&&(r.onScheduleTask?r:t._scheduleTaskZS),this._scheduleTaskDlgt=r&&(r.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=r&&(r.onScheduleTask?this.zone:t._scheduleTaskCurrZone),this._invokeTaskZS=r&&(r.onInvokeTask?r:t._invokeTaskZS),this._invokeTaskDlgt=r&&(r.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=r&&(r.onInvokeTask?this.zone:t._invokeTaskCurrZone),this._cancelTaskZS=r&&(r.onCancelTask?r:t._cancelTaskZS),this._cancelTaskDlgt=r&&(r.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=r&&(r.onCancelTask?this.zone:t._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const k=r&&r.onHasTask;(k||t&&t._hasTaskZS)&&(this._hasTaskZS=k?r:b,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=T,r.onScheduleTask||(this._scheduleTaskZS=b,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),r.onInvokeTask||(this._invokeTaskZS=b,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),r.onCancelTask||(this._cancelTaskZS=b,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}fork(T,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,T,t):new d(T,t)}intercept(T,t,r){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,T,t,r):t}invoke(T,t,r,k,C){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,T,t,r,k,C):t.apply(r,k)}handleError(T,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,T,t)}scheduleTask(T,t){let r=t;if(this._scheduleTaskZS)this._hasTaskZS&&r._zoneDelegates.push(this._hasTaskDlgtOwner),r=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,T,t),r||(r=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=I)throw new Error("Task is missing scheduleFn.");R(t)}return r}invokeTask(T,t,r,k){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,T,t,r,k):t.callback.apply(r,k)}cancelTask(T,t){let r;if(this._cancelTaskZS)r=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,T,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");r=t.cancelFn(t)}return r}hasTask(T,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,T,t)}catch(r){this.handleError(T,r)}}_updateTaskCount(T,t){const r=this._taskCounts,k=r[T],C=r[T]=k+t;if(C<0)throw new Error("More tasks executed then were scheduled.");0!=k&&0!=C||this.hasTask(this.zone,{microTask:r.microTask>0,macroTask:r.macroTask>0,eventTask:r.eventTask>0,change:T})}}class p{constructor(T,t,r,k,C,$){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=T,this.source=t,this.data=k,this.scheduleFn=C,this.cancelFn=$,!r)throw new Error("callback is not defined");this.callback=r;const l=this;this.invoke=T===Q&&k&&k.useG?p.invokeTask:function(){return p.invokeTask.call(e,l,this,arguments)}}static invokeTask(T,t,r){T||(T=this),ee++;try{return T.runCount++,T.zone.runTask(T,t,r)}finally{1==ee&&_(),ee--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(x,X)}_transitionTo(T,t,r){if(this._state!==t&&this._state!==r)throw new Error(`${this.type} '${this.source}': can not transition to '${T}', expecting state '${t}'${r?" or '"+r+"'":""}, was '${this._state}'.`);this._state=T,T==x&&(this._zoneDelegates=null)}toString(){return this.data&&typeof this.data.handleId<"u"?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const M=a("setTimeout"),O=a("Promise"),N=a("then");let K,B=[],H=!1;function q(L){if(K||e[O]&&(K=e[O].resolve(0)),K){let T=K[N];T||(T=K.then),T.call(K,L)}else e[M](L,0)}function R(L){0===ee&&0===B.length&&q(_),L&&B.push(L)}function _(){if(!H){for(H=!0;B.length;){const L=B;B=[];for(let T=0;TU,onUnhandledError:W,microtaskDrainDone:W,scheduleMicroTask:R,showUncaughtError:()=>!d[a("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:W,patchMethod:()=>W,bindArguments:()=>[],patchThen:()=>W,patchMacroTask:()=>W,patchEventPrototype:()=>W,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>W,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>W,wrapWithCurrentZone:()=>W,filterProperties:()=>[],attachOriginToPatched:()=>W,_redefineProperty:()=>W,patchCallbacks:()=>W,nativeScheduleMicroTask:q};let U={parent:null,zone:new d(null,null)},re=null,ee=0;function W(){}o("Zone","Zone"),e.Zone=d}(typeof window<"u"&&window||typeof self<"u"&&self||global);const ue=Object.getOwnPropertyDescriptor,pe=Object.defineProperty,ve=Object.getPrototypeOf,Se=Object.create,it=Array.prototype.slice,Ze="addEventListener",De="removeEventListener",Oe=Zone.__symbol__(Ze),Ne=Zone.__symbol__(De),ie="true",ce="false",me=Zone.__symbol__("");function Ie(e,n){return Zone.current.wrap(e,n)}function Me(e,n,i,o,c){return Zone.current.scheduleMacroTask(e,n,i,o,c)}const j=Zone.__symbol__,be=typeof window<"u",_e=be?window:void 0,Y=be&&_e||"object"==typeof self&&self||global,ct="removeAttribute";function Le(e,n){for(let i=e.length-1;i>=0;i--)"function"==typeof e[i]&&(e[i]=Ie(e[i],n+"_"+i));return e}function Ve(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&typeof e.set>"u")}const Fe=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,Pe=!("nw"in Y)&&typeof Y.process<"u"&&"[object process]"==={}.toString.call(Y.process),Ae=!Pe&&!Fe&&!(!be||!_e.HTMLElement),Be=typeof Y.process<"u"&&"[object process]"==={}.toString.call(Y.process)&&!Fe&&!(!be||!_e.HTMLElement),we={},Ue=function(e){if(!(e=e||Y.event))return;let n=we[e.type];n||(n=we[e.type]=j("ON_PROPERTY"+e.type));const i=this||e.target||Y,o=i[n];let c;return Ae&&i===_e&&"error"===e.type?(c=o&&o.call(this,e.message,e.filename,e.lineno,e.colno,e.error),!0===c&&e.preventDefault()):(c=o&&o.apply(this,arguments),null!=c&&!c&&e.preventDefault()),c};function We(e,n,i){let o=ue(e,n);if(!o&&i&&ue(i,n)&&(o={enumerable:!0,configurable:!0}),!o||!o.configurable)return;const c=j("on"+n+"patched");if(e.hasOwnProperty(c)&&e[c])return;delete o.writable,delete o.value;const a=o.get,y=o.set,d=n.slice(2);let b=we[d];b||(b=we[d]=j("ON_PROPERTY"+d)),o.set=function(v){let p=this;!p&&e===Y&&(p=Y),p&&("function"==typeof p[b]&&p.removeEventListener(d,Ue),y&&y.call(p,null),p[b]=v,"function"==typeof v&&p.addEventListener(d,Ue,!1))},o.get=function(){let v=this;if(!v&&e===Y&&(v=Y),!v)return null;const p=v[b];if(p)return p;if(a){let M=a.call(this);if(M)return o.set.call(this,M),"function"==typeof v[ct]&&v.removeAttribute(n),M}return null},pe(e,n,o),e[c]=!0}function qe(e,n,i){if(n)for(let o=0;ofunction(y,d){const b=i(y,d);return b.cbIdx>=0&&"function"==typeof d[b.cbIdx]?Me(b.name,d[b.cbIdx],b,c):a.apply(y,d)})}function le(e,n){e[j("OriginalDelegate")]=n}let Xe=!1,je=!1;function ft(){if(Xe)return je;Xe=!0;try{const e=_e.navigator.userAgent;(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/")||-1!==e.indexOf("Edge/"))&&(je=!0)}catch{}return je}Zone.__load_patch("ZoneAwarePromise",(e,n,i)=>{const o=Object.getOwnPropertyDescriptor,c=Object.defineProperty,y=i.symbol,d=[],b=!0===e[y("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],v=y("Promise"),p=y("then"),M="__creationTrace__";i.onUnhandledError=l=>{if(i.showUncaughtError()){const u=l&&l.rejection;u?console.error("Unhandled Promise rejection:",u instanceof Error?u.message:u,"; Zone:",l.zone.name,"; Task:",l.task&&l.task.source,"; Value:",u,u instanceof Error?u.stack:void 0):console.error(l)}},i.microtaskDrainDone=()=>{for(;d.length;){const l=d.shift();try{l.zone.runGuarded(()=>{throw l.throwOriginal?l.rejection:l})}catch(u){N(u)}}};const O=y("unhandledPromiseRejectionHandler");function N(l){i.onUnhandledError(l);try{const u=n[O];"function"==typeof u&&u.call(this,l)}catch{}}function B(l){return l&&l.then}function H(l){return l}function K(l){return t.reject(l)}const q=y("state"),R=y("value"),_=y("finally"),J=y("parentPromiseValue"),x=y("parentPromiseState"),X="Promise.then",A=null,E=!0,G=!1,h=0;function I(l,u){return s=>{try{z(l,u,s)}catch(f){z(l,!1,f)}}}const P=function(){let l=!1;return function(s){return function(){l||(l=!0,s.apply(null,arguments))}}},Q="Promise resolved with itself",oe=y("currentTaskTrace");function z(l,u,s){const f=P();if(l===s)throw new TypeError(Q);if(l[q]===A){let g=null;try{("object"==typeof s||"function"==typeof s)&&(g=s&&s.then)}catch(w){return f(()=>{z(l,!1,w)})(),l}if(u!==G&&s instanceof t&&s.hasOwnProperty(q)&&s.hasOwnProperty(R)&&s[q]!==A)re(s),z(l,s[q],s[R]);else if(u!==G&&"function"==typeof g)try{g.call(s,f(I(l,u)),f(I(l,!1)))}catch(w){f(()=>{z(l,!1,w)})()}else{l[q]=u;const w=l[R];if(l[R]=s,l[_]===_&&u===E&&(l[q]=l[x],l[R]=l[J]),u===G&&s instanceof Error){const m=n.currentTask&&n.currentTask.data&&n.currentTask.data[M];m&&c(s,oe,{configurable:!0,enumerable:!1,writable:!0,value:m})}for(let m=0;m{try{const S=l[R],Z=!!s&&_===s[_];Z&&(s[J]=S,s[x]=w);const D=u.run(m,void 0,Z&&m!==K&&m!==H?[]:[S]);z(s,!0,D)}catch(S){z(s,!1,S)}},s)}const L=function(){},T=e.AggregateError;class t{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(u){return z(new this(null),E,u)}static reject(u){return z(new this(null),G,u)}static any(u){if(!u||"function"!=typeof u[Symbol.iterator])return Promise.reject(new T([],"All promises were rejected"));const s=[];let f=0;try{for(let m of u)f++,s.push(t.resolve(m))}catch{return Promise.reject(new T([],"All promises were rejected"))}if(0===f)return Promise.reject(new T([],"All promises were rejected"));let g=!1;const w=[];return new t((m,S)=>{for(let Z=0;Z{g||(g=!0,m(D))},D=>{w.push(D),f--,0===f&&(g=!0,S(new T(w,"All promises were rejected")))})})}static race(u){let s,f,g=new this((S,Z)=>{s=S,f=Z});function w(S){s(S)}function m(S){f(S)}for(let S of u)B(S)||(S=this.resolve(S)),S.then(w,m);return g}static all(u){return t.allWithCallback(u)}static allSettled(u){return(this&&this.prototype instanceof t?this:t).allWithCallback(u,{thenCallback:f=>({status:"fulfilled",value:f}),errorCallback:f=>({status:"rejected",reason:f})})}static allWithCallback(u,s){let f,g,w=new this((D,V)=>{f=D,g=V}),m=2,S=0;const Z=[];for(let D of u){B(D)||(D=this.resolve(D));const V=S;try{D.then(F=>{Z[V]=s?s.thenCallback(F):F,m--,0===m&&f(Z)},F=>{s?(Z[V]=s.errorCallback(F),m--,0===m&&f(Z)):g(F)})}catch(F){g(F)}m++,S++}return m-=2,0===m&&f(Z),w}constructor(u){const s=this;if(!(s instanceof t))throw new Error("Must be an instanceof Promise.");s[q]=A,s[R]=[];try{const f=P();u&&u(f(I(s,E)),f(I(s,G)))}catch(f){z(s,!1,f)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return t}then(u,s){let f=this.constructor?.[Symbol.species];(!f||"function"!=typeof f)&&(f=this.constructor||t);const g=new f(L),w=n.current;return this[q]==A?this[R].push(w,g,u,s):ee(this,w,g,u,s),g}catch(u){return this.then(null,u)}finally(u){let s=this.constructor?.[Symbol.species];(!s||"function"!=typeof s)&&(s=t);const f=new s(L);f[_]=_;const g=n.current;return this[q]==A?this[R].push(g,f,u,u):ee(this,g,f,u,u),f}}t.resolve=t.resolve,t.reject=t.reject,t.race=t.race,t.all=t.all;const r=e[v]=e.Promise;e.Promise=t;const k=y("thenPatched");function C(l){const u=l.prototype,s=o(u,"then");if(s&&(!1===s.writable||!s.configurable))return;const f=u.then;u[p]=f,l.prototype.then=function(g,w){return new t((S,Z)=>{f.call(this,S,Z)}).then(g,w)},l[k]=!0}return i.patchThen=C,r&&(C(r),ae(e,"fetch",l=>function $(l){return function(u,s){let f=l.apply(u,s);if(f instanceof t)return f;let g=f.constructor;return g[k]||C(g),f}}(l))),Promise[n.__symbol__("uncaughtPromiseErrors")]=d,t}),Zone.__load_patch("toString",e=>{const n=Function.prototype.toString,i=j("OriginalDelegate"),o=j("Promise"),c=j("Error"),a=function(){if("function"==typeof this){const v=this[i];if(v)return"function"==typeof v?n.call(v):Object.prototype.toString.call(v);if(this===Promise){const p=e[o];if(p)return n.call(p)}if(this===Error){const p=e[c];if(p)return n.call(p)}}return n.call(this)};a[i]=n,Function.prototype.toString=a;const y=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":y.call(this)}});let Ee=!1;if(typeof window<"u")try{const e=Object.defineProperty({},"passive",{get:function(){Ee=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch{Ee=!1}const ht={useG:!0},te={},ze={},Ye=new RegExp("^"+me+"(\\w+)(true|false)$"),$e=j("propagationStopped");function Je(e,n){const i=(n?n(e):e)+ce,o=(n?n(e):e)+ie,c=me+i,a=me+o;te[e]={},te[e][ce]=c,te[e][ie]=a}function dt(e,n,i,o){const c=o&&o.add||Ze,a=o&&o.rm||De,y=o&&o.listeners||"eventListeners",d=o&&o.rmAll||"removeAllListeners",b=j(c),v="."+c+":",p="prependListener",M="."+p+":",O=function(R,_,J){if(R.isRemoved)return;const x=R.callback;let X;"object"==typeof x&&x.handleEvent&&(R.callback=E=>x.handleEvent(E),R.originalDelegate=x);try{R.invoke(R,_,[J])}catch(E){X=E}const A=R.options;return A&&"object"==typeof A&&A.once&&_[a].call(_,J.type,R.originalDelegate?R.originalDelegate:R.callback,A),X};function N(R,_,J){if(!(_=_||e.event))return;const x=R||_.target||e,X=x[te[_.type][J?ie:ce]];if(X){const A=[];if(1===X.length){const E=O(X[0],x,_);E&&A.push(E)}else{const E=X.slice();for(let G=0;G{throw G})}}}const B=function(R){return N(this,R,!1)},H=function(R){return N(this,R,!0)};function K(R,_){if(!R)return!1;let J=!0;_&&void 0!==_.useG&&(J=_.useG);const x=_&&_.vh;let X=!0;_&&void 0!==_.chkDup&&(X=_.chkDup);let A=!1;_&&void 0!==_.rt&&(A=_.rt);let E=R;for(;E&&!E.hasOwnProperty(c);)E=ve(E);if(!E&&R[c]&&(E=R),!E||E[b])return!1;const G=_&&_.eventNameToString,h={},I=E[b]=E[c],P=E[j(a)]=E[a],Q=E[j(y)]=E[y],oe=E[j(d)]=E[d];let z;_&&_.prepend&&(z=E[j(_.prepend)]=E[_.prepend]);const t=J?function(s){if(!h.isExisting)return I.call(h.target,h.eventName,h.capture?H:B,h.options)}:function(s){return I.call(h.target,h.eventName,s.invoke,h.options)},r=J?function(s){if(!s.isRemoved){const f=te[s.eventName];let g;f&&(g=f[s.capture?ie:ce]);const w=g&&s.target[g];if(w)for(let m=0;mfunction(c,a){c[$e]=!0,o&&o.apply(c,a)})}function Et(e,n,i,o,c){const a=Zone.__symbol__(o);if(n[a])return;const y=n[a]=n[o];n[o]=function(d,b,v){return b&&b.prototype&&c.forEach(function(p){const M=`${i}.${o}::`+p,O=b.prototype;try{if(O.hasOwnProperty(p)){const N=e.ObjectGetOwnPropertyDescriptor(O,p);N&&N.value?(N.value=e.wrapWithCurrentZone(N.value,M),e._redefineProperty(b.prototype,p,N)):O[p]&&(O[p]=e.wrapWithCurrentZone(O[p],M))}else O[p]&&(O[p]=e.wrapWithCurrentZone(O[p],M))}catch{}}),y.call(n,d,b,v)},e.attachOriginToPatched(n[o],y)}function Qe(e,n,i){if(!i||0===i.length)return n;const o=i.filter(a=>a.target===e);if(!o||0===o.length)return n;const c=o[0].ignoreProperties;return n.filter(a=>-1===c.indexOf(a))}function et(e,n,i,o){e&&qe(e,Qe(e,n,i),o)}function He(e){return Object.getOwnPropertyNames(e).filter(n=>n.startsWith("on")&&n.length>2).map(n=>n.substring(2))}Zone.__load_patch("util",(e,n,i)=>{const o=He(e);i.patchOnProperties=qe,i.patchMethod=ae,i.bindArguments=Le,i.patchMacroTask=lt;const c=n.__symbol__("BLACK_LISTED_EVENTS"),a=n.__symbol__("UNPATCHED_EVENTS");e[a]&&(e[c]=e[a]),e[c]&&(n[c]=n[a]=e[c]),i.patchEventPrototype=_t,i.patchEventTarget=dt,i.isIEOrEdge=ft,i.ObjectDefineProperty=pe,i.ObjectGetOwnPropertyDescriptor=ue,i.ObjectCreate=Se,i.ArraySlice=it,i.patchClass=ge,i.wrapWithCurrentZone=Ie,i.filterProperties=Qe,i.attachOriginToPatched=le,i._redefineProperty=Object.defineProperty,i.patchCallbacks=Et,i.getGlobalObjects=()=>({globalSources:ze,zoneSymbolEventNames:te,eventNames:o,isBrowser:Ae,isMix:Be,isNode:Pe,TRUE_STR:ie,FALSE_STR:ce,ZONE_SYMBOL_PREFIX:me,ADD_EVENT_LISTENER_STR:Ze,REMOVE_EVENT_LISTENER_STR:De})});const Re=j("zoneTask");function Te(e,n,i,o){let c=null,a=null;i+=o;const y={};function d(v){const p=v.data;return p.args[0]=function(){return v.invoke.apply(this,arguments)},p.handleId=c.apply(e,p.args),v}function b(v){return a.call(e,v.data.handleId)}c=ae(e,n+=o,v=>function(p,M){if("function"==typeof M[0]){const O={isPeriodic:"Interval"===o,delay:"Timeout"===o||"Interval"===o?M[1]||0:void 0,args:M},N=M[0];M[0]=function(){try{return N.apply(this,arguments)}finally{O.isPeriodic||("number"==typeof O.handleId?delete y[O.handleId]:O.handleId&&(O.handleId[Re]=null))}};const B=Me(n,M[0],O,d,b);if(!B)return B;const H=B.data.handleId;return"number"==typeof H?y[H]=B:H&&(H[Re]=B),H&&H.ref&&H.unref&&"function"==typeof H.ref&&"function"==typeof H.unref&&(B.ref=H.ref.bind(H),B.unref=H.unref.bind(H)),"number"==typeof H||H?H:B}return v.apply(e,M)}),a=ae(e,i,v=>function(p,M){const O=M[0];let N;"number"==typeof O?N=y[O]:(N=O&&O[Re],N||(N=O)),N&&"string"==typeof N.type?"notScheduled"!==N.state&&(N.cancelFn&&N.data.isPeriodic||0===N.runCount)&&("number"==typeof O?delete y[O]:O&&(O[Re]=null),N.zone.cancelTask(N)):v.apply(e,M)})}Zone.__load_patch("legacy",e=>{const n=e[Zone.__symbol__("legacyPatch")];n&&n()}),Zone.__load_patch("timers",e=>{const n="set",i="clear";Te(e,n,i,"Timeout"),Te(e,n,i,"Interval"),Te(e,n,i,"Immediate")}),Zone.__load_patch("requestAnimationFrame",e=>{Te(e,"request","cancel","AnimationFrame"),Te(e,"mozRequest","mozCancel","AnimationFrame"),Te(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(e,n)=>{const i=["alert","prompt","confirm"];for(let o=0;ofunction(b,v){return n.current.run(a,e,v,d)})}),Zone.__load_patch("EventTarget",(e,n,i)=>{(function gt(e,n){n.patchEventPrototype(e,n)})(e,i),function mt(e,n){if(Zone[n.symbol("patchEventTarget")])return;const{eventNames:i,zoneSymbolEventNames:o,TRUE_STR:c,FALSE_STR:a,ZONE_SYMBOL_PREFIX:y}=n.getGlobalObjects();for(let b=0;b{ge("MutationObserver"),ge("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(e,n,i)=>{ge("IntersectionObserver")}),Zone.__load_patch("FileReader",(e,n,i)=>{ge("FileReader")}),Zone.__load_patch("on_property",(e,n,i)=>{!function Tt(e,n){if(Pe&&!Be||Zone[e.symbol("patchEvents")])return;const i=n.__Zone_ignore_on_properties;let o=[];if(Ae){const c=window;o=o.concat(["Document","SVGElement","Element","HTMLElement","HTMLBodyElement","HTMLMediaElement","HTMLFrameSetElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement","Worker"]);const a=function ut(){try{const e=_e.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch{}return!1}()?[{target:c,ignoreProperties:["error"]}]:[];et(c,He(c),i&&i.concat(a),ve(c))}o=o.concat(["XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","WebSocket"]);for(let c=0;c{!function pt(e,n){const{isBrowser:i,isMix:o}=n.getGlobalObjects();(i||o)&&e.customElements&&"customElements"in e&&n.patchCallbacks(n,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(e,i)}),Zone.__load_patch("XHR",(e,n)=>{!function b(v){const p=v.XMLHttpRequest;if(!p)return;const M=p.prototype;let N=M[Oe],B=M[Ne];if(!N){const h=v.XMLHttpRequestEventTarget;if(h){const I=h.prototype;N=I[Oe],B=I[Ne]}}const H="readystatechange",K="scheduled";function q(h){const I=h.data,P=I.target;P[a]=!1,P[d]=!1;const Q=P[c];N||(N=P[Oe],B=P[Ne]),Q&&B.call(P,H,Q);const oe=P[c]=()=>{if(P.readyState===P.DONE)if(!I.aborted&&P[a]&&h.state===K){const U=P[n.__symbol__("loadfalse")];if(0!==P.status&&U&&U.length>0){const re=h.invoke;h.invoke=function(){const ee=P[n.__symbol__("loadfalse")];for(let W=0;Wfunction(h,I){return h[o]=0==I[2],h[y]=I[1],J.apply(h,I)}),X=j("fetchTaskAborting"),A=j("fetchTaskScheduling"),E=ae(M,"send",()=>function(h,I){if(!0===n.current[A]||h[o])return E.apply(h,I);{const P={target:h,url:h[y],isPeriodic:!1,args:I,aborted:!1},Q=Me("XMLHttpRequest.send",R,P,q,_);h&&!0===h[d]&&!P.aborted&&Q.state===K&&Q.invoke()}}),G=ae(M,"abort",()=>function(h,I){const P=function O(h){return h[i]}(h);if(P&&"string"==typeof P.type){if(null==P.cancelFn||P.data&&P.data.aborted)return;P.zone.cancelTask(P)}else if(!0===n.current[X])return G.apply(h,I)})}(e);const i=j("xhrTask"),o=j("xhrSync"),c=j("xhrListener"),a=j("xhrScheduled"),y=j("xhrURL"),d=j("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",e=>{e.navigator&&e.navigator.geolocation&&function at(e,n){const i=e.constructor.name;for(let o=0;o{const b=function(){return d.apply(this,Le(arguments,i+"."+c))};return le(b,d),b})(a)}}}(e.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(e,n)=>{function i(o){return function(c){Ke(e,o).forEach(y=>{const d=e.PromiseRejectionEvent;if(d){const b=new d(o,{promise:c.promise,reason:c.rejection});y.invoke(b)}})}}e.PromiseRejectionEvent&&(n[j("unhandledPromiseRejectionHandler")]=i("unhandledrejection"),n[j("rejectionHandledHandler")]=i("rejectionhandled"))}),Zone.__load_patch("queueMicrotask",(e,n,i)=>{!function yt(e,n){n.patchMethod(e,"queueMicrotask",i=>function(o,c){Zone.current.scheduleMicroTask("queueMicrotask",c[0])})}(e,i)})}},ue=>{ue(ue.s=332)}]); \ No newline at end of file diff --git a/static/explorer/runtime.js b/static/explorer/runtime.js index d2c03a56..c3049b18 100644 --- a/static/explorer/runtime.js +++ b/static/explorer/runtime.js @@ -1,137 +1 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // install a JSONP callback for chunk loading -/******/ function webpackJsonpCallback(data) { -/******/ var chunkIds = data[0]; -/******/ var moreModules = data[1]; -/******/ var executeModules = data[2]; -/******/ // add "moreModules" to the modules object, -/******/ // then flag all "chunkIds" as loaded and fire callback -/******/ var moduleId, chunkId, i = 0, resolves = []; -/******/ for(;i < chunkIds.length; i++) { -/******/ chunkId = chunkIds[i]; -/******/ if(installedChunks[chunkId]) { -/******/ resolves.push(installedChunks[chunkId][0]); -/******/ } -/******/ installedChunks[chunkId] = 0; -/******/ } -/******/ for(moduleId in moreModules) { -/******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) { -/******/ modules[moduleId] = moreModules[moduleId]; -/******/ } -/******/ } -/******/ if(parentJsonpFunction) parentJsonpFunction(data); -/******/ while(resolves.length) { -/******/ resolves.shift()(); -/******/ } -/******/ -/******/ // add entry modules from loaded chunk to deferred list -/******/ deferredModules.push.apply(deferredModules, executeModules || []); -/******/ -/******/ // run deferred modules when all chunks ready -/******/ return checkDeferredModules(); -/******/ }; -/******/ function checkDeferredModules() { -/******/ var result; -/******/ for(var i = 0; i < deferredModules.length; i++) { -/******/ var deferredModule = deferredModules[i]; -/******/ var fulfilled = true; -/******/ for(var j = 1; j < deferredModule.length; j++) { -/******/ var depId = deferredModule[j]; -/******/ if(installedChunks[depId] !== 0) fulfilled = false; -/******/ } -/******/ if(fulfilled) { -/******/ deferredModules.splice(i--, 1); -/******/ result = __webpack_require__(__webpack_require__.s = deferredModule[0]); -/******/ } -/******/ } -/******/ return result; -/******/ } -/******/ -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // object to store loaded and loading chunks -/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched -/******/ // Promise = chunk loading, 0 = chunk loaded -/******/ var installedChunks = { -/******/ "runtime": 0 -/******/ }; -/******/ -/******/ var deferredModules = []; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ var jsonpArray = window["webpackJsonp"] = window["webpackJsonp"] || []; -/******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray); -/******/ jsonpArray.push = webpackJsonpCallback; -/******/ jsonpArray = jsonpArray.slice(); -/******/ for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]); -/******/ var parentJsonpFunction = oldJsonpFunction; -/******/ -/******/ -/******/ // run deferred modules from other chunks -/******/ checkDeferredModules(); -/******/ }) -/************************************************************************/ -/******/ ([]); -//# sourceMappingURL=runtime.js.map \ No newline at end of file +(()=>{"use strict";var e,i={},p={};function n(e){var f=p[e];if(void 0!==f)return f.exports;var r=p[e]={exports:{}};return i[e](r,r.exports,n),r.exports}n.m=i,e=[],n.O=(f,r,u,l)=>{if(!r){var c=1/0;for(a=0;a=l)&&Object.keys(n.O).every(h=>n.O[h](r[o]))?r.splice(o--,1):(t=!1,l0&&e[a-1][2]>l;a--)e[a]=e[a-1];e[a]=[r,u,l]},n.o=(e,f)=>Object.prototype.hasOwnProperty.call(e,f),(()=>{var e={666:0};n.O.j=u=>0===e[u];var f=(u,l)=>{var o,s,[a,c,t]=l,v=0;if(a.some(d=>0!==e[d])){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);if(t)var _=t(n)}for(u&&u(l);v - + +
          - - - - - - + + Explorer + + +
          - - + + + + + diff --git a/yadacoin/http/explorer.py b/yadacoin/http/explorer.py index b421bc0b..5e7c92d9 100644 --- a/yadacoin/http/explorer.py +++ b/yadacoin/http/explorer.py @@ -54,7 +54,6 @@ async def get(self): mixpanel="explorer page", ) - class ExplorerSearchHandler(BaseHandler): async def get_wallet_balance(self, term): re.search(r"[A-Fa-f0-9]+", term).group(0) @@ -63,18 +62,31 @@ async def get_wallet_balance(self, term): ) if res: balance = await self.config.BU.get_wallet_balance(term) + blocks = await self.config.mongo.async_db.blocks.find( + {"transactions.outputs.to": term}, + {"_id": 0, "index": 1, "time": 1, "hash": 1, "transactions": 1}, + ).sort("index", -1).limit(25).to_list(length=25) + + result = [ + { + "index": block["index"], + "time": block["time"], + "hash": block["hash"], + "transactions": [ + txn + for txn in block.get("transactions", []) + if any(output.get("to") == term for output in txn.get("outputs", [])) + ], + } + for block in blocks + ] + return self.render_as_json( { "balance": "{0:.8f}".format(balance), "resultType": "txn_outputs_to", - "result": [ - changetime(x) - async for x in self.config.mongo.async_db.blocks.find( - {"transactions.outputs.to": term}, {"_id": 0} - ) - .sort("index", -1) - .limit(10) - ], + "searchedId": term, + "result": result, } ) @@ -187,22 +199,49 @@ async def get(self): try: re.search(r"[A-Fa-f0-9]{64}", term).group(0) - res = await self.config.mongo.async_db.blocks.count_documents( - {"transactions.hash": term} - ) - if res: - return self.render_as_json( + + transactions = await self.config.mongo.async_db.blocks.aggregate( + [ { - "resultType": "txn_hash", - "result": [ - changetime(x) - async for x in self.config.mongo.async_db.blocks.find( - {"transactions.hash": term}, {"_id": 0} - ) - ], + "$match": { + "transactions.hash": term, + } + }, + { + "$unwind": "$transactions" + }, + { + "$match": { + "transactions.hash": term + } + }, + { + "$group": { + "_id": None, + "transactions": { + "$push": "$transactions" + } + } + }, + { + "$project": { + "_id": 0, + "transactions": 1 + } } - ) - except: + ] + ).to_list(None) + + return self.render_as_json( + { + "resultType": "txn_hash", + "searchedHash": term, + "result": transactions[0]["transactions"], + } + ) + + except Exception as e: + print(f"Error processing transaction hash: {e}") pass try: @@ -236,28 +275,37 @@ async def get(self): } ) if res: + transactions = [] + async for block in self.config.mongo.async_db.blocks.find( + { + "$or": [ + {"transactions.id": term.replace(" ", "+")}, + {"transactions.inputs.id": term.replace(" ", "+")}, + ] + }, + {"_id": 0, "transactions": 1}, + ): + if isinstance(block.get("transactions"), list): + for transaction in block.get("transactions"): + if transaction.get("id") == term.replace(" ", "+"): + transactions.append(transaction) + elif transaction.get("inputs") and any(inp.get("id") == term.replace(" ", "+") for inp in transaction["inputs"]): + transactions.append(transaction) + else: + if block.get("transactions").get("id") == term.replace(" ", "+"): + transactions.append(block.get("transactions")) + elif block.get("transactions").get("inputs") and any(inp.get("id") == term.replace(" ", "+") for inp in block["transactions"]["inputs"]): + transactions.append(block.get("transactions")) + return self.render_as_json( { "resultType": "txn_id", - "result": [ - changetime(x) - async for x in self.config.mongo.async_db.blocks.find( - { - "$or": [ - {"transactions.id": term.replace(" ", "+")}, - { - "transactions.inputs.id": term.replace( - " ", "+" - ) - }, - ] - }, - {"_id": 0}, - ) - ], + "searchedId": term.replace(" ", "+"), + "result": transactions, } ) - except: + except Exception as e: + print(f"Error processing transaction ID: {e}") pass try: @@ -273,37 +321,42 @@ async def get(self): {"id": term.replace(" ", "+")} ) if res: + results = [ + changetime(x) + async for x in self.config.mongo.async_db.miner_transactions.find( + {"id": term.replace(" ", "+")}, {"_id": 0} + ) + ] return self.render_as_json( { "resultType": "mempool_id", - "result": [ - changetime(x) - async for x in self.config.mongo.async_db.miner_transactions.find( - {"id": term.replace(" ", "+")}, {"_id": 0} - ) - ], + "searchedId": term.replace(" ", "+"), + "result": results, } ) except: pass try: - re.search(r"[A-Fa-f0-9]{64}", term).group(0) - res = await self.config.mongo.async_db.miner_transactions.count_documents( - {"hash": term} - ) - if res: - return self.render_as_json( - { - "resultType": "mempool_hash", - "result": [ - changetime(x) - async for x in self.config.mongo.async_db.miner_transactions.find( - {"hash": term}, {"_id": 0} - ) - ], - } + match = re.search(r"[A-Fa-f0-9]{64}", term) + if match: + res = await self.config.mongo.async_db.miner_transactions.count_documents( + {"hash": term} ) + if res: + results = [ + changetime(x) + async for x in self.config.mongo.async_db.miner_transactions.find( + {"hash": term}, {"_id": 0} + ) + ] + return self.render_as_json( + { + "resultType": "mempool_hash", + "searchedId": term, + "result": results, + } + ) except: pass @@ -496,7 +549,7 @@ async def get(self): res = await res.to_list(length=10) print(res[0]) return self.render_as_json( - {"resultType": "blocks", "result": [changetime(x) for x in res]} + {"resultType": "blocks", "result": res} ) @@ -529,6 +582,14 @@ async def get(self): return self.render_as_json(miners) +class ExplorerMempoolHandler(BaseHandler): + async def get(self): + """Returns mempool data from miner_transactions collection""" + res = await self.config.mongo.async_db.miner_transactions.find({}).to_list(None) + return self.render_as_json( + {"resultType": "mempool", "result": res} + ) + EXPLORER_HANDLERS = [ (r"/api-stats", HashrateAPIHandler), @@ -537,4 +598,5 @@ async def get(self): (r"/explorer-get-balance", ExplorerGetBalance), (r"/explorer-latest", ExplorerLatestHandler), (r"/explorer-last50", ExplorerLast50), + (r"/explorer-mempool", ExplorerMempoolHandler), ] diff --git a/yadacoin/tcpsocket/pool.py b/yadacoin/tcpsocket/pool.py index 51c84797..3bc34707 100644 --- a/yadacoin/tcpsocket/pool.py +++ b/yadacoin/tcpsocket/pool.py @@ -56,7 +56,7 @@ async def send_job(cls, stream): job = await cls.config.mp.block_template(stream.peer.agent, stream.peer.custom_diff, stream.peer.peer_id, stream.peer.miner_diff) stream.jobs[job.id] = job cls.current_header = cls.config.mp.block_factory.header - params = {"blob": job.blob, "job_id": job.job_id, "target": job.target, "seed_hash": job.seed_hash, "extra_nonce": job.extra_nonce, "height": job.index} + params = {"blob": job.blob, "job_id": job.job_id, "target": job.target, "seed_hash": job.seed_hash, "extra_nonce": job.extra_nonce, "height": job.index, "algo": job.algo} rpc_data = {"jsonrpc": "2.0", "method": "job", "params": params} try: cls.config.app_log.info(f"Sent job to Miner: {stream.peer.to_json()}") @@ -101,7 +101,10 @@ async def update_miner_count(cls): async def remove_peer(cls, stream, reason=None): if reason: Config().app_log.warning(f"remove_peer: {reason}") + stream.close() + if not hasattr(stream, "peer"): + return if hasattr(stream, "peer") and hasattr(stream.peer, "peer_id"): peer_id = stream.peer.peer_id Config().app_log.warning(f"Removing peer with peer_id: {peer_id}") @@ -112,8 +115,6 @@ async def remove_peer(cls, stream, reason=None): ): del StratumServer.inbound_streams[Miner.__name__][peer_id] - stream.close() - await StratumServer.update_miner_count() async def getblocktemplate(self, body, stream): From 7466ace6b65ef93fcc983fea5461253158718ce1 Mon Sep 17 00:00:00 2001 From: Rakni1988 Date: Sun, 3 Mar 2024 01:01:49 +0100 Subject: [PATCH 63/94] update explorer links --- plugins/yadacoinpool/static/content/blocks.html | 2 +- plugins/yadacoinpool/static/content/miner-stats.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/yadacoinpool/static/content/blocks.html b/plugins/yadacoinpool/static/content/blocks.html index a4419d0f..01d233d5 100644 --- a/plugins/yadacoinpool/static/content/blocks.html +++ b/plugins/yadacoinpool/static/content/blocks.html @@ -129,7 +129,7 @@
          AVARAGE LUCK
          effortColor = 'green'; } - $('#blocks-table').append('' + foundDateString + '' + difficulty + '' + filteredBlocks[i].index + '' + reward + '' + filteredBlocks[i].hash + '' + getMinerAddress(filteredBlocks[i].miner_address) + '' + effort + '' + getStatusIcon(status) + ''); + $('#blocks-table').append('' + foundDateString + '' + difficulty + '' + filteredBlocks[i].index + '' + reward + '' + filteredBlocks[i].hash + '' + getMinerAddress(filteredBlocks[i].miner_address) + '' + effort + '' + getStatusIcon(status) + ''); } function getStatusIcon(status) { diff --git a/plugins/yadacoinpool/static/content/miner-stats.html b/plugins/yadacoinpool/static/content/miner-stats.html index 9d55767f..437cc4ef 100644 --- a/plugins/yadacoinpool/static/content/miner-stats.html +++ b/plugins/yadacoinpool/static/content/miner-stats.html @@ -80,7 +80,7 @@ } } - $('#payouts-table').append('' + dateString + '' + blockIndex + '' + data.results[i]['txn'].id + '' + parseFloat(selectOutput.value).toFixed(8) + ' YDA' + ''); + $('#payouts-table').append('' + dateString + '' + blockIndex + '' + data.results[i]['txn'].id + '' + parseFloat(selectOutput.value).toFixed(8) + ' YDA' + ''); } } From 0ae12a1c24d31bc727238844e68b8b4174eba2a3 Mon Sep 17 00:00:00 2001 From: Rakni1988 Date: Sun, 3 Mar 2024 08:30:59 +0100 Subject: [PATCH 64/94] fix encrypted message --- static/explorer/main.js | 2 +- static/explorer/styles.css | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/static/explorer/main.js b/static/explorer/main.js index ceed5df1..0a26330e 100644 --- a/static/explorer/main.js +++ b/static/explorer/main.js @@ -1 +1 @@ -"use strict";(self.webpackChunkexplorer=self.webpackChunkexplorer||[]).push([[179],{90:()=>{function le(e){return"function"==typeof e}function Vo(e){const t=e(r=>{Error.call(r),r.stack=(new Error).stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}const _s=Vo(e=>function(t){e(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((r,o)=>`${o+1}) ${r.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t});function jo(e,n){if(e){const t=e.indexOf(n);0<=t&&e.splice(t,1)}}class lt{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;const{_parentage:t}=this;if(t)if(this._parentage=null,Array.isArray(t))for(const i of t)i.remove(this);else t.remove(this);const{initialTeardown:r}=this;if(le(r))try{r()}catch(i){n=i instanceof _s?i.errors:[i]}const{_finalizers:o}=this;if(o){this._finalizers=null;for(const i of o)try{Ih(i)}catch(s){n=n??[],s instanceof _s?n=[...n,...s.errors]:n.push(s)}}if(n)throw new _s(n)}}add(n){var t;if(n&&n!==this)if(this.closed)Ih(n);else{if(n instanceof lt){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=null!==(t=this._finalizers)&&void 0!==t?t:[]).push(n)}}_hasParent(n){const{_parentage:t}=this;return t===n||Array.isArray(t)&&t.includes(n)}_addParent(n){const{_parentage:t}=this;this._parentage=Array.isArray(t)?(t.push(n),t):t?[t,n]:n}_removeParent(n){const{_parentage:t}=this;t===n?this._parentage=null:Array.isArray(t)&&jo(t,n)}remove(n){const{_finalizers:t}=this;t&&jo(t,n),n instanceof lt&&n._removeParent(this)}}lt.EMPTY=(()=>{const e=new lt;return e.closed=!0,e})();const bh=lt.EMPTY;function Eh(e){return e instanceof lt||e&&"closed"in e&&le(e.remove)&&le(e.add)&&le(e.unsubscribe)}function Ih(e){le(e)?e():e.unsubscribe()}const er={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},ys={setTimeout(e,n,...t){const{delegate:r}=ys;return r?.setTimeout?r.setTimeout(e,n,...t):setTimeout(e,n,...t)},clearTimeout(e){const{delegate:n}=ys;return(n?.clearTimeout||clearTimeout)(e)},delegate:void 0};function Mh(e){ys.setTimeout(()=>{const{onUnhandledError:n}=er;if(!n)throw e;n(e)})}function Ju(){}const dE=Ku("C",void 0,void 0);function Ku(e,n,t){return{kind:e,value:n,error:t}}let tr=null;function Ds(e){if(er.useDeprecatedSynchronousErrorHandling){const n=!tr;if(n&&(tr={errorThrown:!1,error:null}),e(),n){const{errorThrown:t,error:r}=tr;if(tr=null,t)throw r}}else e()}class ec extends lt{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,Eh(n)&&n.add(this)):this.destination=_E}static create(n,t,r){return new Bo(n,t,r)}next(n){this.isStopped?nc(function hE(e){return Ku("N",e,void 0)}(n),this):this._next(n)}error(n){this.isStopped?nc(function fE(e){return Ku("E",void 0,e)}(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?nc(dE,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(n){this.destination.next(n)}_error(n){try{this.destination.error(n)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const gE=Function.prototype.bind;function tc(e,n){return gE.call(e,n)}class mE{constructor(n){this.partialObserver=n}next(n){const{partialObserver:t}=this;if(t.next)try{t.next(n)}catch(r){Cs(r)}}error(n){const{partialObserver:t}=this;if(t.error)try{t.error(n)}catch(r){Cs(r)}else Cs(n)}complete(){const{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(t){Cs(t)}}}class Bo extends ec{constructor(n,t,r){let o;if(super(),le(n)||!n)o={next:n??void 0,error:t??void 0,complete:r??void 0};else{let i;this&&er.useDeprecatedNextContext?(i=Object.create(n),i.unsubscribe=()=>this.unsubscribe(),o={next:n.next&&tc(n.next,i),error:n.error&&tc(n.error,i),complete:n.complete&&tc(n.complete,i)}):o=n}this.destination=new mE(o)}}function Cs(e){er.useDeprecatedSynchronousErrorHandling?function pE(e){er.useDeprecatedSynchronousErrorHandling&&tr&&(tr.errorThrown=!0,tr.error=e)}(e):Mh(e)}function nc(e,n){const{onStoppedNotification:t}=er;t&&ys.setTimeout(()=>t(e,n))}const _E={closed:!0,next:Ju,error:function vE(e){throw e},complete:Ju},rc="function"==typeof Symbol&&Symbol.observable||"@@observable";function Nn(e){return e}function Sh(e){return 0===e.length?Nn:1===e.length?e[0]:function(t){return e.reduce((r,o)=>o(r),t)}}let Ee=(()=>{class e{constructor(t){t&&(this._subscribe=t)}lift(t){const r=new e;return r.source=this,r.operator=t,r}subscribe(t,r,o){const i=function CE(e){return e&&e instanceof ec||function DE(e){return e&&le(e.next)&&le(e.error)&&le(e.complete)}(e)&&Eh(e)}(t)?t:new Bo(t,r,o);return Ds(()=>{const{operator:s,source:a}=this;i.add(s?s.call(i,a):a?this._subscribe(i):this._trySubscribe(i))}),i}_trySubscribe(t){try{return this._subscribe(t)}catch(r){t.error(r)}}forEach(t,r){return new(r=Th(r))((o,i)=>{const s=new Bo({next:a=>{try{t(a)}catch(u){i(u),s.unsubscribe()}},error:i,complete:o});this.subscribe(s)})}_subscribe(t){var r;return null===(r=this.source)||void 0===r?void 0:r.subscribe(t)}[rc](){return this}pipe(...t){return Sh(t)(this)}toPromise(t){return new(t=Th(t))((r,o)=>{let i;this.subscribe(s=>i=s,s=>o(s),()=>r(i))})}}return e.create=n=>new e(n),e})();function Th(e){var n;return null!==(n=e??er.Promise)&&void 0!==n?n:Promise}const wE=Vo(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let kt=(()=>{class e extends Ee{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const r=new Ah(this,this);return r.operator=t,r}_throwIfClosed(){if(this.closed)throw new wE}next(t){Ds(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const r of this.currentObservers)r.next(t)}})}error(t){Ds(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;const{observers:r}=this;for(;r.length;)r.shift().error(t)}})}complete(){Ds(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:t}=this;for(;t.length;)t.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){const{hasError:r,isStopped:o,observers:i}=this;return r||o?bh:(this.currentObservers=null,i.push(t),new lt(()=>{this.currentObservers=null,jo(i,t)}))}_checkFinalizedStatuses(t){const{hasError:r,thrownError:o,isStopped:i}=this;r?t.error(o):i&&t.complete()}asObservable(){const t=new Ee;return t.source=this,t}}return e.create=(n,t)=>new Ah(n,t),e})();class Ah extends kt{constructor(n,t){super(),this.destination=n,this.source=t}next(n){var t,r;null===(r=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===r||r.call(t,n)}error(n){var t,r;null===(r=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===r||r.call(t,n)}complete(){var n,t;null===(t=null===(n=this.destination)||void 0===n?void 0:n.complete)||void 0===t||t.call(n)}_subscribe(n){var t,r;return null!==(r=null===(t=this.source)||void 0===t?void 0:t.subscribe(n))&&void 0!==r?r:bh}}function xh(e){return le(e?.lift)}function xe(e){return n=>{if(xh(n))return n.lift(function(t){try{return e(t,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}function Te(e,n,t,r,o){return new bE(e,n,t,r,o)}class bE extends ec{constructor(n,t,r,o,i,s){super(n),this.onFinalize=i,this.shouldUnsubscribe=s,this._next=t?function(a){try{t(a)}catch(u){n.error(u)}}:super._next,this._error=o?function(a){try{o(a)}catch(u){n.error(u)}finally{this.unsubscribe()}}:super._error,this._complete=r?function(){try{r()}catch(a){n.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:t}=this;super.unsubscribe(),!t&&(null===(n=this.onFinalize)||void 0===n||n.call(this))}}}function ne(e,n){return xe((t,r)=>{let o=0;t.subscribe(Te(r,i=>{r.next(e.call(n,i,o++))}))})}function Rn(e){return this instanceof Rn?(this.v=e,this):new Rn(e)}function Ph(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=function ac(e){var n="function"==typeof Symbol&&Symbol.iterator,t=n&&e[n],r=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(i){t[i]=e[i]&&function(s){return new Promise(function(a,u){!function o(i,s,a,u){Promise.resolve(u).then(function(c){i({value:c,done:a})},s)}(a,u,(s=e[i](s)).done,s.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const Fh=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function kh(e){return le(e?.then)}function Lh(e){return le(e[rc])}function Vh(e){return Symbol.asyncIterator&&le(e?.[Symbol.asyncIterator])}function jh(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const Bh=function GE(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function $h(e){return le(e?.[Bh])}function Hh(e){return function Oh(e,n,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var o,r=t.apply(e,n||[]),i=[];return o={},s("next"),s("throw"),s("return"),o[Symbol.asyncIterator]=function(){return this},o;function s(g){r[g]&&(o[g]=function(v){return new Promise(function(_,y){i.push([g,v,_,y])>1||a(g,v)})})}function a(g,v){try{!function u(g){g.value instanceof Rn?Promise.resolve(g.value.v).then(c,l):d(i[0][2],g)}(r[g](v))}catch(_){d(i[0][3],_)}}function c(g){a("next",g)}function l(g){a("throw",g)}function d(g,v){g(v),i.shift(),i.length&&a(i[0][0],i[0][1])}}(this,arguments,function*(){const t=e.getReader();try{for(;;){const{value:r,done:o}=yield Rn(t.read());if(o)return yield Rn(void 0);yield yield Rn(r)}}finally{t.releaseLock()}})}function Uh(e){return le(e?.getReader)}function dt(e){if(e instanceof Ee)return e;if(null!=e){if(Lh(e))return function qE(e){return new Ee(n=>{const t=e[rc]();if(le(t.subscribe))return t.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Fh(e))return function WE(e){return new Ee(n=>{for(let t=0;t{e.then(t=>{n.closed||(n.next(t),n.complete())},t=>n.error(t)).then(null,Mh)})}(e);if(Vh(e))return zh(e);if($h(e))return function YE(e){return new Ee(n=>{for(const t of e)if(n.next(t),n.closed)return;n.complete()})}(e);if(Uh(e))return function QE(e){return zh(Hh(e))}(e)}throw jh(e)}function zh(e){return new Ee(n=>{(function XE(e,n){var t,r,o,i;return function Nh(e,n,t,r){return new(t||(t=Promise))(function(i,s){function a(l){try{c(r.next(l))}catch(d){s(d)}}function u(l){try{c(r.throw(l))}catch(d){s(d)}}function c(l){l.done?i(l.value):function o(i){return i instanceof t?i:new t(function(s){s(i)})}(l.value).then(a,u)}c((r=r.apply(e,n||[])).next())})}(this,void 0,void 0,function*(){try{for(t=Ph(e);!(r=yield t.next()).done;)if(n.next(r.value),n.closed)return}catch(s){o={error:s}}finally{try{r&&!r.done&&(i=t.return)&&(yield i.call(t))}finally{if(o)throw o.error}}n.complete()})})(e,n).catch(t=>n.error(t))})}function fn(e,n,t,r=0,o=!1){const i=n.schedule(function(){t(),o?e.add(this.schedule(null,r)):this.unsubscribe()},r);if(e.add(i),!o)return i}function Le(e,n,t=1/0){return le(n)?Le((r,o)=>ne((i,s)=>n(r,i,o,s))(dt(e(r,o))),t):("number"==typeof n&&(t=n),xe((r,o)=>function JE(e,n,t,r,o,i,s,a){const u=[];let c=0,l=0,d=!1;const g=()=>{d&&!u.length&&!c&&n.complete()},v=y=>c{i&&n.next(y),c++;let C=!1;dt(t(y,l++)).subscribe(Te(n,M=>{o?.(M),i?v(M):n.next(M)},()=>{C=!0},void 0,()=>{if(C)try{for(c--;u.length&&c_(M)):_(M)}g()}catch(M){n.error(M)}}))};return e.subscribe(Te(n,v,()=>{d=!0,g()})),()=>{a?.()}}(r,o,e,t)))}function Mr(e=1/0){return Le(Nn,e)}const Zt=new Ee(e=>e.complete());function uc(e){return e[e.length-1]}function Gh(e){return le(uc(e))?e.pop():void 0}function $o(e){return function e0(e){return e&&le(e.schedule)}(uc(e))?e.pop():void 0}function qh(e,n=0){return xe((t,r)=>{t.subscribe(Te(r,o=>fn(r,e,()=>r.next(o),n),()=>fn(r,e,()=>r.complete(),n),o=>fn(r,e,()=>r.error(o),n)))})}function Wh(e,n=0){return xe((t,r)=>{r.add(e.schedule(()=>t.subscribe(r),n))})}function Zh(e,n){if(!e)throw new Error("Iterable cannot be null");return new Ee(t=>{fn(t,n,()=>{const r=e[Symbol.asyncIterator]();fn(t,n,()=>{r.next().then(o=>{o.done?t.complete():t.next(o.value)})},0,!0)})})}function Ne(e,n){return n?function u0(e,n){if(null!=e){if(Lh(e))return function n0(e,n){return dt(e).pipe(Wh(n),qh(n))}(e,n);if(Fh(e))return function o0(e,n){return new Ee(t=>{let r=0;return n.schedule(function(){r===e.length?t.complete():(t.next(e[r++]),t.closed||this.schedule())})})}(e,n);if(kh(e))return function r0(e,n){return dt(e).pipe(Wh(n),qh(n))}(e,n);if(Vh(e))return Zh(e,n);if($h(e))return function s0(e,n){return new Ee(t=>{let r;return fn(t,n,()=>{r=e[Bh](),fn(t,n,()=>{let o,i;try{({value:o,done:i}=r.next())}catch(s){return void t.error(s)}i?t.complete():t.next(o)},0,!0)}),()=>le(r?.return)&&r.return()})}(e,n);if(Uh(e))return function a0(e,n){return Zh(Hh(e),n)}(e,n)}throw jh(e)}(e,n):dt(e)}class bt extends kt{constructor(n){super(),this._value=n}get value(){return this.getValue()}_subscribe(n){const t=super._subscribe(n);return!t.closed&&n.next(this._value),t}getValue(){const{hasError:n,thrownError:t,_value:r}=this;if(n)throw t;return this._throwIfClosed(),r}next(n){super.next(this._value=n)}}function B(...e){return Ne(e,$o(e))}function Yh(e={}){const{connector:n=(()=>new kt),resetOnError:t=!0,resetOnComplete:r=!0,resetOnRefCountZero:o=!0}=e;return i=>{let s,a,u,c=0,l=!1,d=!1;const g=()=>{a?.unsubscribe(),a=void 0},v=()=>{g(),s=u=void 0,l=d=!1},_=()=>{const y=s;v(),y?.unsubscribe()};return xe((y,C)=>{c++,!d&&!l&&g();const M=u=u??n();C.add(()=>{c--,0===c&&!d&&!l&&(a=cc(_,o))}),M.subscribe(C),!s&&c>0&&(s=new Bo({next:D=>M.next(D),error:D=>{d=!0,g(),a=cc(v,t,D),M.error(D)},complete:()=>{l=!0,g(),a=cc(v,r),M.complete()}}),dt(y).subscribe(s))})(i)}}function cc(e,n,...t){if(!0===n)return void e();if(!1===n)return;const r=new Bo({next:()=>{r.unsubscribe(),e()}});return dt(n(...t)).subscribe(r)}function Lt(e,n){return xe((t,r)=>{let o=null,i=0,s=!1;const a=()=>s&&!o&&r.complete();t.subscribe(Te(r,u=>{o?.unsubscribe();let c=0;const l=i++;dt(e(u,l)).subscribe(o=Te(r,d=>r.next(n?n(u,d,l,c++):d),()=>{o=null,a()}))},()=>{s=!0,a()}))})}function d0(e,n){return e===n}function ae(e){for(let n in e)if(e[n]===ae)return n;throw Error("Could not find renamed property on target object.")}function ws(e,n){for(const t in n)n.hasOwnProperty(t)&&!e.hasOwnProperty(t)&&(e[t]=n[t])}function Re(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(Re).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const n=e.toString();if(null==n)return""+n;const t=n.indexOf("\n");return-1===t?n:n.substring(0,t)}function lc(e,n){return null==e||""===e?null===n?"":n:null==n||""===n?e:e+" "+n}const f0=ae({__forward_ref__:ae});function fe(e){return e.__forward_ref__=fe,e.toString=function(){return Re(this())},e}function U(e){return dc(e)?e():e}function dc(e){return"function"==typeof e&&e.hasOwnProperty(f0)&&e.__forward_ref__===fe}function fc(e){return e&&!!e.\u0275providers}const Qh="https://g.co/ng/security#xss";class I extends Error{constructor(n,t){super(function bs(e,n){return`NG0${Math.abs(e)}${n?": "+n:""}`}(n,t)),this.code=n}}function G(e){return"string"==typeof e?e:null==e?"":String(e)}function hc(e,n){throw new I(-201,!1)}function Et(e,n){null==e&&function $(e,n,t,r){throw new Error(`ASSERTION ERROR: ${e}`+(null==r?"":` [Expected=> ${t} ${r} ${n} <=Actual]`))}(n,e,null,"!=")}function V(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function ht(e){return{providers:e.providers||[],imports:e.imports||[]}}function Es(e){return Xh(e,Ms)||Xh(e,Jh)}function Xh(e,n){return e.hasOwnProperty(n)?e[n]:null}function Is(e){return e&&(e.hasOwnProperty(pc)||e.hasOwnProperty(D0))?e[pc]:null}const Ms=ae({\u0275prov:ae}),pc=ae({\u0275inj:ae}),Jh=ae({ngInjectableDef:ae}),D0=ae({ngInjectorDef:ae});var X=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(X||{});let gc;function ot(e){const n=gc;return gc=e,n}function ep(e,n,t){const r=Es(e);return r&&"root"==r.providedIn?void 0===r.value?r.value=r.factory():r.value:t&X.Optional?null:void 0!==n?n:void hc(Re(e))}const he=globalThis;class P{constructor(n,t){this._desc=n,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=V({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const Ho={},Dc="__NG_DI_FLAG__",Ss="ngTempTokenPath",b0=/\n/gm,np="__source";let Sr;function On(e){const n=Sr;return Sr=e,n}function M0(e,n=X.Default){if(void 0===Sr)throw new I(-203,!1);return null===Sr?ep(e,void 0,n):Sr.get(e,n&X.Optional?null:void 0,n)}function k(e,n=X.Default){return(function Kh(){return gc}()||M0)(U(e),n)}function R(e,n=X.Default){return k(e,Ts(n))}function Ts(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Cc(e){const n=[];for(let t=0;tn){s=i-1;break}}}for(;ii?"":o[d+1].toLowerCase();const v=8&r?g:null;if(v&&-1!==sp(v,c,0)||2&r&&c!==g){if(jt(r))return!1;s=!0}}}}else{if(!s&&!jt(r)&&!jt(u))return!1;if(s&&jt(u))continue;s=!1,r=u|1&r}}return jt(r)||s}function jt(e){return 0==(1&e)}function O0(e,n,t,r){if(null===n)return-1;let o=0;if(r||!t){let i=!1;for(;o-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&r?o+="."+s:4&r&&(o+=" "+s);else""!==o&&!jt(s)&&(n+=hp(i,o),o=""),r=s,i=i||!jt(r);t++}return""!==o&&(n+=hp(i,o)),n}function Tr(e){return hn(()=>{const n=gp(e),t={...n,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===As.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||Vt.Emulated,styles:e.styles||te,_:null,schemas:e.schemas||null,tView:null,id:""};mp(t);const r=e.dependencies;return t.directiveDefs=Ns(r,!1),t.pipeDefs=Ns(r,!0),t.id=function q0(e){let n=0;const t=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery].join("|");for(const o of t)n=Math.imul(31,n)+o.charCodeAt(0)<<0;return n+=2147483648,"c"+n}(t),t})}function H0(e){return K(e)||Ve(e)}function U0(e){return null!==e}function It(e){return hn(()=>({type:e.type,bootstrap:e.bootstrap||te,declarations:e.declarations||te,imports:e.imports||te,exports:e.exports||te,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function pp(e,n){if(null==e)return Yt;const t={};for(const r in e)if(e.hasOwnProperty(r)){let o=e[r],i=o;Array.isArray(o)&&(i=o[1],o=o[0]),t[o]=r,n&&(n[o]=i)}return t}function z(e){return hn(()=>{const n=gp(e);return mp(n),n})}function Ze(e){return{type:e.type,name:e.name,factory:null,pure:!1!==e.pure,standalone:!0===e.standalone,onDestroy:e.type.prototype.ngOnDestroy||null}}function K(e){return e[xs]||null}function Ve(e){return e[wc]||null}function Ye(e){return e[bc]||null}function pt(e,n){const t=e[op]||null;if(!t&&!0===n)throw new Error(`Type ${Re(e)} does not have '\u0275mod' property.`);return t}function gp(e){const n={};return{type:e.type,providersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:n,inputTransforms:null,inputConfig:e.inputs||Yt,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||te,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:pp(e.inputs,n),outputs:pp(e.outputs)}}function mp(e){e.features?.forEach(n=>n(e))}function Ns(e,n){if(!e)return null;const t=n?Ye:H0;return()=>("function"==typeof e?e():e).map(r=>t(r)).filter(U0)}const Ce=0,N=1,Z=2,_e=3,Bt=4,qo=5,Ue=6,xr=7,Ie=8,Pn=9,Nr=10,q=11,Wo=12,vp=13,Rr=14,Me=15,Zo=16,Or=17,Qt=18,Yo=19,_p=20,Fn=21,gn=22,Qo=23,Xo=24,J=25,Ic=1,yp=2,Xt=7,Pr=9,je=11;function it(e){return Array.isArray(e)&&"object"==typeof e[Ic]}function Qe(e){return Array.isArray(e)&&!0===e[Ic]}function Mc(e){return 0!=(4&e.flags)}function rr(e){return e.componentOffset>-1}function Os(e){return 1==(1&e.flags)}function $t(e){return!!e.template}function Sc(e){return 0!=(512&e[Z])}function or(e,n){return e.hasOwnProperty(pn)?e[pn]:null}let Be=null,Ps=!1;function Mt(e){const n=Be;return Be=e,n}const wp={version:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{}};function Ep(e){if(!Ko(e)||e.dirty){if(!e.producerMustRecompute(e)&&!Sp(e))return void(e.dirty=!1);e.producerRecomputeValue(e),e.dirty=!1}}function Mp(e){e.dirty=!0,function Ip(e){if(void 0===e.liveConsumerNode)return;const n=Ps;Ps=!0;try{for(const t of e.liveConsumerNode)t.dirty||Mp(t)}finally{Ps=n}}(e),e.consumerMarkedDirty?.(e)}function Ac(e){return e&&(e.nextProducerIndex=0),Mt(e)}function xc(e,n){if(Mt(n),e&&void 0!==e.producerNode&&void 0!==e.producerIndexOfThis&&void 0!==e.producerLastReadVersion){if(Ko(e))for(let t=e.nextProducerIndex;te.nextProducerIndex;)e.producerNode.pop(),e.producerLastReadVersion.pop(),e.producerIndexOfThis.pop()}}function Sp(e){Fr(e);for(let n=0;n0}function Fr(e){e.producerNode??=[],e.producerIndexOfThis??=[],e.producerLastReadVersion??=[]}let Np=null;const Fp=()=>{},iI=(()=>({...wp,consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!1,consumerMarkedDirty:e=>{e.schedule(e.ref)},hasRun:!1,cleanupFn:Fp}))();class sI{constructor(n,t,r){this.previousValue=n,this.currentValue=t,this.firstChange=r}isFirstChange(){return this.firstChange}}function St(){return kp}function kp(e){return e.type.prototype.ngOnChanges&&(e.setInput=uI),aI}function aI(){const e=Vp(this),n=e?.current;if(n){const t=e.previous;if(t===Yt)e.previous=n;else for(let r in n)t[r]=n[r];e.current=null,this.ngOnChanges(n)}}function uI(e,n,t,r){const o=this.declaredInputs[t],i=Vp(e)||function cI(e,n){return e[Lp]=n}(e,{previous:Yt,current:null}),s=i.current||(i.current={}),a=i.previous,u=a[o];s[o]=new sI(u&&u.currentValue,n,a===Yt),e[r]=n}St.ngInherit=!0;const Lp="__ngSimpleChanges__";function Vp(e){return e[Lp]||null}const Jt=function(e,n,t){};function pe(e){for(;Array.isArray(e);)e=e[Ce];return e}function ks(e,n){return pe(n[e])}function st(e,n){return pe(n[e.index])}function $p(e,n){return e.data[n]}function gt(e,n){const t=n[e];return it(t)?t:t[Ce]}function Ln(e,n){return null==n?null:e[n]}function Hp(e){e[Or]=0}function gI(e){1024&e[Z]||(e[Z]|=1024,zp(e,1))}function Up(e){1024&e[Z]&&(e[Z]&=-1025,zp(e,-1))}function zp(e,n){let t=e[_e];if(null===t)return;t[qo]+=n;let r=t;for(t=t[_e];null!==t&&(1===n&&1===r[qo]||-1===n&&0===r[qo]);)t[qo]+=n,r=t,t=t[_e]}const H={lFrame:tg(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function Wp(){return H.bindingsEnabled}function w(){return H.lFrame.lView}function ee(){return H.lFrame.tView}function Tt(e){return H.lFrame.contextLView=e,e[Ie]}function At(e){return H.lFrame.contextLView=null,e}function $e(){let e=Zp();for(;null!==e&&64===e.type;)e=e.parent;return e}function Zp(){return H.lFrame.currentTNode}function Kt(e,n){const t=H.lFrame;t.currentTNode=e,t.isParent=n}function Fc(){return H.lFrame.isParent}function kc(){H.lFrame.isParent=!1}function Xe(){const e=H.lFrame;let n=e.bindingRootIndex;return-1===n&&(n=e.bindingRootIndex=e.tView.bindingStartIndex),n}function Vr(){return H.lFrame.bindingIndex++}function SI(e,n){const t=H.lFrame;t.bindingIndex=t.bindingRootIndex=e,Lc(n)}function Lc(e){H.lFrame.currentDirectiveIndex=e}function jc(e){H.lFrame.currentQueryIndex=e}function AI(e){const n=e[N];return 2===n.type?n.declTNode:1===n.type?e[Ue]:null}function Kp(e,n,t){if(t&X.SkipSelf){let o=n,i=e;for(;!(o=o.parent,null!==o||t&X.Host||(o=AI(i),null===o||(i=i[Rr],10&o.type))););if(null===o)return!1;n=o,e=i}const r=H.lFrame=eg();return r.currentTNode=n,r.lView=e,!0}function Bc(e){const n=eg(),t=e[N];H.lFrame=n,n.currentTNode=t.firstChild,n.lView=e,n.tView=t,n.contextLView=e,n.bindingIndex=t.bindingStartIndex,n.inI18n=!1}function eg(){const e=H.lFrame,n=null===e?null:e.child;return null===n?tg(e):n}function tg(e){const n={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return null!==e&&(e.child=n),n}function ng(){const e=H.lFrame;return H.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const rg=ng;function $c(){const e=ng();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function Je(){return H.lFrame.selectedIndex}function ir(e){H.lFrame.selectedIndex=e}function De(){const e=H.lFrame;return $p(e.tView,e.selectedIndex)}let ig=!0;function Ls(){return ig}function Vn(e){ig=e}function Vs(e,n){for(let t=n.directiveStart,r=n.directiveEnd;t=r)break}else n[u]<0&&(e[Or]+=65536),(a>13>16&&(3&e[Z])===n&&(e[Z]+=8192,ag(a,i)):ag(a,i)}const jr=-1;class ti{constructor(n,t,r){this.factory=n,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=r}}function zc(e){return e!==jr}function ni(e){return 32767&e}function ri(e,n){let t=function $I(e){return e>>16}(e),r=n;for(;t>0;)r=r[Rr],t--;return r}let Gc=!0;function $s(e){const n=Gc;return Gc=e,n}const ug=255,cg=5;let HI=0;const en={};function Hs(e,n){const t=lg(e,n);if(-1!==t)return t;const r=n[N];r.firstCreatePass&&(e.injectorIndex=n.length,qc(r.data,e),qc(n,null),qc(r.blueprint,null));const o=Us(e,n),i=e.injectorIndex;if(zc(o)){const s=ni(o),a=ri(o,n),u=a[N].data;for(let c=0;c<8;c++)n[i+c]=a[s+c]|u[s+c]}return n[i+8]=o,i}function qc(e,n){e.push(0,0,0,0,0,0,0,0,n)}function lg(e,n){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===n[e.injectorIndex+8]?-1:e.injectorIndex}function Us(e,n){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let t=0,r=null,o=n;for(;null!==o;){if(r=vg(o),null===r)return jr;if(t++,o=o[Rr],-1!==r.injectorIndex)return r.injectorIndex|t<<16}return jr}function Wc(e,n,t){!function UI(e,n,t){let r;"string"==typeof t?r=t.charCodeAt(0)||0:t.hasOwnProperty(zo)&&(r=t[zo]),null==r&&(r=t[zo]=HI++);const o=r&ug;n.data[e+(o>>cg)]|=1<=0?n&ug:ZI:n}(t);if("function"==typeof i){if(!Kp(n,e,r))return r&X.Host?dg(o,0,r):fg(n,t,r,o);try{let s;if(s=i(r),null!=s||r&X.Optional)return s;hc()}finally{rg()}}else if("number"==typeof i){let s=null,a=lg(e,n),u=jr,c=r&X.Host?n[Me][Ue]:null;for((-1===a||r&X.SkipSelf)&&(u=-1===a?Us(e,n):n[a+8],u!==jr&&mg(r,!1)?(s=n[N],a=ni(u),n=ri(u,n)):a=-1);-1!==a;){const l=n[N];if(gg(i,a,l.data)){const d=GI(a,n,t,s,r,c);if(d!==en)return d}u=n[a+8],u!==jr&&mg(r,n[N].data[a+8]===c)&&gg(i,a,n)?(s=l,a=ni(u),n=ri(u,n)):a=-1}}return o}function GI(e,n,t,r,o,i){const s=n[N],a=s.data[e+8],l=function zs(e,n,t,r,o){const i=e.providerIndexes,s=n.data,a=1048575&i,u=e.directiveStart,l=i>>20,g=o?a+l:e.directiveEnd;for(let v=r?a:a+l;v=u&&_.type===t)return v}if(o){const v=s[u];if(v&&$t(v)&&v.type===t)return u}return null}(a,s,t,null==r?rr(a)&&Gc:r!=s&&0!=(3&a.type),o&X.Host&&i===a);return null!==l?sr(n,s,l,a):en}function sr(e,n,t,r){let o=e[t];const i=n.data;if(function VI(e){return e instanceof ti}(o)){const s=o;s.resolving&&function h0(e,n){const t=n?`. Dependency path: ${n.join(" > ")} > ${e}`:"";throw new I(-200,`Circular dependency in DI detected for ${e}${t}`)}(function se(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():G(e)}(i[t]));const a=$s(s.canSeeViewProviders);s.resolving=!0;const c=s.injectImpl?ot(s.injectImpl):null;Kp(e,r,X.Default);try{o=e[t]=s.factory(void 0,i,e,r),n.firstCreatePass&&t>=r.directiveStart&&function kI(e,n,t){const{ngOnChanges:r,ngOnInit:o,ngDoCheck:i}=n.type.prototype;if(r){const s=kp(n);(t.preOrderHooks??=[]).push(e,s),(t.preOrderCheckHooks??=[]).push(e,s)}o&&(t.preOrderHooks??=[]).push(0-e,o),i&&((t.preOrderHooks??=[]).push(e,i),(t.preOrderCheckHooks??=[]).push(e,i))}(t,i[t],n)}finally{null!==c&&ot(c),$s(a),s.resolving=!1,rg()}}return o}function gg(e,n,t){return!!(t[n+(e>>cg)]&1<{const n=e.prototype.constructor,t=n[pn]||Zc(n),r=Object.prototype;let o=Object.getPrototypeOf(e.prototype).constructor;for(;o&&o!==r;){const i=o[pn]||Zc(o);if(i&&i!==t)return i;o=Object.getPrototypeOf(o)}return i=>new i})}function Zc(e){return dc(e)?()=>{const n=Zc(U(e));return n&&n()}:or(e)}function vg(e){const n=e[N],t=n.type;return 2===t?n.declTNode:1===t?e[Ue]:null}const $r="__parameters__";function Ur(e,n,t){return hn(()=>{const r=function Yc(e){return function(...t){if(e){const r=e(...t);for(const o in r)this[o]=r[o]}}}(n);function o(...i){if(this instanceof o)return r.apply(this,i),this;const s=new o(...i);return a.annotation=s,a;function a(u,c,l){const d=u.hasOwnProperty($r)?u[$r]:Object.defineProperty(u,$r,{value:[]})[$r];for(;d.length<=l;)d.push(null);return(d[l]=d[l]||[]).push(s),u}}return t&&(o.prototype=Object.create(t.prototype)),o.prototype.ngMetadataName=e,o.annotationCls=o,o})}function Gr(e,n){e.forEach(t=>Array.isArray(t)?Gr(t,n):n(t))}function yg(e,n,t){n>=e.length?e.push(t):e.splice(n,0,t)}function qs(e,n){return n>=e.length-1?e.pop():e.splice(n,1)[0]}function mt(e,n,t){let r=qr(e,n);return r>=0?e[1|r]=t:(r=~r,function n1(e,n,t,r){let o=e.length;if(o==n)e.push(t,r);else if(1===o)e.push(r,e[0]),e[0]=t;else{for(o--,e.push(e[o-1],e[o]);o>n;)e[o]=e[o-2],o--;e[n]=t,e[n+1]=r}}(e,r,n,t)),r}function Qc(e,n){const t=qr(e,n);if(t>=0)return e[1|t]}function qr(e,n){return function Dg(e,n,t){let r=0,o=e.length>>t;for(;o!==r;){const i=r+(o-r>>1),s=e[i<n?o=i:r=i+1}return~(o<|^->||--!>|)/g,I1="\u200b$1\u200b";const tl=new Map;let M1=0;const rl="__ngContext__";function ze(e,n){it(n)?(e[rl]=n[Yo],function T1(e){tl.set(e[Yo],e)}(n)):e[rl]=n}let ol;function il(e,n){return ol(e,n)}function ci(e){const n=e[_e];return Qe(n)?n[_e]:n}function Bg(e){return Hg(e[Wo])}function $g(e){return Hg(e[Bt])}function Hg(e){for(;null!==e&&!Qe(e);)e=e[Bt];return e}function Yr(e,n,t,r,o){if(null!=r){let i,s=!1;Qe(r)?i=r:it(r)&&(s=!0,r=r[Ce]);const a=pe(r);0===e&&null!==t?null==o?qg(n,t,a):ar(n,t,a,o||null,!0):1===e&&null!==t?ar(n,t,a,o||null,!0):2===e?function aa(e,n,t){const r=ia(e,n);r&&function W1(e,n,t,r){e.removeChild(n,t,r)}(e,r,n,t)}(n,a,s):3===e&&n.destroyNode(a),null!=i&&function Q1(e,n,t,r,o){const i=t[Xt];i!==pe(t)&&Yr(n,e,r,i,o);for(let a=je;an.replace(E1,I1))}(n))}function ra(e,n,t){return e.createElement(n,t)}function zg(e,n){const t=e[Pr],r=t.indexOf(n);Up(n),t.splice(r,1)}function oa(e,n){if(e.length<=je)return;const t=je+n,r=e[t];if(r){const o=r[Zo];null!==o&&o!==e&&zg(o,r),n>0&&(e[t-1][Bt]=r[Bt]);const i=qs(e,je+n);!function j1(e,n){di(e,n,n[q],2,null,null),n[Ce]=null,n[Ue]=null}(r[N],r);const s=i[Qt];null!==s&&s.detachView(i[N]),r[_e]=null,r[Bt]=null,r[Z]&=-129}return r}function al(e,n){if(!(256&n[Z])){const t=n[q];n[Qo]&&Tp(n[Qo]),n[Xo]&&Tp(n[Xo]),t.destroyNode&&di(e,n,t,3,null,null),function H1(e){let n=e[Wo];if(!n)return ul(e[N],e);for(;n;){let t=null;if(it(n))t=n[Wo];else{const r=n[je];r&&(t=r)}if(!t){for(;n&&!n[Bt]&&n!==e;)it(n)&&ul(n[N],n),n=n[_e];null===n&&(n=e),it(n)&&ul(n[N],n),t=n&&n[Bt]}n=t}}(n)}}function ul(e,n){if(!(256&n[Z])){n[Z]&=-129,n[Z]|=256,function q1(e,n){let t;if(null!=e&&null!=(t=e.destroyHooks))for(let r=0;r=0?r[s]():r[-s].unsubscribe(),i+=2}else t[i].call(r[t[i+1]]);null!==r&&(n[xr]=null);const o=n[Fn];if(null!==o){n[Fn]=null;for(let i=0;i-1){const{encapsulation:i}=e.data[r.directiveStart+o];if(i===Vt.None||i===Vt.Emulated)return null}return st(r,t)}}(e,n.parent,t)}function ar(e,n,t,r,o){e.insertBefore(n,t,r,o)}function qg(e,n,t){e.appendChild(n,t)}function Wg(e,n,t,r,o){null!==r?ar(e,n,t,r,o):qg(e,n,t)}function ia(e,n){return e.parentNode(n)}let ll,pl,Qg=function Yg(e,n,t){return 40&e.type?st(e,t):null};function sa(e,n,t,r){const o=cl(e,r,n),i=n[q],a=function Zg(e,n,t){return Qg(e,n,t)}(r.parent||n[Ue],r,n);if(null!=o)if(Array.isArray(t))for(let u=0;u{t.push(s)};return Gr(n,s=>{const a=s;da(a,i,[],r)&&(o||=[],o.push(a))}),void 0!==o&&_m(o,i),t}function _m(e,n){for(let t=0;t{n(i,r)})}}function da(e,n,t,r){if(!(e=U(e)))return!1;let o=null,i=Is(e);const s=!i&&K(e);if(i||s){if(s&&!s.standalone)return!1;o=e}else{const u=e.ngModule;if(i=Is(u),!i)return!1;o=u}const a=r.has(o);if(s){if(a)return!1;if(r.add(o),s.dependencies){const u="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const c of u)da(c,n,t,r)}}else{if(!i)return!1;{if(null!=i.imports&&!a){let c;r.add(o);try{Gr(i.imports,l=>{da(l,n,t,r)&&(c||=[],c.push(l))})}finally{}void 0!==c&&_m(c,n)}if(!a){const c=or(o)||(()=>new o);n({provide:o,useFactory:c,deps:te},o),n({provide:mm,useValue:o,multi:!0},o),n({provide:gi,useValue:()=>k(o),multi:!0},o)}const u=i.providers;if(null!=u&&!a){const c=e;wl(u,l=>{n(l,c)})}}}return o!==e&&void 0!==e.providers}function wl(e,n){for(let t of e)fc(t)&&(t=t.\u0275providers),Array.isArray(t)?wl(t,n):n(t)}const MM=ae({provide:String,useValue:ae});function bl(e){return null!==e&&"object"==typeof e&&MM in e}function ur(e){return"function"==typeof e}const El=new P("Set Injector scope."),fa={},TM={};let Il;function ha(){return void 0===Il&&(Il=new Dl),Il}class vt{}class Kr extends vt{get destroyed(){return this._destroyed}constructor(n,t,r,o){super(),this.parent=t,this.source=r,this.scopes=o,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,Sl(n,s=>this.processProvider(s)),this.records.set(gm,eo(void 0,this)),o.has("environment")&&this.records.set(vt,eo(void 0,this));const i=this.records.get(El);null!=i&&"string"==typeof i.value&&this.scopes.add(i.value),this.injectorDefTypes=new Set(this.get(mm.multi,te,X.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const t of this._ngOnDestroyHooks)t.ngOnDestroy();const n=this._onDestroyHooks;this._onDestroyHooks=[];for(const t of n)t()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(n){return this.assertNotDestroyed(),this._onDestroyHooks.push(n),()=>this.removeOnDestroy(n)}runInContext(n){this.assertNotDestroyed();const t=On(this),r=ot(void 0);try{return n()}finally{On(t),ot(r)}}get(n,t=Ho,r=X.Default){if(this.assertNotDestroyed(),n.hasOwnProperty(ip))return n[ip](this);r=Ts(r);const i=On(this),s=ot(void 0);try{if(!(r&X.SkipSelf)){let u=this.records.get(n);if(void 0===u){const c=function OM(e){return"function"==typeof e||"object"==typeof e&&e instanceof P}(n)&&Es(n);u=c&&this.injectableDefInScope(c)?eo(Ml(n),fa):null,this.records.set(n,u)}if(null!=u)return this.hydrate(n,u)}return(r&X.Self?ha():this.parent).get(n,t=r&X.Optional&&t===Ho?null:t)}catch(a){if("NullInjectorError"===a.name){if((a[Ss]=a[Ss]||[]).unshift(Re(n)),i)throw a;return function T0(e,n,t,r){const o=e[Ss];throw n[np]&&o.unshift(n[np]),e.message=function A0(e,n,t,r=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let o=Re(n);if(Array.isArray(n))o=n.map(Re).join(" -> ");else if("object"==typeof n){let i=[];for(let s in n)if(n.hasOwnProperty(s)){let a=n[s];i.push(s+":"+("string"==typeof a?JSON.stringify(a):Re(a)))}o=`{${i.join(", ")}}`}return`${t}${r?"("+r+")":""}[${o}]: ${e.replace(b0,"\n ")}`}("\n"+e.message,o,t,r),e.ngTokenPath=o,e[Ss]=null,e}(a,n,"R3InjectorError",this.source)}throw a}finally{ot(s),On(i)}}resolveInjectorInitializers(){const n=On(this),t=ot(void 0);try{const o=this.get(gi.multi,te,X.Self);for(const i of o)i()}finally{On(n),ot(t)}}toString(){const n=[],t=this.records;for(const r of t.keys())n.push(Re(r));return`R3Injector[${n.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new I(205,!1)}processProvider(n){let t=ur(n=U(n))?n:U(n&&n.provide);const r=function xM(e){return bl(e)?eo(void 0,e.useValue):eo(Cm(e),fa)}(n);if(ur(n)||!0!==n.multi)this.records.get(t);else{let o=this.records.get(t);o||(o=eo(void 0,fa,!0),o.factory=()=>Cc(o.multi),this.records.set(t,o)),t=n,o.multi.push(n)}this.records.set(t,r)}hydrate(n,t){return t.value===fa&&(t.value=TM,t.value=t.factory()),"object"==typeof t.value&&t.value&&function RM(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}injectableDefInScope(n){if(!n.providedIn)return!1;const t=U(n.providedIn);return"string"==typeof t?"any"===t||this.scopes.has(t):this.injectorDefTypes.has(t)}removeOnDestroy(n){const t=this._onDestroyHooks.indexOf(n);-1!==t&&this._onDestroyHooks.splice(t,1)}}function Ml(e){const n=Es(e),t=null!==n?n.factory:or(e);if(null!==t)return t;if(e instanceof P)throw new I(204,!1);if(e instanceof Function)return function AM(e){const n=e.length;if(n>0)throw function si(e,n){const t=[];for(let r=0;rt.factory(e):()=>new e}(e);throw new I(204,!1)}function Cm(e,n,t){let r;if(ur(e)){const o=U(e);return or(o)||Ml(o)}if(bl(e))r=()=>U(e.useValue);else if(function Dm(e){return!(!e||!e.useFactory)}(e))r=()=>e.useFactory(...Cc(e.deps||[]));else if(function ym(e){return!(!e||!e.useExisting)}(e))r=()=>k(U(e.useExisting));else{const o=U(e&&(e.useClass||e.provide));if(!function NM(e){return!!e.deps}(e))return or(o)||Ml(o);r=()=>new o(...Cc(e.deps))}return r}function eo(e,n,t=!1){return{factory:e,value:n,multi:t?[]:void 0}}function Sl(e,n){for(const t of e)Array.isArray(t)?Sl(t,n):t&&fc(t)?Sl(t.\u0275providers,n):n(t)}const pa=new P("AppId",{providedIn:"root",factory:()=>PM}),PM="ng",wm=new P("Platform Initializer"),cr=new P("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),bm=new P("CSP nonce",{providedIn:"root",factory:()=>function Xr(){if(void 0!==pl)return pl;if(typeof document<"u")return document;throw new I(210,!1)}().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let Em=(e,n,t)=>null;function Fl(e,n,t=!1){return Em(e,n,t)}class zM{}class Sm{}class qM{resolveComponentFactory(n){throw function GM(e){const n=Error(`No component factory found for ${Re(e)}.`);return n.ngComponent=e,n}(n)}}let Da=(()=>{class e{static#e=this.NULL=new qM}return e})();function WM(){return ro($e(),w())}function ro(e,n){return new _t(st(e,n))}let _t=(()=>{class e{constructor(t){this.nativeElement=t}static#e=this.__NG_ELEMENT_ID__=WM}return e})();class Am{}let yn=(()=>{class e{constructor(){this.destroyNode=null}static#e=this.__NG_ELEMENT_ID__=()=>function YM(){const e=w(),t=gt($e().index,e);return(it(t)?t:e)[q]}()}return e})(),QM=(()=>{class e{static#e=this.\u0275prov=V({token:e,providedIn:"root",factory:()=>null})}return e})();class _i{constructor(n){this.full=n,this.major=n.split(".")[0],this.minor=n.split(".")[1],this.patch=n.split(".").slice(2).join(".")}}const XM=new _i("16.2.12"),Vl={};function Om(e,n=null,t=null,r){const o=Pm(e,n,t,r);return o.resolveInjectorInitializers(),o}function Pm(e,n=null,t=null,r,o=new Set){const i=[t||te,IM(e)];return r=r||("object"==typeof e?void 0:Re(e)),new Kr(i,n||ha(),r||null,o)}let yt=(()=>{class e{static#e=this.THROW_IF_NOT_FOUND=Ho;static#t=this.NULL=new Dl;static create(t,r){if(Array.isArray(t))return Om({name:""},r,t,"");{const o=t.name??"";return Om({name:o},t.parent,t.providers,o)}}static#n=this.\u0275prov=V({token:e,providedIn:"any",factory:()=>k(gm)});static#r=this.__NG_ELEMENT_ID__=-1}return e})();function Bl(e){return e.ngOriginalError}class Dn{constructor(){this._console=console}handleError(n){const t=this._findOriginalError(n);this._console.error("ERROR",n),t&&this._console.error("ORIGINAL ERROR",t)}_findOriginalError(n){let t=n&&Bl(n);for(;t&&Bl(t);)t=Bl(t);return t||null}}function Hl(e){return n=>{setTimeout(e,void 0,n)}}const we=class oS extends kt{constructor(n=!1){super(),this.__isAsync=n}emit(n){super.next(n)}subscribe(n,t,r){let o=n,i=t||(()=>null),s=r;if(n&&"object"==typeof n){const u=n;o=u.next?.bind(u),i=u.error?.bind(u),s=u.complete?.bind(u)}this.__isAsync&&(i=Hl(i),o&&(o=Hl(o)),s&&(s=Hl(s)));const a=super.subscribe({next:o,error:i,complete:s});return n instanceof lt&&n.add(a),a}};function km(...e){}class ge{constructor({enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:r=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new we(!1),this.onMicrotaskEmpty=new we(!1),this.onStable=new we(!1),this.onError=new we(!1),typeof Zone>"u")throw new I(908,!1);Zone.assertZonePatched();const o=this;o._nesting=0,o._outer=o._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(o._inner=o._inner.fork(new Zone.TaskTrackingZoneSpec)),n&&Zone.longStackTraceZoneSpec&&(o._inner=o._inner.fork(Zone.longStackTraceZoneSpec)),o.shouldCoalesceEventChangeDetection=!r&&t,o.shouldCoalesceRunChangeDetection=r,o.lastRequestAnimationFrameId=-1,o.nativeRequestAnimationFrame=function iS(){const e="function"==typeof he.requestAnimationFrame;let n=he[e?"requestAnimationFrame":"setTimeout"],t=he[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&n&&t){const r=n[Zone.__symbol__("OriginalDelegate")];r&&(n=r);const o=t[Zone.__symbol__("OriginalDelegate")];o&&(t=o)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:t}}().nativeRequestAnimationFrame,function uS(e){const n=()=>{!function aS(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(he,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,zl(e),e.isCheckStableRunning=!0,Ul(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),zl(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,r,o,i,s,a)=>{if(function lS(e){return!(!Array.isArray(e)||1!==e.length)&&!0===e[0].data?.__ignore_ng_zone__}(a))return t.invokeTask(o,i,s,a);try{return Lm(e),t.invokeTask(o,i,s,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===i.type||e.shouldCoalesceRunChangeDetection)&&n(),Vm(e)}},onInvoke:(t,r,o,i,s,a,u)=>{try{return Lm(e),t.invoke(o,i,s,a,u)}finally{e.shouldCoalesceRunChangeDetection&&n(),Vm(e)}},onHasTask:(t,r,o,i)=>{t.hasTask(o,i),r===o&&("microTask"==i.change?(e._hasPendingMicrotasks=i.microTask,zl(e),Ul(e)):"macroTask"==i.change&&(e.hasPendingMacrotasks=i.macroTask))},onHandleError:(t,r,o,i)=>(t.handleError(o,i),e.runOutsideAngular(()=>e.onError.emit(i)),!1)})}(o)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!ge.isInAngularZone())throw new I(909,!1)}static assertNotInAngularZone(){if(ge.isInAngularZone())throw new I(909,!1)}run(n,t,r){return this._inner.run(n,t,r)}runTask(n,t,r,o){const i=this._inner,s=i.scheduleEventTask("NgZoneEvent: "+o,n,sS,km,km);try{return i.runTask(s,t,r)}finally{i.cancelTask(s)}}runGuarded(n,t,r){return this._inner.runGuarded(n,t,r)}runOutsideAngular(n){return this._outer.run(n)}}const sS={};function Ul(e){if(0==e._nesting&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function zl(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function Lm(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function Vm(e){e._nesting--,Ul(e)}class cS{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new we,this.onMicrotaskEmpty=new we,this.onStable=new we,this.onError=new we}run(n,t,r){return n.apply(t,r)}runGuarded(n,t,r){return n.apply(t,r)}runOutsideAngular(n){return n()}runTask(n,t,r,o){return n.apply(t,r)}}const jm=new P("",{providedIn:"root",factory:Bm});function Bm(){const e=R(ge);let n=!0;return function c0(...e){const n=$o(e),t=function t0(e,n){return"number"==typeof uc(e)?e.pop():n}(e,1/0),r=e;return r.length?1===r.length?dt(r[0]):Mr(t)(Ne(r,n)):Zt}(new Ee(o=>{n=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{o.next(n),o.complete()})}),new Ee(o=>{let i;e.runOutsideAngular(()=>{i=e.onStable.subscribe(()=>{ge.assertNotInAngularZone(),queueMicrotask(()=>{!n&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(n=!0,o.next(!0))})})});const s=e.onUnstable.subscribe(()=>{ge.assertInAngularZone(),n&&(n=!1,e.runOutsideAngular(()=>{o.next(!1)}))});return()=>{i.unsubscribe(),s.unsubscribe()}}).pipe(Yh()))}function Cn(e){return e instanceof Function?e():e}let Gl=(()=>{class e{constructor(){this.renderDepth=0,this.handler=null}begin(){this.handler?.validateBegin(),this.renderDepth++}end(){this.renderDepth--,0===this.renderDepth&&this.handler?.execute()}ngOnDestroy(){this.handler?.destroy(),this.handler=null}static#e=this.\u0275prov=V({token:e,providedIn:"root",factory:()=>new e})}return e})();function yi(e){for(;e;){e[Z]|=64;const n=ci(e);if(Sc(e)&&!n)return e;e=n}return null}const Gm=new P("",{providedIn:"root",factory:()=>!1});let wa=null;function Ym(e,n){return e[n]??Jm()}function Qm(e,n){const t=Jm();t.producerNode?.length&&(e[n]=wa,t.lView=e,wa=Xm())}const DS={...wp,consumerIsAlwaysLive:!0,consumerMarkedDirty:e=>{yi(e.lView)},lView:null};function Xm(){return Object.create(DS)}function Jm(){return wa??=Xm(),wa}const W={};function m(e){Km(ee(),w(),Je()+e,!1)}function Km(e,n,t,r){if(!r)if(3==(3&n[Z])){const i=e.preOrderCheckHooks;null!==i&&js(n,i,t)}else{const i=e.preOrderHooks;null!==i&&Bs(n,i,0,t)}ir(t)}function b(e,n=X.Default){const t=w();return null===t?k(e,n):hg($e(),t,U(e),n)}function ba(e,n,t,r,o,i,s,a,u,c,l){const d=n.blueprint.slice();return d[Ce]=o,d[Z]=140|r,(null!==c||e&&2048&e[Z])&&(d[Z]|=2048),Hp(d),d[_e]=d[Rr]=e,d[Ie]=t,d[Nr]=s||e&&e[Nr],d[q]=a||e&&e[q],d[Pn]=u||e&&e[Pn]||null,d[Ue]=i,d[Yo]=function S1(){return M1++}(),d[gn]=l,d[_p]=c,d[Me]=2==n.type?e[Me]:d,d}function so(e,n,t,r,o){let i=e.data[n];if(null===i)i=function ql(e,n,t,r,o){const i=Zp(),s=Fc(),u=e.data[n]=function TS(e,n,t,r,o,i){let s=n?n.injectorIndex:-1,a=0;return function Lr(){return null!==H.skipHydrationRootTNode}()&&(a|=128),{type:t,index:r,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:o,attrs:i,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:n,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,s?i:i&&i.parent,t,n,r,o);return null===e.firstChild&&(e.firstChild=u),null!==i&&(s?null==i.child&&null!==u.parent&&(i.child=u):null===i.next&&(i.next=u,u.prev=i)),u}(e,n,t,r,o),function MI(){return H.lFrame.inI18n}()&&(i.flags|=32);else if(64&i.type){i.type=t,i.value=r,i.attrs=o;const s=function ei(){const e=H.lFrame,n=e.currentTNode;return e.isParent?n:n.parent}();i.injectorIndex=null===s?-1:s.injectorIndex}return Kt(i,!0),i}function Di(e,n,t,r){if(0===t)return-1;const o=n.length;for(let i=0;iJ&&Km(e,n,J,!1),Jt(a?2:0,o);const c=a?i:null,l=Ac(c);try{null!==c&&(c.dirty=!1),t(r,o)}finally{xc(c,l)}}finally{a&&null===n[Qo]&&Qm(n,Qo),ir(s),Jt(a?3:1,o)}}function Wl(e,n,t){if(Mc(n)){const r=Mt(null);try{const i=n.directiveEnd;for(let s=n.directiveStart;snull;function ov(e,n,t,r){for(let o in e)if(e.hasOwnProperty(o)){t=null===t?{}:t;const i=e[o];null===r?iv(t,n,o,i):r.hasOwnProperty(o)&&iv(t,n,r[o],i)}return t}function iv(e,n,t,r){e.hasOwnProperty(t)?e[t].push(n,r):e[t]=[n,r]}function Dt(e,n,t,r,o,i,s,a){const u=st(n,t);let l,c=n.inputs;!a&&null!=c&&(l=c[r])?(td(e,t,l,r,o),rr(n)&&function NS(e,n){const t=gt(n,e);16&t[Z]||(t[Z]|=64)}(t,n.index)):3&n.type&&(r=function xS(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(r),o=null!=s?s(o,n.value||"",r):o,i.setProperty(u,r,o))}function Xl(e,n,t,r){if(Wp()){const o=null===r?null:{"":-1},i=function LS(e,n){const t=e.directiveRegistry;let r=null,o=null;if(t)for(let i=0;i0;){const t=e[--n];if("number"==typeof t&&t<0)return t}return 0})(s)!=a&&s.push(a),s.push(t,r,i)}}(e,n,r,Di(e,t,o.hostVars,W),o)}function US(e,n,t,r,o,i){const s=i[n];if(null!==s)for(let a=0;a{class e{constructor(){this.all=new Set,this.queue=new Map}create(t,r,o){const i=typeof Zone>"u"?null:Zone.current,s=function oI(e,n,t){const r=Object.create(iI);t&&(r.consumerAllowSignalWrites=!0),r.fn=e,r.schedule=n;const o=s=>{r.cleanupFn=s};return r.ref={notify:()=>Mp(r),run:()=>{if(r.dirty=!1,r.hasRun&&!Sp(r))return;r.hasRun=!0;const s=Ac(r);try{r.cleanupFn(),r.cleanupFn=Fp,r.fn(o)}finally{xc(r,s)}},cleanup:()=>r.cleanupFn()},r.ref}(t,c=>{this.all.has(c)&&this.queue.set(c,i)},o);let a;this.all.add(s),s.notify();const u=()=>{s.cleanup(),a?.(),this.all.delete(s),this.queue.delete(s)};return a=r?.onDestroy(u),{destroy:u}}flush(){if(0!==this.queue.size)for(const[t,r]of this.queue)this.queue.delete(t),r?r.run(()=>t.run()):t.run()}get isQueueEmpty(){return 0===this.queue.size}static#e=this.\u0275prov=V({token:e,providedIn:"root",factory:()=>new e})}return e})();function Ia(e,n,t){let r=t?e.styles:null,o=t?e.classes:null,i=0;if(null!==n)for(let s=0;s0){_v(e,1);const o=t.components;null!==o&&Dv(e,o,1)}}function Dv(e,n,t){for(let r=0;r-1&&(oa(n,r),qs(t,r))}this._attachedToViewContainer=!1}al(this._lView[N],this._lView)}onDestroy(n){!function Gp(e,n){if(256==(256&e[Z]))throw new I(911,!1);null===e[Fn]&&(e[Fn]=[]),e[Fn].push(n)}(this._lView,n)}markForCheck(){yi(this._cdRefInjectingView||this._lView)}detach(){this._lView[Z]&=-129}reattach(){this._lView[Z]|=128}detectChanges(){Ma(this._lView[N],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new I(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function $1(e,n){di(e,n,n[q],2,null,null)}(this._lView[N],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new I(902,!1);this._appRef=n}}class JS extends wi{constructor(n){super(n),this._view=n}detectChanges(){const n=this._view;Ma(n[N],n,n[Ie],!1)}checkNoChanges(){}get context(){return null}}class Cv extends Da{constructor(n){super(),this.ngModule=n}resolveComponentFactory(n){const t=K(n);return new bi(t,this.ngModule)}}function wv(e){const n=[];for(let t in e)e.hasOwnProperty(t)&&n.push({propName:e[t],templateName:t});return n}class eT{constructor(n,t){this.injector=n,this.parentInjector=t}get(n,t,r){r=Ts(r);const o=this.injector.get(n,Vl,r);return o!==Vl||t===Vl?o:this.parentInjector.get(n,t,r)}}class bi extends Sm{get inputs(){const n=this.componentDef,t=n.inputTransforms,r=wv(n.inputs);if(null!==t)for(const o of r)t.hasOwnProperty(o.propName)&&(o.transform=t[o.propName]);return r}get outputs(){return wv(this.componentDef.outputs)}constructor(n,t){super(),this.componentDef=n,this.ngModule=t,this.componentType=n.type,this.selector=function j0(e){return e.map(V0).join(",")}(n.selectors),this.ngContentSelectors=n.ngContentSelectors?n.ngContentSelectors:[],this.isBoundToModule=!!t}create(n,t,r,o){let i=(o=o||this.ngModule)instanceof vt?o:o?.injector;i&&null!==this.componentDef.getStandaloneInjector&&(i=this.componentDef.getStandaloneInjector(i)||i);const s=i?new eT(n,i):n,a=s.get(Am,null);if(null===a)throw new I(407,!1);const d={rendererFactory:a,sanitizer:s.get(QM,null),effectManager:s.get(gv,null),afterRenderEventManager:s.get(Gl,null)},g=a.createRenderer(null,this.componentDef),v=this.componentDef.selectors[0][0]||"div",_=r?function bS(e,n,t,r){const i=r.get(Gm,!1)||t===Vt.ShadowDom,s=e.selectRootElement(n,i);return function ES(e){rv(e)}(s),s}(g,r,this.componentDef.encapsulation,s):ra(g,v,function KS(e){const n=e.toLowerCase();return"svg"===n?"svg":"math"===n?"math":null}(v)),M=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let D=null;null!==_&&(D=Fl(_,s,!0));const O=Ql(0,null,null,1,0,null,null,null,null,null,null),j=ba(null,O,null,M,null,null,d,g,s,null,D);let Q,ke;Bc(j);try{const dn=this.componentDef;let Ir,wh=null;dn.findHostDirectiveDefs?(Ir=[],wh=new Map,dn.findHostDirectiveDefs(dn,Ir,wh),Ir.push(dn)):Ir=[dn];const gB=function nT(e,n){const t=e[N],r=J;return e[r]=n,so(t,r,2,"#host",null)}(j,_),mB=function rT(e,n,t,r,o,i,s){const a=o[N];!function oT(e,n,t,r){for(const o of e)n.mergedAttrs=Go(n.mergedAttrs,o.hostAttrs);null!==n.mergedAttrs&&(Ia(n,n.mergedAttrs,!0),null!==t&&nm(r,t,n))}(r,e,n,s);let u=null;null!==n&&(u=Fl(n,o[Pn]));const c=i.rendererFactory.createRenderer(n,t);let l=16;t.signals?l=4096:t.onPush&&(l=64);const d=ba(o,nv(t),null,l,o[e.index],e,i,c,null,null,u);return a.firstCreatePass&&Jl(a,e,r.length-1),Ea(o,d),o[e.index]=d}(gB,_,dn,Ir,j,d,g);ke=$p(O,J),_&&function sT(e,n,t,r){if(r)Ec(e,t,["ng-version",XM.full]);else{const{attrs:o,classes:i}=function B0(e){const n=[],t=[];let r=1,o=2;for(;r0&&tm(e,t,i.join(" "))}}(g,dn,_,r),void 0!==t&&function aT(e,n,t){const r=e.projection=[];for(let o=0;o=0;r--){const o=e[r];o.hostVars=n+=o.hostVars,o.hostAttrs=Go(o.hostAttrs,t=Go(t,o.hostAttrs))}}(r)}function Sa(e){return e===Yt?{}:e===te?[]:e}function lT(e,n){const t=e.viewQuery;e.viewQuery=t?(r,o)=>{n(r,o),t(r,o)}:n}function dT(e,n){const t=e.contentQueries;e.contentQueries=t?(r,o,i)=>{n(r,o,i),t(r,o,i)}:n}function fT(e,n){const t=e.hostBindings;e.hostBindings=t?(r,o)=>{n(r,o),t(r,o)}:n}function Ta(e){return!!rd(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function rd(e){return null!==e&&("function"==typeof e||"object"==typeof e)}function nn(e,n,t){return e[n]=t}function Ge(e,n,t){return!Object.is(e[n],t)&&(e[n]=t,!0)}function lr(e,n,t,r){const o=Ge(e,n,t);return Ge(e,n+1,r)||o}function Nt(e,n,t,r,o,i){const s=lr(e,n,t,r);return lr(e,n+2,o,i)||s}function uo(e,n,t,r){return Ge(e,Vr(),t)?n+G(t)+r:W}function A(e,n,t,r,o,i,s,a){const u=w(),c=ee(),l=e+J,d=c.firstCreatePass?function LT(e,n,t,r,o,i,s,a,u){const c=n.consts,l=so(n,e,4,s||null,Ln(c,a));Xl(n,t,l,Ln(c,u)),Vs(n,l);const d=l.tView=Ql(2,l,r,o,i,n.directiveRegistry,n.pipeRegistry,null,n.schemas,c,null);return null!==n.queries&&(n.queries.template(n,l),d.queries=n.queries.embeddedTView(l)),l}(l,c,u,n,t,r,o,i,s):c.data[l];Kt(d,!1);const g=Bv(c,u,d,e);Ls()&&sa(c,u,g,d),ze(g,u),Ea(u,u[l]=cv(g,u,g,d)),Os(d)&&Zl(c,u,d),null!=s&&Yl(u,d,a)}let Bv=function $v(e,n,t,r){return Vn(!0),n[q].createComment("")};function S(e,n,t){const r=w();return Ge(r,Vr(),n)&&Dt(ee(),De(),r,e,n,r[q],t,!1),S}function cd(e,n,t,r,o){const s=o?"class":"style";td(e,t,n.inputs[s],s,r)}function h(e,n,t,r){const o=w(),i=ee(),s=J+e,a=o[q],u=i.firstCreatePass?function HT(e,n,t,r,o,i){const s=n.consts,u=so(n,e,2,r,Ln(s,o));return Xl(n,t,u,Ln(s,i)),null!==u.attrs&&Ia(u,u.attrs,!1),null!==u.mergedAttrs&&Ia(u,u.mergedAttrs,!0),null!==n.queries&&n.queries.elementStart(n,u),u}(s,i,o,n,t,r):i.data[s],c=Hv(i,o,u,a,n,e);o[s]=c;const l=Os(u);return Kt(u,!0),nm(a,c,u),32!=(32&u.flags)&&Ls()&&sa(i,o,c,u),0===function vI(){return H.lFrame.elementDepthCount}()&&ze(c,o),function _I(){H.lFrame.elementDepthCount++}(),l&&(Zl(i,o,u),Wl(i,u,o)),null!==r&&Yl(o,u),h}function f(){let e=$e();Fc()?kc():(e=e.parent,Kt(e,!1));const n=e;(function DI(e){return H.skipHydrationRootTNode===e})(n)&&function EI(){H.skipHydrationRootTNode=null}(),function yI(){H.lFrame.elementDepthCount--}();const t=ee();return t.firstCreatePass&&(Vs(t,e),Mc(e)&&t.queries.elementEnd(e)),null!=n.classesWithoutHost&&function jI(e){return 0!=(8&e.flags)}(n)&&cd(t,n,w(),n.classesWithoutHost,!0),null!=n.stylesWithoutHost&&function BI(e){return 0!=(16&e.flags)}(n)&&cd(t,n,w(),n.stylesWithoutHost,!1),f}function Pe(e,n,t,r){return h(e,n,t,r),f(),Pe}let Hv=(e,n,t,r,o,i)=>(Vn(!0),ra(r,o,function og(){return H.lFrame.currentNamespace}()));function $n(e,n,t){const r=w(),o=ee(),i=e+J,s=o.firstCreatePass?function GT(e,n,t,r,o){const i=n.consts,s=Ln(i,r),a=so(n,e,8,"ng-container",s);return null!==s&&Ia(a,s,!0),Xl(n,t,a,Ln(i,o)),null!==n.queries&&n.queries.elementStart(n,a),a}(i,o,r,n,t):o.data[i];Kt(s,!0);const a=zv(o,r,s,e);return r[i]=a,Ls()&&sa(o,r,a,s),ze(a,r),Os(s)&&(Zl(o,r,s),Wl(o,s,r)),null!=t&&Yl(r,s),$n}function Hn(){let e=$e();const n=ee();return Fc()?kc():(e=e.parent,Kt(e,!1)),n.firstCreatePass&&(Vs(n,e),Mc(e)&&n.queries.elementEnd(e)),Hn}let zv=(e,n,t,r)=>(Vn(!0),sl(n[q],""));function Rt(){return w()}function Ti(e){return!!e&&"function"==typeof e.then}function Gv(e){return!!e&&"function"==typeof e.subscribe}function re(e,n,t,r){const o=w(),i=ee(),s=$e();return function Wv(e,n,t,r,o,i,s){const a=Os(r),c=e.firstCreatePass&&function fv(e){return e.cleanup||(e.cleanup=[])}(e),l=n[Ie],d=function dv(e){return e[xr]||(e[xr]=[])}(n);let g=!0;if(3&r.type||s){const y=st(r,n),C=s?s(y):y,M=d.length,D=s?j=>s(pe(j[r.index])):r.index;let O=null;if(!s&&a&&(O=function ZT(e,n,t,r){const o=e.cleanup;if(null!=o)for(let i=0;iu?a[u]:null}"string"==typeof s&&(i+=2)}return null}(e,n,o,r.index)),null!==O)(O.__ngLastListenerFn__||O).__ngNextListenerFn__=i,O.__ngLastListenerFn__=i,g=!1;else{i=Yv(r,n,l,i,!1);const j=t.listen(C,o,i);d.push(i,j),c&&c.push(o,D,M,M+1)}}else i=Yv(r,n,l,i,!1);const v=r.outputs;let _;if(g&&null!==v&&(_=v[o])){const y=_.length;if(y)for(let C=0;C-1?gt(e.index,n):n);let u=Zv(n,t,r,s),c=i.__ngNextListenerFn__;for(;c;)u=Zv(n,t,c,s)&&u,c=c.__ngNextListenerFn__;return o&&!1===u&&s.preventDefault(),u}}function E(e=1){return function xI(e){return(H.lFrame.contextLView=function NI(e,n){for(;e>0;)n=n[Rr],e--;return n}(e,H.lFrame.contextLView))[Ie]}(e)}function F(e,n,t,r,o){const i=w(),s=uo(i,n,t,r);return s!==W&&Dt(ee(),De(),i,e,s,i[q],o,!1),F}function Oa(e,n){return e<<17|n<<2}function Un(e){return e>>17&32767}function ld(e){return 2|e}function dr(e){return(131068&e)>>2}function dd(e,n){return-131069&e|n<<2}function fd(e){return 1|e}function i_(e,n,t,r,o){const i=e[t+1],s=null===n;let a=r?Un(i):dr(i),u=!1;for(;0!==a&&(!1===u||s);){const l=e[a+1];rA(e[a],n)&&(u=!0,e[a+1]=r?fd(l):ld(l)),a=r?Un(l):dr(l)}u&&(e[t+1]=r?ld(i):fd(i))}function rA(e,n){return null===e||null==n||(Array.isArray(e)?e[1]:e)===n||!(!Array.isArray(e)||"string"!=typeof n)&&qr(e,n)>=0}function Pa(e,n){return function Ht(e,n,t,r){const o=w(),i=ee(),s=function vn(e){const n=H.lFrame,t=n.bindingIndex;return n.bindingIndex=n.bindingIndex+e,t}(2);i.firstUpdatePass&&function p_(e,n,t,r){const o=e.data;if(null===o[t+1]){const i=o[Je()],s=function h_(e,n){return n>=e.expandoStartIndex}(e,t);(function __(e,n){return 0!=(e.flags&(n?8:16))})(i,r)&&null===n&&!s&&(n=!1),n=function fA(e,n,t,r){const o=function Vc(e){const n=H.lFrame.currentDirectiveIndex;return-1===n?null:e[n]}(e);let i=r?n.residualClasses:n.residualStyles;if(null===o)0===(r?n.classBindings:n.styleBindings)&&(t=Ai(t=hd(null,e,n,t,r),n.attrs,r),i=null);else{const s=n.directiveStylingLast;if(-1===s||e[s]!==o)if(t=hd(o,e,n,t,r),null===i){let u=function hA(e,n,t){const r=t?n.classBindings:n.styleBindings;if(0!==dr(r))return e[Un(r)]}(e,n,r);void 0!==u&&Array.isArray(u)&&(u=hd(null,e,n,u[1],r),u=Ai(u,n.attrs,r),function pA(e,n,t,r){e[Un(t?n.classBindings:n.styleBindings)]=r}(e,n,r,u))}else i=function gA(e,n,t){let r;const o=n.directiveEnd;for(let i=1+n.directiveStylingLast;i0)&&(c=!0)):l=t,o)if(0!==u){const g=Un(e[a+1]);e[r+1]=Oa(g,a),0!==g&&(e[g+1]=dd(e[g+1],r)),e[a+1]=function KT(e,n){return 131071&e|n<<17}(e[a+1],r)}else e[r+1]=Oa(a,0),0!==a&&(e[a+1]=dd(e[a+1],r)),a=r;else e[r+1]=Oa(u,0),0===a?a=r:e[u+1]=dd(e[u+1],r),u=r;c&&(e[r+1]=ld(e[r+1])),i_(e,l,r,!0),i_(e,l,r,!1),function nA(e,n,t,r,o){const i=o?e.residualClasses:e.residualStyles;null!=i&&"string"==typeof n&&qr(i,n)>=0&&(t[r+1]=fd(t[r+1]))}(n,l,e,r,i),s=Oa(a,u),i?n.classBindings=s:n.styleBindings=s}(o,i,n,t,s,r)}}(i,e,s,r),n!==W&&Ge(o,s,n)&&function m_(e,n,t,r,o,i,s,a){if(!(3&n.type))return;const u=e.data,c=u[a+1],l=function eA(e){return 1==(1&e)}(c)?v_(u,n,t,o,dr(c),s):void 0;Fa(l)||(Fa(i)||function JT(e){return 2==(2&e)}(c)&&(i=v_(u,null,t,o,a,s)),function X1(e,n,t,r,o){if(n)o?e.addClass(t,r):e.removeClass(t,r);else{let i=-1===r.indexOf("-")?void 0:jn.DashCase;null==o?e.removeStyle(t,r,i):("string"==typeof o&&o.endsWith("!important")&&(o=o.slice(0,-10),i|=jn.Important),e.setStyle(t,r,o,i))}}(r,s,ks(Je(),t),o,i))}(i,i.data[Je()],o,o[q],e,o[s+1]=function yA(e,n){return null==e||""===e||("string"==typeof n?e+=n:"object"==typeof e&&(e=Re(Bn(e)))),e}(n,t),r,s)}(e,n,null,!0),Pa}function hd(e,n,t,r,o){let i=null;const s=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const u=e[o],c=Array.isArray(u),l=c?u[1]:u,d=null===l;let g=t[o+1];g===W&&(g=d?te:void 0);let v=d?Qc(g,r):l===r?g:void 0;if(c&&!Fa(v)&&(v=Qc(u,r)),Fa(v)&&(a=v,s))return a;const _=e[o+1];o=s?Un(_):dr(_)}if(null!==n){let u=i?n.residualClasses:n.residualStyles;null!=u&&(a=Qc(u,r))}return a}function Fa(e){return void 0!==e}function p(e,n=""){const t=w(),r=ee(),o=e+J,i=r.firstCreatePass?so(r,o,1,n,null):r.data[o],s=y_(r,t,i,n,e);t[o]=s,Ls()&&sa(r,t,s,i),Kt(i,!1)}let y_=(e,n,t,r,o)=>(Vn(!0),function na(e,n){return e.createText(n)}(n[q],r));function T(e){return x("",e,""),T}function x(e,n,t){const r=w(),o=uo(r,e,n,t);return o!==W&&function wn(e,n,t){const r=ks(n,e);!function Ug(e,n,t){e.setValue(n,t)}(e[q],r,t)}(r,Je(),o),x}const yo="en-US";let $_=yo;function md(e,n,t,r,o){if(e=U(e),Array.isArray(e))for(let i=0;i>20;if(ur(e)||!e.multi){const v=new ti(c,o,b),_=_d(u,n,o?l:l+g,d);-1===_?(Wc(Hs(a,s),i,u),vd(i,e,n.length),n.push(u),a.directiveStart++,a.directiveEnd++,o&&(a.providerIndexes+=1048576),t.push(v),s.push(v)):(t[_]=v,s[_]=v)}else{const v=_d(u,n,l+g,d),_=_d(u,n,l,l+g),C=_>=0&&t[_];if(o&&!C||!o&&!(v>=0&&t[v])){Wc(Hs(a,s),i,u);const M=function Bx(e,n,t,r,o){const i=new ti(e,t,b);return i.multi=[],i.index=n,i.componentProviders=0,fy(i,o,r&&!t),i}(o?jx:Vx,t.length,o,r,c);!o&&C&&(t[_].providerFactory=M),vd(i,e,n.length,0),n.push(u),a.directiveStart++,a.directiveEnd++,o&&(a.providerIndexes+=1048576),t.push(M),s.push(M)}else vd(i,e,v>-1?v:_,fy(t[o?_:v],c,!o&&r));!o&&r&&C&&t[_].componentProviders++}}}function vd(e,n,t,r){const o=ur(n),i=function SM(e){return!!e.useClass}(n);if(o||i){const u=(i?U(n.useClass):n).prototype.ngOnDestroy;if(u){const c=e.destroyHooks||(e.destroyHooks=[]);if(!o&&n.multi){const l=c.indexOf(t);-1===l?c.push(t,[r,u]):c[l+1].push(r,u)}else c.push(t,u)}}}function fy(e,n,t){return t&&e.componentProviders++,e.multi.push(n)-1}function _d(e,n,t,r){for(let o=t;o{t.providersResolver=(r,o)=>function Lx(e,n,t){const r=ee();if(r.firstCreatePass){const o=$t(e);md(t,r.data,r.blueprint,o,!0),md(n,r.data,r.blueprint,o,!1)}}(r,o?o(e):e,n)}}class hr{}class hy{}class Dd extends hr{constructor(n,t,r){super(),this._parent=t,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new Cv(this);const o=pt(n);this._bootstrapComponents=Cn(o.bootstrap),this._r3Injector=Pm(n,t,[{provide:hr,useValue:this},{provide:Da,useValue:this.componentFactoryResolver},...r],Re(n),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(n)}get injector(){return this._r3Injector}destroy(){const n=this._r3Injector;!n.destroyed&&n.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}}class Cd extends hy{constructor(n){super(),this.moduleType=n}create(n){return new Dd(this.moduleType,n,[])}}class py extends hr{constructor(n){super(),this.componentFactoryResolver=new Cv(this),this.instance=null;const t=new Kr([...n.providers,{provide:hr,useValue:this},{provide:Da,useValue:this.componentFactoryResolver}],n.parent||ha(),n.debugName,new Set(["environment"]));this.injector=t,n.runEnvironmentInitializers&&t.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(n){this.injector.onDestroy(n)}}function wd(e,n,t=null){return new py({providers:e,parent:n,debugName:t,runEnvironmentInitializers:!0}).injector}let Ux=(()=>{class e{constructor(t){this._injector=t,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(t){if(!t.standalone)return null;if(!this.cachedInjectors.has(t)){const r=vm(0,t.type),o=r.length>0?wd([r],this._injector,`Standalone[${t.type.name}]`):null;this.cachedInjectors.set(t,o)}return this.cachedInjectors.get(t)}ngOnDestroy(){try{for(const t of this.cachedInjectors.values())null!==t&&t.destroy()}finally{this.cachedInjectors.clear()}}static#e=this.\u0275prov=V({token:e,providedIn:"environment",factory:()=>new e(k(vt))})}return e})();function gy(e){e.getStandaloneInjector=n=>n.get(Ux).getOrCreateStandaloneInjector(e)}function Fi(e,n,t,r){return by(w(),Xe(),e,n,t,r)}function wy(e,n,t,r,o,i,s){return function My(e,n,t,r,o,i,s,a,u){const c=n+t;return Nt(e,c,o,i,s,a)?nn(e,c+4,u?r.call(u,o,i,s,a):r(o,i,s,a)):ki(e,c+4)}(w(),Xe(),e,n,t,r,o,i,s)}function Ba(e,n,t,r,o,i,s,a){const u=Xe()+e,c=w(),l=Nt(c,u,t,r,o,i);return Ge(c,u+4,s)||l?nn(c,u+5,a?n.call(a,t,r,o,i,s):n(t,r,o,i,s)):function Ei(e,n){return e[n]}(c,u+5)}function ki(e,n){const t=e[n];return t===W?void 0:t}function by(e,n,t,r,o,i){const s=n+t;return Ge(e,s,o)?nn(e,s+1,i?r.call(i,o):r(o)):ki(e,s+1)}function $a(e,n){const t=ee();let r;const o=e+J;t.firstCreatePass?(r=function iN(e,n){if(n)for(let t=n.length-1;t>=0;t--){const r=n[t];if(e===r.name)return r}}(n,t.pipeRegistry),t.data[o]=r,r.onDestroy&&(t.destroyHooks??=[]).push(o,r.onDestroy)):r=t.data[o];const i=r.factory||(r.factory=or(r.type)),a=ot(b);try{const u=$s(!1),c=i();return $s(u),function BT(e,n,t,r){t>=e.data.length&&(e.data[t]=null,e.blueprint[t]=null),n[t]=r}(t,w(),o,c),c}finally{ot(a)}}function Ha(e,n,t){const r=e+J,o=w(),i=function kr(e,n){return e[n]}(o,r);return function Li(e,n){return e[N].data[n].pure}(o,r)?by(o,Xe(),n,i.transform,t,i):i.transform(t)}function fN(e,n,t,r=!0){const o=n[N];if(function U1(e,n,t,r){const o=je+r,i=t.length;r>0&&(t[o-1][Bt]=n),r{class e{static#e=this.__NG_ELEMENT_ID__=gN}return e})();const hN=bn,pN=class extends hN{constructor(n,t,r){super(),this._declarationLView=n,this._declarationTContainer=t,this.elementRef=r}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(n,t){return this.createEmbeddedViewImpl(n,t)}createEmbeddedViewImpl(n,t,r){const o=function dN(e,n,t,r){const o=n.tView,a=ba(e,o,t,4096&e[Z]?4096:16,null,n,null,null,null,r?.injector??null,r?.hydrationInfo??null);a[Zo]=e[n.index];const c=e[Qt];return null!==c&&(a[Qt]=c.createEmbeddedView(o)),nd(o,a,t),a}(this._declarationLView,this._declarationTContainer,n,{injector:t,hydrationInfo:r});return new wi(o)}};function gN(){return function Ua(e,n){return 4&e.type?new pN(n,e,ro(e,n)):null}($e(),w())}let zt=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=CN}return e})();function CN(){return function Py(e,n){let t;const r=n[e.index];return Qe(r)?t=r:(t=cv(r,n,null,e),n[e.index]=t,Ea(n,t)),Fy(t,n,e,r),new Ry(t,e,n)}($e(),w())}const wN=zt,Ry=class extends wN{constructor(n,t,r){super(),this._lContainer=n,this._hostTNode=t,this._hostLView=r}get element(){return ro(this._hostTNode,this._hostLView)}get injector(){return new Ke(this._hostTNode,this._hostLView)}get parentInjector(){const n=Us(this._hostTNode,this._hostLView);if(zc(n)){const t=ri(n,this._hostLView),r=ni(n);return new Ke(t[N].data[r+8],t)}return new Ke(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){const t=Oy(this._lContainer);return null!==t&&t[n]||null}get length(){return this._lContainer.length-je}createEmbeddedView(n,t,r){let o,i;"number"==typeof r?o=r:null!=r&&(o=r.index,i=r.injector);const a=n.createEmbeddedViewImpl(t||{},i,null);return this.insertImpl(a,o,false),a}createComponent(n,t,r,o,i){const s=n&&!function ii(e){return"function"==typeof e}(n);let a;if(s)a=t;else{const y=t||{};a=y.index,r=y.injector,o=y.projectableNodes,i=y.environmentInjector||y.ngModuleRef}const u=s?n:new bi(K(n)),c=r||this.parentInjector;if(!i&&null==u.ngModule){const C=(s?c:this.parentInjector).get(vt,null);C&&(i=C)}K(u.componentType??{});const v=u.create(c,o,null,i);return this.insertImpl(v.hostView,a,false),v}insert(n,t){return this.insertImpl(n,t,!1)}insertImpl(n,t,r){const o=n._lView;if(function pI(e){return Qe(e[_e])}(o)){const u=this.indexOf(n);if(-1!==u)this.detach(u);else{const c=o[_e],l=new Ry(c,c[Ue],c[_e]);l.detach(l.indexOf(n))}}const s=this._adjustIndex(t),a=this._lContainer;return fN(a,o,s,!r),n.attachToViewContainerRef(),yg(Id(a),s,n),n}move(n,t){return this.insert(n,t)}indexOf(n){const t=Oy(this._lContainer);return null!==t?t.indexOf(n):-1}remove(n){const t=this._adjustIndex(n,-1),r=oa(this._lContainer,t);r&&(qs(Id(this._lContainer),t),al(r[N],r))}detach(n){const t=this._adjustIndex(n,-1),r=oa(this._lContainer,t);return r&&null!=qs(Id(this._lContainer),t)?new wi(r):null}_adjustIndex(n,t=0){return n??this.length+t}};function Oy(e){return e[8]}function Id(e){return e[8]||(e[8]=[])}let Fy=function ky(e,n,t,r){if(e[Xt])return;let o;o=8&t.type?pe(r):function bN(e,n){const t=e[q],r=t.createComment(""),o=st(n,e);return ar(t,ia(t,o),r,function Z1(e,n){return e.nextSibling(n)}(t,o),!1),r}(n,t),e[Xt]=o};const kd=new P("Application Initializer");let Ld=(()=>{class e{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,r)=>{this.resolve=t,this.reject=r}),this.appInits=R(kd,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const t=[];for(const o of this.appInits){const i=o();if(Ti(i))t.push(i);else if(Gv(i)){const s=new Promise((a,u)=>{i.subscribe({complete:a,error:u})});t.push(s)}}const r=()=>{this.done=!0,this.resolve()};Promise.all(t).then(()=>{r()}).catch(o=>{this.reject(o)}),0===t.length&&r(),this.initialized=!0}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),aD=(()=>{class e{log(t){console.log(t)}warn(t){console.warn(t)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();const En=new P("LocaleId",{providedIn:"root",factory:()=>R(En,X.Optional|X.SkipSelf)||function eR(){return typeof $localize<"u"&&$localize.locale||yo}()});let qa=(()=>{class e{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new bt(!1)}add(){this.hasPendingTasks.next(!0);const t=this.taskId++;return this.pendingTasks.add(t),t}remove(t){this.pendingTasks.delete(t),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();class rR{constructor(n,t){this.ngModuleFactory=n,this.componentFactories=t}}let uD=(()=>{class e{compileModuleSync(t){return new Cd(t)}compileModuleAsync(t){return Promise.resolve(this.compileModuleSync(t))}compileModuleAndAllComponentsSync(t){const r=this.compileModuleSync(t),i=Cn(pt(t).declarations).reduce((s,a)=>{const u=K(a);return u&&s.push(new bi(u)),s},[]);return new rR(r,i)}compileModuleAndAllComponentsAsync(t){return Promise.resolve(this.compileModuleAndAllComponentsSync(t))}clearCache(){}clearCacheFor(t){}getModuleId(t){}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const fD=new P(""),Za=new P("");let Hd,Bd=(()=>{class e{constructor(t,r,o){this._ngZone=t,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Hd||(function IR(e){Hd=e}(o),o.addToWindow(r)),this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{ge.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(t)||(clearTimeout(r.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,r,o){let i=-1;r&&r>0&&(i=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==i),t(this._didWork,this.getPendingTasks())},r)),this._callbacks.push({doneCb:t,timeoutId:i,updateCb:o})}whenStable(t,r,o){if(o&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,r,o),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(t){this.registry.registerApplication(t,this)}unregisterApplication(t){this.registry.unregisterApplication(t)}findProviders(t,r,o){return[]}static#e=this.\u0275fac=function(r){return new(r||e)(k(ge),k($d),k(Za))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})(),$d=(()=>{class e{constructor(){this._applications=new Map}registerApplication(t,r){this._applications.set(t,r)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,r=!0){return Hd?.findTestabilityInTree(this,t,r)??null}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})(),zn=null;const hD=new P("AllowMultipleToken"),Ud=new P("PlatformDestroyListeners"),zd=new P("appBootstrapListener");class gD{constructor(n,t){this.name=n,this.token=t}}function vD(e,n,t=[]){const r=`Platform: ${n}`,o=new P(r);return(i=[])=>{let s=Gd();if(!s||s.injector.get(hD,!1)){const a=[...t,...i,{provide:o,useValue:!0}];e?e(a):function TR(e){if(zn&&!zn.get(hD,!1))throw new I(400,!1);(function pD(){!function K0(e){Np=e}(()=>{throw new I(600,!1)})})(),zn=e;const n=e.get(yD);(function mD(e){e.get(wm,null)?.forEach(t=>t())})(e)}(function _D(e=[],n){return yt.create({name:n,providers:[{provide:El,useValue:"platform"},{provide:Ud,useValue:new Set([()=>zn=null])},...e]})}(a,r))}return function xR(e){const n=Gd();if(!n)throw new I(401,!1);return n}()}}function Gd(){return zn?.get(yD)??null}let yD=(()=>{class e{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,r){const o=function NR(e="zone.js",n){return"noop"===e?new cS:"zone.js"===e?new ge(n):e}(r?.ngZone,function DD(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}({eventCoalescing:r?.ngZoneEventCoalescing,runCoalescing:r?.ngZoneRunCoalescing}));return o.run(()=>{const i=function Hx(e,n,t){return new Dd(e,n,t)}(t.moduleType,this.injector,function ID(e){return[{provide:ge,useFactory:e},{provide:gi,multi:!0,useFactory:()=>{const n=R(OR,{optional:!0});return()=>n.initialize()}},{provide:ED,useFactory:RR},{provide:jm,useFactory:Bm}]}(()=>o)),s=i.injector.get(Dn,null);return o.runOutsideAngular(()=>{const a=o.onError.subscribe({next:u=>{s.handleError(u)}});i.onDestroy(()=>{Ya(this._modules,i),a.unsubscribe()})}),function CD(e,n,t){try{const r=t();return Ti(r)?r.catch(o=>{throw n.runOutsideAngular(()=>e.handleError(o)),o}):r}catch(r){throw n.runOutsideAngular(()=>e.handleError(r)),r}}(s,o,()=>{const a=i.injector.get(Ld);return a.runInitializers(),a.donePromise.then(()=>(function H_(e){Et(e,"Expected localeId to be defined"),"string"==typeof e&&($_=e.toLowerCase().replace(/_/g,"-"))}(i.injector.get(En,yo)||yo),this._moduleDoBootstrap(i),i))})})}bootstrapModule(t,r=[]){const o=wD({},r);return function MR(e,n,t){const r=new Cd(t);return Promise.resolve(r)}(0,0,t).then(i=>this.bootstrapModuleFactory(i,o))}_moduleDoBootstrap(t){const r=t.injector.get(wo);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(o=>r.bootstrap(o));else{if(!t.instance.ngDoBootstrap)throw new I(-403,!1);t.instance.ngDoBootstrap(r)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new I(404,!1);this._modules.slice().forEach(r=>r.destroy()),this._destroyListeners.forEach(r=>r());const t=this._injector.get(Ud,null);t&&(t.forEach(r=>r()),t.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}static#e=this.\u0275fac=function(r){return new(r||e)(k(yt))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();function wD(e,n){return Array.isArray(n)?n.reduce(wD,e):{...e,...n}}let wo=(()=>{class e{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=R(ED),this.zoneIsStable=R(jm),this.componentTypes=[],this.components=[],this.isStable=R(qa).hasPendingTasks.pipe(Lt(t=>t?B(!1):this.zoneIsStable),function l0(e,n=Nn){return e=e??d0,xe((t,r)=>{let o,i=!0;t.subscribe(Te(r,s=>{const a=n(s);(i||!e(o,a))&&(i=!1,o=a,r.next(s))}))})}(),Yh()),this._injector=R(vt)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(t,r){const o=t instanceof Sm;if(!this._injector.get(Ld).done)throw!o&&function Ar(e){const n=K(e)||Ve(e)||Ye(e);return null!==n&&n.standalone}(t),new I(405,!1);let s;s=o?t:this._injector.get(Da).resolveComponentFactory(t),this.componentTypes.push(s.componentType);const a=function SR(e){return e.isBoundToModule}(s)?void 0:this._injector.get(hr),c=s.create(yt.NULL,[],r||s.selector,a),l=c.location.nativeElement,d=c.injector.get(fD,null);return d?.registerApplication(l),c.onDestroy(()=>{this.detachView(c.hostView),Ya(this.components,c),d?.unregisterApplication(l)}),this._loadComponent(c),c}tick(){if(this._runningTick)throw new I(101,!1);try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this.internalErrorHandler(t)}finally{this._runningTick=!1}}attachView(t){const r=t;this._views.push(r),r.attachToAppRef(this)}detachView(t){const r=t;Ya(this._views,r),r.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t);const r=this._injector.get(zd,[]);r.push(...this._bootstrapListeners),r.forEach(o=>o(t))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(t=>t()),this._views.slice().forEach(t=>t.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(t){return this._destroyListeners.push(t),()=>Ya(this._destroyListeners,t)}destroy(){if(this._destroyed)throw new I(406,!1);const t=this._injector;t.destroy&&!t.destroyed&&t.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Ya(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}const ED=new P("",{providedIn:"root",factory:()=>R(Dn).handleError.bind(void 0)});function RR(){const e=R(ge),n=R(Dn);return t=>e.runOutsideAngular(()=>n.handleError(t))}let OR=(()=>{class e{constructor(){this.zone=R(ge),this.applicationRef=R(wo)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();let Qa=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=FR}return e})();function FR(e){return function kR(e,n,t){if(rr(e)&&!t){const r=gt(e.index,n);return new wi(r,r)}return 47&e.type?new wi(n[Me],n):null}($e(),w(),16==(16&e))}class AD{constructor(){}supports(n){return Ta(n)}create(n){return new HR(n)}}const $R=(e,n)=>n;class HR{constructor(n){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=n||$R}forEachItem(n){let t;for(t=this._itHead;null!==t;t=t._next)n(t)}forEachOperation(n){let t=this._itHead,r=this._removalsHead,o=0,i=null;for(;t||r;){const s=!r||t&&t.currentIndex{s=this._trackByFn(o,a),null!==t&&Object.is(t.trackById,s)?(r&&(t=this._verifyReinsertion(t,a,s,o)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,s,o),r=!0),t=t._next,o++}),this.length=o;return this._truncate(t),this.collection=n,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let n;for(n=this._previousItHead=this._itHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._additionsHead;null!==n;n=n._nextAdded)n.previousIndex=n.currentIndex;for(this._additionsHead=this._additionsTail=null,n=this._movesHead;null!==n;n=n._nextMoved)n.previousIndex=n.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(n,t,r,o){let i;return null===n?i=this._itTail:(i=n._prev,this._remove(n)),null!==(n=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._reinsertAfter(n,i,o)):null!==(n=null===this._linkedRecords?null:this._linkedRecords.get(r,o))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._moveAfter(n,i,o)):n=this._addAfter(new UR(t,r),i,o),n}_verifyReinsertion(n,t,r,o){let i=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null);return null!==i?n=this._reinsertAfter(i,n._prev,o):n.currentIndex!=o&&(n.currentIndex=o,this._addToMoves(n,o)),n}_truncate(n){for(;null!==n;){const t=n._next;this._addToRemovals(this._unlink(n)),n=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(n,t,r){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(n);const o=n._prevRemoved,i=n._nextRemoved;return null===o?this._removalsHead=i:o._nextRemoved=i,null===i?this._removalsTail=o:i._prevRemoved=o,this._insertAfter(n,t,r),this._addToMoves(n,r),n}_moveAfter(n,t,r){return this._unlink(n),this._insertAfter(n,t,r),this._addToMoves(n,r),n}_addAfter(n,t,r){return this._insertAfter(n,t,r),this._additionsTail=null===this._additionsTail?this._additionsHead=n:this._additionsTail._nextAdded=n,n}_insertAfter(n,t,r){const o=null===t?this._itHead:t._next;return n._next=o,n._prev=t,null===o?this._itTail=n:o._prev=n,null===t?this._itHead=n:t._next=n,null===this._linkedRecords&&(this._linkedRecords=new xD),this._linkedRecords.put(n),n.currentIndex=r,n}_remove(n){return this._addToRemovals(this._unlink(n))}_unlink(n){null!==this._linkedRecords&&this._linkedRecords.remove(n);const t=n._prev,r=n._next;return null===t?this._itHead=r:t._next=r,null===r?this._itTail=t:r._prev=t,n}_addToMoves(n,t){return n.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=n:this._movesTail._nextMoved=n),n}_addToRemovals(n){return null===this._unlinkedRecords&&(this._unlinkedRecords=new xD),this._unlinkedRecords.put(n),n.currentIndex=null,n._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=n,n._prevRemoved=null):(n._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=n),n}_addIdentityChange(n,t){return n.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=n:this._identityChangesTail._nextIdentityChange=n,n}}class UR{constructor(n,t){this.item=n,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class zR{constructor(){this._head=null,this._tail=null}add(n){null===this._head?(this._head=this._tail=n,n._nextDup=null,n._prevDup=null):(this._tail._nextDup=n,n._prevDup=this._tail,n._nextDup=null,this._tail=n)}get(n,t){let r;for(r=this._head;null!==r;r=r._nextDup)if((null===t||t<=r.currentIndex)&&Object.is(r.trackById,n))return r;return null}remove(n){const t=n._prevDup,r=n._nextDup;return null===t?this._head=r:t._nextDup=r,null===r?this._tail=t:r._prevDup=t,null===this._head}}class xD{constructor(){this.map=new Map}put(n){const t=n.trackById;let r=this.map.get(t);r||(r=new zR,this.map.set(t,r)),r.add(n)}get(n,t){const o=this.map.get(n);return o?o.get(n,t):null}remove(n){const t=n.trackById;return this.map.get(t).remove(n)&&this.map.delete(t),n}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function ND(e,n,t){const r=e.previousIndex;if(null===r)return r;let o=0;return t&&r{if(t&&t.key===o)this._maybeAddToChanges(t,r),this._appendAfter=t,t=t._next;else{const i=this._getOrCreateRecordForKey(o,r);t=this._insertBeforeOrAppend(t,i)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let r=t;null!==r;r=r._nextRemoved)r===this._mapHead&&(this._mapHead=null),this._records.delete(r.key),r._nextRemoved=r._next,r.previousValue=r.currentValue,r.currentValue=null,r._prev=null,r._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(n,t){if(n){const r=n._prev;return t._next=n,t._prev=r,n._prev=t,r&&(r._next=t),n===this._mapHead&&(this._mapHead=t),this._appendAfter=n,n}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(n,t){if(this._records.has(n)){const o=this._records.get(n);this._maybeAddToChanges(o,t);const i=o._prev,s=o._next;return i&&(i._next=s),s&&(s._prev=i),o._next=null,o._prev=null,o}const r=new qR(n);return this._records.set(n,r),r.currentValue=t,this._addToAdditions(r),r}_reset(){if(this.isDirty){let n;for(this._previousMapHead=this._mapHead,n=this._previousMapHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._changesHead;null!==n;n=n._nextChanged)n.previousValue=n.currentValue;for(n=this._additionsHead;null!=n;n=n._nextAdded)n.previousValue=n.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(n,t){Object.is(t,n.currentValue)||(n.previousValue=n.currentValue,n.currentValue=t,this._addToChanges(n))}_addToAdditions(n){null===this._additionsHead?this._additionsHead=this._additionsTail=n:(this._additionsTail._nextAdded=n,this._additionsTail=n)}_addToChanges(n){null===this._changesHead?this._changesHead=this._changesTail=n:(this._changesTail._nextChanged=n,this._changesTail=n)}_forEach(n,t){n instanceof Map?n.forEach(t):Object.keys(n).forEach(r=>t(n[r],r))}}class qR{constructor(n){this.key=n,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function OD(){return new Ka([new AD])}let Ka=(()=>{class e{static#e=this.\u0275prov=V({token:e,providedIn:"root",factory:OD});constructor(t){this.factories=t}static create(t,r){if(null!=r){const o=r.factories.slice();t=t.concat(o)}return new e(t)}static extend(t){return{provide:e,useFactory:r=>e.create(t,r||OD()),deps:[[e,new Ys,new Zs]]}}find(t){const r=this.factories.find(o=>o.supports(t));if(null!=r)return r;throw new I(901,!1)}}return e})();function PD(){return new Bi([new RD])}let Bi=(()=>{class e{static#e=this.\u0275prov=V({token:e,providedIn:"root",factory:PD});constructor(t){this.factories=t}static create(t,r){if(r){const o=r.factories.slice();t=t.concat(o)}return new e(t)}static extend(t){return{provide:e,useFactory:r=>e.create(t,r||PD()),deps:[[e,new Ys,new Zs]]}}find(t){const r=this.factories.find(o=>o.supports(t));if(r)return r;throw new I(901,!1)}}return e})();const YR=vD(null,"core",[]);let QR=(()=>{class e{constructor(t){}static#e=this.\u0275fac=function(r){return new(r||e)(k(wo))};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({})}return e})();let Xd=null;function Gn(){return Xd}class lO{}const Ct=new P("DocumentToken");let Jd=(()=>{class e{historyGo(t){throw new Error("Not implemented")}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:function(){return R(fO)},providedIn:"platform"})}return e})();const dO=new P("Location Initialized");let fO=(()=>{class e extends Jd{constructor(){super(),this._doc=R(Ct),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Gn().getBaseHref(this._doc)}onPopState(t){const r=Gn().getGlobalEventTarget(this._doc,"window");return r.addEventListener("popstate",t,!1),()=>r.removeEventListener("popstate",t)}onHashChange(t){const r=Gn().getGlobalEventTarget(this._doc,"window");return r.addEventListener("hashchange",t,!1),()=>r.removeEventListener("hashchange",t)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(t){this._location.pathname=t}pushState(t,r,o){this._history.pushState(t,r,o)}replaceState(t,r,o){this._history.replaceState(t,r,o)}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:function(){return new e},providedIn:"platform"})}return e})();function Kd(e,n){if(0==e.length)return n;if(0==n.length)return e;let t=0;return e.endsWith("/")&&t++,n.startsWith("/")&&t++,2==t?e+n.substring(1):1==t?e+n:e+"/"+n}function UD(e){const n=e.match(/#|\?|$/),t=n&&n.index||e.length;return e.slice(0,t-("/"===e[t-1]?1:0))+e.slice(t)}function In(e){return e&&"?"!==e[0]?"?"+e:e}let gr=(()=>{class e{historyGo(t){throw new Error("Not implemented")}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:function(){return R(GD)},providedIn:"root"})}return e})();const zD=new P("appBaseHref");let GD=(()=>{class e extends gr{constructor(t,r){super(),this._platformLocation=t,this._removeListenerFns=[],this._baseHref=r??this._platformLocation.getBaseHrefFromDOM()??R(Ct).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return Kd(this._baseHref,t)}path(t=!1){const r=this._platformLocation.pathname+In(this._platformLocation.search),o=this._platformLocation.hash;return o&&t?`${r}${o}`:r}pushState(t,r,o,i){const s=this.prepareExternalUrl(o+In(i));this._platformLocation.pushState(t,r,s)}replaceState(t,r,o,i){const s=this.prepareExternalUrl(o+In(i));this._platformLocation.replaceState(t,r,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(t=0){this._platformLocation.historyGo?.(t)}static#e=this.\u0275fac=function(r){return new(r||e)(k(Jd),k(zD,8))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),hO=(()=>{class e extends gr{constructor(t,r){super(),this._platformLocation=t,this._baseHref="",this._removeListenerFns=[],null!=r&&(this._baseHref=r)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}path(t=!1){let r=this._platformLocation.hash;return null==r&&(r="#"),r.length>0?r.substring(1):r}prepareExternalUrl(t){const r=Kd(this._baseHref,t);return r.length>0?"#"+r:r}pushState(t,r,o,i){let s=this.prepareExternalUrl(o+In(i));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.pushState(t,r,s)}replaceState(t,r,o,i){let s=this.prepareExternalUrl(o+In(i));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.replaceState(t,r,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(t=0){this._platformLocation.historyGo?.(t)}static#e=this.\u0275fac=function(r){return new(r||e)(k(Jd),k(zD,8))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})(),ef=(()=>{class e{constructor(t){this._subject=new we,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=t;const r=this._locationStrategy.getBaseHref();this._basePath=function mO(e){if(new RegExp("^(https?:)?//").test(e)){const[,t]=e.split(/\/\/[^\/]+/);return t}return e}(UD(qD(r))),this._locationStrategy.onPopState(o=>{this._subject.emit({url:this.path(!0),pop:!0,state:o.state,type:o.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(t=!1){return this.normalize(this._locationStrategy.path(t))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(t,r=""){return this.path()==this.normalize(t+In(r))}normalize(t){return e.stripTrailingSlash(function gO(e,n){if(!e||!n.startsWith(e))return n;const t=n.substring(e.length);return""===t||["/",";","?","#"].includes(t[0])?t:n}(this._basePath,qD(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._locationStrategy.prepareExternalUrl(t)}go(t,r="",o=null){this._locationStrategy.pushState(o,"",t,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+In(r)),o)}replaceState(t,r="",o=null){this._locationStrategy.replaceState(o,"",t,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+In(r)),o)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(t=0){this._locationStrategy.historyGo?.(t)}onUrlChange(t){return this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(r=>{this._notifyUrlChangeListeners(r.url,r.state)})),()=>{const r=this._urlChangeListeners.indexOf(t);this._urlChangeListeners.splice(r,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(t="",r){this._urlChangeListeners.forEach(o=>o(t,r))}subscribe(t,r,o){return this._subject.subscribe({next:t,error:r,complete:o})}static#e=this.normalizeQueryParams=In;static#t=this.joinWithSlash=Kd;static#n=this.stripTrailingSlash=UD;static#r=this.\u0275fac=function(r){return new(r||e)(k(gr))};static#o=this.\u0275prov=V({token:e,factory:function(){return function pO(){return new ef(k(gr))}()},providedIn:"root"})}return e})();function qD(e){return e.replace(/\/index.html$/,"")}function tC(e,n){n=encodeURIComponent(n);for(const t of e.split(";")){const r=t.indexOf("="),[o,i]=-1==r?[t,""]:[t.slice(0,r),t.slice(r+1)];if(o.trim()===n)return decodeURIComponent(i)}return null}const ff=/\s+/,nC=[];let du=(()=>{class e{constructor(t,r,o,i){this._iterableDiffers=t,this._keyValueDiffers=r,this._ngEl=o,this._renderer=i,this.initialClasses=nC,this.stateMap=new Map}set klass(t){this.initialClasses=null!=t?t.trim().split(ff):nC}set ngClass(t){this.rawClass="string"==typeof t?t.trim().split(ff):t}ngDoCheck(){for(const r of this.initialClasses)this._updateState(r,!0);const t=this.rawClass;if(Array.isArray(t)||t instanceof Set)for(const r of t)this._updateState(r,!0);else if(null!=t)for(const r of Object.keys(t))this._updateState(r,!!t[r]);this._applyStateDiff()}_updateState(t,r){const o=this.stateMap.get(t);void 0!==o?(o.enabled!==r&&(o.changed=!0,o.enabled=r),o.touched=!0):this.stateMap.set(t,{enabled:r,changed:!0,touched:!0})}_applyStateDiff(){for(const t of this.stateMap){const r=t[0],o=t[1];o.changed?(this._toggleClass(r,o.enabled),o.changed=!1):o.touched||(o.enabled&&this._toggleClass(r,!1),this.stateMap.delete(r)),o.touched=!1}}_toggleClass(t,r){(t=t.trim()).length>0&&t.split(ff).forEach(o=>{r?this._renderer.addClass(this._ngEl.nativeElement,o):this._renderer.removeClass(this._ngEl.nativeElement,o)})}static#e=this.\u0275fac=function(r){return new(r||e)(b(Ka),b(Bi),b(_t),b(yn))};static#t=this.\u0275dir=z({type:e,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"},standalone:!0})}return e})();class tP{constructor(n,t,r,o){this.$implicit=n,this.ngForOf=t,this.index=r,this.count=o}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let fu=(()=>{class e{set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}constructor(t,r,o){this._viewContainer=t,this._template=r,this._differs=o,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;!this._differ&&t&&(this._differ=this._differs.find(t).create(this.ngForTrackBy))}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const r=this._viewContainer;t.forEachOperation((o,i,s)=>{if(null==o.previousIndex)r.createEmbeddedView(this._template,new tP(o.item,this._ngForOf,-1,-1),null===s?void 0:s);else if(null==s)r.remove(null===i?void 0:i);else if(null!==i){const a=r.get(i);r.move(a,s),oC(a,o)}});for(let o=0,i=r.length;o{oC(r.get(o.currentIndex),o)})}static ngTemplateContextGuard(t,r){return!0}static#e=this.\u0275fac=function(r){return new(r||e)(b(zt),b(bn),b(Ka))};static#t=this.\u0275dir=z({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0})}return e})();function oC(e,n){e.context.$implicit=n.item}let Ui=(()=>{class e{constructor(t,r){this._viewContainer=t,this._context=new nP,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){iC("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){iC("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,r){return!0}static#e=this.\u0275fac=function(r){return new(r||e)(b(zt),b(bn))};static#t=this.\u0275dir=z({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0})}return e})();class nP{constructor(){this.$implicit=null,this.ngIf=null}}function iC(e,n){if(n&&!n.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${Re(n)}'.`)}let SP=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({})}return e})();function cC(e){return"server"===e}let NP=(()=>{class e{static#e=this.\u0275prov=V({token:e,providedIn:"root",factory:()=>new RP(k(Ct),window)})}return e})();class RP{constructor(n,t){this.document=n,this.window=t,this.offset=()=>[0,0]}setOffset(n){this.offset=Array.isArray(n)?()=>n:n}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(n){this.supportsScrolling()&&this.window.scrollTo(n[0],n[1])}scrollToAnchor(n){if(!this.supportsScrolling())return;const t=function OP(e,n){const t=e.getElementById(n)||e.getElementsByName(n)[0];if(t)return t;if("function"==typeof e.createTreeWalker&&e.body&&"function"==typeof e.body.attachShadow){const r=e.createTreeWalker(e.body,NodeFilter.SHOW_ELEMENT);let o=r.currentNode;for(;o;){const i=o.shadowRoot;if(i){const s=i.getElementById(n)||i.querySelector(`[name="${n}"]`);if(s)return s}o=r.nextNode()}}return null}(this.document,n);t&&(this.scrollToElement(t),t.focus())}setHistoryScrollRestoration(n){this.supportsScrolling()&&(this.window.history.scrollRestoration=n)}scrollToElement(n){const t=n.getBoundingClientRect(),r=t.left+this.window.pageXOffset,o=t.top+this.window.pageYOffset,i=this.offset();this.window.scrollTo(r-i[0],o-i[1])}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch{return!1}}}class lC{}class nF extends lO{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class yf extends nF{static makeCurrent(){!function cO(e){Xd||(Xd=e)}(new yf)}onAndCancel(n,t,r){return n.addEventListener(t,r),()=>{n.removeEventListener(t,r)}}dispatchEvent(n,t){n.dispatchEvent(t)}remove(n){n.parentNode&&n.parentNode.removeChild(n)}createElement(n,t){return(t=t||this.getDefaultDocument()).createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,t){return"window"===t?window:"document"===t?n:"body"===t?n.body:null}getBaseHref(n){const t=function rF(){return Gi=Gi||document.querySelector("base"),Gi?Gi.getAttribute("href"):null}();return null==t?null:function oF(e){gu=gu||document.createElement("a"),gu.setAttribute("href",e);const n=gu.pathname;return"/"===n.charAt(0)?n:`/${n}`}(t)}resetBaseElement(){Gi=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return tC(document.cookie,n)}}let gu,Gi=null,sF=(()=>{class e{build(){return new XMLHttpRequest}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();const Df=new P("EventManagerPlugins");let gC=(()=>{class e{constructor(t,r){this._zone=r,this._eventNameToPlugin=new Map,t.forEach(o=>{o.manager=this}),this._plugins=t.slice().reverse()}addEventListener(t,r,o){return this._findPluginFor(r).addEventListener(t,r,o)}getZone(){return this._zone}_findPluginFor(t){let r=this._eventNameToPlugin.get(t);if(r)return r;if(r=this._plugins.find(i=>i.supports(t)),!r)throw new I(5101,!1);return this._eventNameToPlugin.set(t,r),r}static#e=this.\u0275fac=function(r){return new(r||e)(k(Df),k(ge))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();class mC{constructor(n){this._doc=n}}const Cf="ng-app-id";let vC=(()=>{class e{constructor(t,r,o,i={}){this.doc=t,this.appId=r,this.nonce=o,this.platformId=i,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=cC(i),this.resetHostNodes()}addStyles(t){for(const r of t)1===this.changeUsageCount(r,1)&&this.onStyleAdded(r)}removeStyles(t){for(const r of t)this.changeUsageCount(r,-1)<=0&&this.onStyleRemoved(r)}ngOnDestroy(){const t=this.styleNodesInDOM;t&&(t.forEach(r=>r.remove()),t.clear());for(const r of this.getAllStyles())this.onStyleRemoved(r);this.resetHostNodes()}addHost(t){this.hostNodes.add(t);for(const r of this.getAllStyles())this.addStyleToHost(t,r)}removeHost(t){this.hostNodes.delete(t)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(t){for(const r of this.hostNodes)this.addStyleToHost(r,t)}onStyleRemoved(t){const r=this.styleRef;r.get(t)?.elements?.forEach(o=>o.remove()),r.delete(t)}collectServerRenderedStyles(){const t=this.doc.head?.querySelectorAll(`style[${Cf}="${this.appId}"]`);if(t?.length){const r=new Map;return t.forEach(o=>{null!=o.textContent&&r.set(o.textContent,o)}),r}return null}changeUsageCount(t,r){const o=this.styleRef;if(o.has(t)){const i=o.get(t);return i.usage+=r,i.usage}return o.set(t,{usage:r,elements:[]}),r}getStyleElement(t,r){const o=this.styleNodesInDOM,i=o?.get(r);if(i?.parentNode===t)return o.delete(r),i.removeAttribute(Cf),i;{const s=this.doc.createElement("style");return this.nonce&&s.setAttribute("nonce",this.nonce),s.textContent=r,this.platformIsServer&&s.setAttribute(Cf,this.appId),s}}addStyleToHost(t,r){const o=this.getStyleElement(t,r);t.appendChild(o);const i=this.styleRef,s=i.get(r)?.elements;s?s.push(o):i.set(r,{elements:[o],usage:1})}resetHostNodes(){const t=this.hostNodes;t.clear(),t.add(this.doc.head)}static#e=this.\u0275fac=function(r){return new(r||e)(k(Ct),k(pa),k(bm,8),k(cr))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();const wf={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},bf=/%COMP%/g,lF=new P("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function yC(e,n){return n.map(t=>t.replace(bf,e))}let DC=(()=>{class e{constructor(t,r,o,i,s,a,u,c=null){this.eventManager=t,this.sharedStylesHost=r,this.appId=o,this.removeStylesOnCompDestroy=i,this.doc=s,this.platformId=a,this.ngZone=u,this.nonce=c,this.rendererByCompId=new Map,this.platformIsServer=cC(a),this.defaultRenderer=new Ef(t,s,u,this.platformIsServer)}createRenderer(t,r){if(!t||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===Vt.ShadowDom&&(r={...r,encapsulation:Vt.Emulated});const o=this.getOrCreateRenderer(t,r);return o instanceof wC?o.applyToHost(t):o instanceof If&&o.applyStyles(),o}getOrCreateRenderer(t,r){const o=this.rendererByCompId;let i=o.get(r.id);if(!i){const s=this.doc,a=this.ngZone,u=this.eventManager,c=this.sharedStylesHost,l=this.removeStylesOnCompDestroy,d=this.platformIsServer;switch(r.encapsulation){case Vt.Emulated:i=new wC(u,c,r,this.appId,l,s,a,d);break;case Vt.ShadowDom:return new pF(u,c,t,r,s,a,this.nonce,d);default:i=new If(u,c,r,l,s,a,d)}o.set(r.id,i)}return i}ngOnDestroy(){this.rendererByCompId.clear()}static#e=this.\u0275fac=function(r){return new(r||e)(k(gC),k(vC),k(pa),k(lF),k(Ct),k(cr),k(ge),k(bm))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();class Ef{constructor(n,t,r,o){this.eventManager=n,this.doc=t,this.ngZone=r,this.platformIsServer=o,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(n,t){return t?this.doc.createElementNS(wf[t]||t,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,t){(CC(n)?n.content:n).appendChild(t)}insertBefore(n,t,r){n&&(CC(n)?n.content:n).insertBefore(t,r)}removeChild(n,t){n&&n.removeChild(t)}selectRootElement(n,t){let r="string"==typeof n?this.doc.querySelector(n):n;if(!r)throw new I(-5104,!1);return t||(r.textContent=""),r}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,t,r,o){if(o){t=o+":"+t;const i=wf[o];i?n.setAttributeNS(i,t,r):n.setAttribute(t,r)}else n.setAttribute(t,r)}removeAttribute(n,t,r){if(r){const o=wf[r];o?n.removeAttributeNS(o,t):n.removeAttribute(`${r}:${t}`)}else n.removeAttribute(t)}addClass(n,t){n.classList.add(t)}removeClass(n,t){n.classList.remove(t)}setStyle(n,t,r,o){o&(jn.DashCase|jn.Important)?n.style.setProperty(t,r,o&jn.Important?"important":""):n.style[t]=r}removeStyle(n,t,r){r&jn.DashCase?n.style.removeProperty(t):n.style[t]=""}setProperty(n,t,r){n[t]=r}setValue(n,t){n.nodeValue=t}listen(n,t,r){if("string"==typeof n&&!(n=Gn().getGlobalEventTarget(this.doc,n)))throw new Error(`Unsupported event target ${n} for event ${t}`);return this.eventManager.addEventListener(n,t,this.decoratePreventDefault(r))}decoratePreventDefault(n){return t=>{if("__ngUnwrap__"===t)return n;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>n(t)):n(t))&&t.preventDefault()}}}function CC(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class pF extends Ef{constructor(n,t,r,o,i,s,a,u){super(n,i,s,u),this.sharedStylesHost=t,this.hostEl=r,this.shadowRoot=r.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=yC(o.id,o.styles);for(const l of c){const d=document.createElement("style");a&&d.setAttribute("nonce",a),d.textContent=l,this.shadowRoot.appendChild(d)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,t){return super.appendChild(this.nodeOrShadowRoot(n),t)}insertBefore(n,t,r){return super.insertBefore(this.nodeOrShadowRoot(n),t,r)}removeChild(n,t){return super.removeChild(this.nodeOrShadowRoot(n),t)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class If extends Ef{constructor(n,t,r,o,i,s,a,u){super(n,i,s,a),this.sharedStylesHost=t,this.removeStylesOnCompDestroy=o,this.styles=u?yC(u,r.styles):r.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class wC extends If{constructor(n,t,r,o,i,s,a,u){const c=o+"-"+r.id;super(n,t,r,i,s,a,u,c),this.contentAttr=function dF(e){return"_ngcontent-%COMP%".replace(bf,e)}(c),this.hostAttr=function fF(e){return"_nghost-%COMP%".replace(bf,e)}(c)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,t){const r=super.createElement(n,t);return super.setAttribute(r,this.contentAttr,""),r}}let gF=(()=>{class e extends mC{constructor(t){super(t)}supports(t){return!0}addEventListener(t,r,o){return t.addEventListener(r,o,!1),()=>this.removeEventListener(t,r,o)}removeEventListener(t,r,o){return t.removeEventListener(r,o)}static#e=this.\u0275fac=function(r){return new(r||e)(k(Ct))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();const bC=["alt","control","meta","shift"],mF={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},vF={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let _F=(()=>{class e extends mC{constructor(t){super(t)}supports(t){return null!=e.parseEventName(t)}addEventListener(t,r,o){const i=e.parseEventName(r),s=e.eventCallback(i.fullKey,o,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Gn().onAndCancel(t,i.domEventName,s))}static parseEventName(t){const r=t.toLowerCase().split("."),o=r.shift();if(0===r.length||"keydown"!==o&&"keyup"!==o)return null;const i=e._normalizeKey(r.pop());let s="",a=r.indexOf("code");if(a>-1&&(r.splice(a,1),s="code."),bC.forEach(c=>{const l=r.indexOf(c);l>-1&&(r.splice(l,1),s+=c+".")}),s+=i,0!=r.length||0===i.length)return null;const u={};return u.domEventName=o,u.fullKey=s,u}static matchEventFullKeyCode(t,r){let o=mF[t.key]||t.key,i="";return r.indexOf("code.")>-1&&(o=t.code,i="code."),!(null==o||!o)&&(o=o.toLowerCase()," "===o?o="space":"."===o&&(o="dot"),bC.forEach(s=>{s!==o&&(0,vF[s])(t)&&(i+=s+".")}),i+=o,i===r)}static eventCallback(t,r,o){return i=>{e.matchEventFullKeyCode(i,t)&&o.runGuarded(()=>r(i))}}static _normalizeKey(t){return"esc"===t?"escape":t}static#e=this.\u0275fac=function(r){return new(r||e)(k(Ct))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();const wF=vD(YR,"browser",[{provide:cr,useValue:"browser"},{provide:wm,useValue:function yF(){yf.makeCurrent()},multi:!0},{provide:Ct,useFactory:function CF(){return function nM(e){pl=e}(document),document},deps:[]}]),bF=new P(""),MC=[{provide:Za,useClass:class iF{addToWindow(n){he.getAngularTestability=(r,o=!0)=>{const i=n.findTestabilityInTree(r,o);if(null==i)throw new I(5103,!1);return i},he.getAllAngularTestabilities=()=>n.getAllTestabilities(),he.getAllAngularRootElements=()=>n.getAllRootElements(),he.frameworkStabilizers||(he.frameworkStabilizers=[]),he.frameworkStabilizers.push(r=>{const o=he.getAllAngularTestabilities();let i=o.length,s=!1;const a=function(u){s=s||u,i--,0==i&&r(s)};o.forEach(u=>{u.whenStable(a)})})}findTestabilityInTree(n,t,r){return null==t?null:n.getTestability(t)??(r?Gn().isShadowRoot(t)?this.findTestabilityInTree(n,t.host,!0):this.findTestabilityInTree(n,t.parentElement,!0):null)}},deps:[]},{provide:fD,useClass:Bd,deps:[ge,$d,Za]},{provide:Bd,useClass:Bd,deps:[ge,$d,Za]}],SC=[{provide:El,useValue:"root"},{provide:Dn,useFactory:function DF(){return new Dn},deps:[]},{provide:Df,useClass:gF,multi:!0,deps:[Ct,ge,cr]},{provide:Df,useClass:_F,multi:!0,deps:[Ct]},DC,vC,gC,{provide:Am,useExisting:DC},{provide:lC,useClass:sF,deps:[]},[]];let EF=(()=>{class e{constructor(t){}static withServerTransition(t){return{ngModule:e,providers:[{provide:pa,useValue:t.appId}]}}static#e=this.\u0275fac=function(r){return new(r||e)(k(bF,12))};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({providers:[...SC,...MC],imports:[SP,QR]})}return e})(),TC=(()=>{class e{constructor(t){this._doc=t}getTitle(){return this._doc.title}setTitle(t){this._doc.title=t||""}static#e=this.\u0275fac=function(r){return new(r||e)(k(Ct))};static#t=this.\u0275prov=V({token:e,factory:function(r){let o=null;return o=r?new r:function MF(){return new TC(k(Ct))}(),o},providedIn:"root"})}return e})();function Io(e,n){return le(n)?Le(e,n,1):Le(e,1)}function Tn(e,n){return xe((t,r)=>{let o=0;t.subscribe(Te(r,i=>e.call(n,i,o++)&&r.next(i)))})}function qi(e){return xe((n,t)=>{try{n.subscribe(t)}finally{t.add(e)}})}typeof window<"u"&&window;class mu{}class vu{}class an{constructor(n){this.normalizedNames=new Map,this.lazyUpdate=null,n?"string"==typeof n?this.lazyInit=()=>{this.headers=new Map,n.split("\n").forEach(t=>{const r=t.indexOf(":");if(r>0){const o=t.slice(0,r),i=o.toLowerCase(),s=t.slice(r+1).trim();this.maybeSetNormalizedName(o,i),this.headers.has(i)?this.headers.get(i).push(s):this.headers.set(i,[s])}})}:typeof Headers<"u"&&n instanceof Headers?(this.headers=new Map,n.forEach((t,r)=>{this.setHeaderEntries(r,t)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(n).forEach(([t,r])=>{this.setHeaderEntries(t,r)})}:this.headers=new Map}has(n){return this.init(),this.headers.has(n.toLowerCase())}get(n){this.init();const t=this.headers.get(n.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(n){return this.init(),this.headers.get(n.toLowerCase())||null}append(n,t){return this.clone({name:n,value:t,op:"a"})}set(n,t){return this.clone({name:n,value:t,op:"s"})}delete(n,t){return this.clone({name:n,value:t,op:"d"})}maybeSetNormalizedName(n,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,n)}init(){this.lazyInit&&(this.lazyInit instanceof an?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(n=>this.applyUpdate(n)),this.lazyUpdate=null))}copyFrom(n){n.init(),Array.from(n.headers.keys()).forEach(t=>{this.headers.set(t,n.headers.get(t)),this.normalizedNames.set(t,n.normalizedNames.get(t))})}clone(n){const t=new an;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof an?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([n]),t}applyUpdate(n){const t=n.name.toLowerCase();switch(n.op){case"a":case"s":let r=n.value;if("string"==typeof r&&(r=[r]),0===r.length)return;this.maybeSetNormalizedName(n.name,t);const o=("a"===n.op?this.headers.get(t):void 0)||[];o.push(...r),this.headers.set(t,o);break;case"d":const i=n.value;if(i){let s=this.headers.get(t);if(!s)return;s=s.filter(a=>-1===i.indexOf(a)),0===s.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,s)}else this.headers.delete(t),this.normalizedNames.delete(t)}}setHeaderEntries(n,t){const r=(Array.isArray(t)?t:[t]).map(i=>i.toString()),o=n.toLowerCase();this.headers.set(o,r),this.maybeSetNormalizedName(n,o)}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>n(this.normalizedNames.get(t),this.headers.get(t)))}}class NF{encodeKey(n){return RC(n)}encodeValue(n){return RC(n)}decodeKey(n){return decodeURIComponent(n)}decodeValue(n){return decodeURIComponent(n)}}const OF=/%(\d[a-f0-9])/gi,PF={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function RC(e){return encodeURIComponent(e).replace(OF,(n,t)=>PF[t]??n)}function _u(e){return`${e}`}class Wn{constructor(n={}){if(this.updates=null,this.cloneFrom=null,this.encoder=n.encoder||new NF,n.fromString){if(n.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function RF(e,n){const t=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(o=>{const i=o.indexOf("="),[s,a]=-1==i?[n.decodeKey(o),""]:[n.decodeKey(o.slice(0,i)),n.decodeValue(o.slice(i+1))],u=t.get(s)||[];u.push(a),t.set(s,u)}),t}(n.fromString,this.encoder)}else n.fromObject?(this.map=new Map,Object.keys(n.fromObject).forEach(t=>{const r=n.fromObject[t],o=Array.isArray(r)?r.map(_u):[_u(r)];this.map.set(t,o)})):this.map=null}has(n){return this.init(),this.map.has(n)}get(n){this.init();const t=this.map.get(n);return t?t[0]:null}getAll(n){return this.init(),this.map.get(n)||null}keys(){return this.init(),Array.from(this.map.keys())}append(n,t){return this.clone({param:n,value:t,op:"a"})}appendAll(n){const t=[];return Object.keys(n).forEach(r=>{const o=n[r];Array.isArray(o)?o.forEach(i=>{t.push({param:r,value:i,op:"a"})}):t.push({param:r,value:o,op:"a"})}),this.clone(t)}set(n,t){return this.clone({param:n,value:t,op:"s"})}delete(n,t){return this.clone({param:n,value:t,op:"d"})}toString(){return this.init(),this.keys().map(n=>{const t=this.encoder.encodeKey(n);return this.map.get(n).map(r=>t+"="+this.encoder.encodeValue(r)).join("&")}).filter(n=>""!==n).join("&")}clone(n){const t=new Wn({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(n),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(n=>this.map.set(n,this.cloneFrom.map.get(n))),this.updates.forEach(n=>{switch(n.op){case"a":case"s":const t=("a"===n.op?this.map.get(n.param):void 0)||[];t.push(_u(n.value)),this.map.set(n.param,t);break;case"d":if(void 0===n.value){this.map.delete(n.param);break}{let r=this.map.get(n.param)||[];const o=r.indexOf(_u(n.value));-1!==o&&r.splice(o,1),r.length>0?this.map.set(n.param,r):this.map.delete(n.param)}}}),this.cloneFrom=this.updates=null)}}class FF{constructor(){this.map=new Map}set(n,t){return this.map.set(n,t),this}get(n){return this.map.has(n)||this.map.set(n,n.defaultValue()),this.map.get(n)}delete(n){return this.map.delete(n),this}has(n){return this.map.has(n)}keys(){return this.map.keys()}}function OC(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function PC(e){return typeof Blob<"u"&&e instanceof Blob}function FC(e){return typeof FormData<"u"&&e instanceof FormData}class Wi{constructor(n,t,r,o){let i;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=n.toUpperCase(),function kF(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||o?(this.body=void 0!==r?r:null,i=o):i=r,i&&(this.reportProgress=!!i.reportProgress,this.withCredentials=!!i.withCredentials,i.responseType&&(this.responseType=i.responseType),i.headers&&(this.headers=i.headers),i.context&&(this.context=i.context),i.params&&(this.params=i.params)),this.headers||(this.headers=new an),this.context||(this.context=new FF),this.params){const s=this.params.toString();if(0===s.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":ad.set(g,n.setHeaders[g]),u)),n.setParams&&(c=Object.keys(n.setParams).reduce((d,g)=>d.set(g,n.setParams[g]),c)),new Wi(t,r,i,{params:c,headers:u,context:l,reportProgress:a,responseType:o,withCredentials:s})}}var Mo=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(Mo||{});class Sf{constructor(n,t=200,r="OK"){this.headers=n.headers||new an,this.status=void 0!==n.status?n.status:t,this.statusText=n.statusText||r,this.url=n.url||null,this.ok=this.status>=200&&this.status<300}}class Tf extends Sf{constructor(n={}){super(n),this.type=Mo.ResponseHeader}clone(n={}){return new Tf({headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class So extends Sf{constructor(n={}){super(n),this.type=Mo.Response,this.body=void 0!==n.body?n.body:null}clone(n={}){return new So({body:void 0!==n.body?n.body:this.body,headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class kC extends Sf{constructor(n){super(n,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${n.url||"(unknown url)"}`:`Http failure response for ${n.url||"(unknown url)"}: ${n.status} ${n.statusText}`,this.error=n.error||null}}function Af(e,n){return{body:n,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}let Zi=(()=>{class e{constructor(t){this.handler=t}request(t,r,o={}){let i;if(t instanceof Wi)i=t;else{let u,c;u=o.headers instanceof an?o.headers:new an(o.headers),o.params&&(c=o.params instanceof Wn?o.params:new Wn({fromObject:o.params})),i=new Wi(t,r,void 0!==o.body?o.body:null,{headers:u,context:o.context,params:c,reportProgress:o.reportProgress,responseType:o.responseType||"json",withCredentials:o.withCredentials})}const s=B(i).pipe(Io(u=>this.handler.handle(u)));if(t instanceof Wi||"events"===o.observe)return s;const a=s.pipe(Tn(u=>u instanceof So));switch(o.observe||"body"){case"body":switch(i.responseType){case"arraybuffer":return a.pipe(ne(u=>{if(null!==u.body&&!(u.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return u.body}));case"blob":return a.pipe(ne(u=>{if(null!==u.body&&!(u.body instanceof Blob))throw new Error("Response is not a Blob.");return u.body}));case"text":return a.pipe(ne(u=>{if(null!==u.body&&"string"!=typeof u.body)throw new Error("Response is not a string.");return u.body}));default:return a.pipe(ne(u=>u.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${o.observe}}`)}}delete(t,r={}){return this.request("DELETE",t,r)}get(t,r={}){return this.request("GET",t,r)}head(t,r={}){return this.request("HEAD",t,r)}jsonp(t,r){return this.request("JSONP",t,{params:(new Wn).append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,r={}){return this.request("OPTIONS",t,r)}patch(t,r,o={}){return this.request("PATCH",t,Af(o,r))}post(t,r,o={}){return this.request("POST",t,Af(o,r))}put(t,r,o={}){return this.request("PUT",t,Af(o,r))}static#e=this.\u0275fac=function(r){return new(r||e)(k(mu))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();function jC(e,n){return n(e)}function jF(e,n){return(t,r)=>n.intercept(t,{handle:o=>e(o,r)})}const $F=new P(""),Yi=new P(""),BC=new P("");function HF(){let e=null;return(n,t)=>{null===e&&(e=(R($F,{optional:!0})??[]).reduceRight(jF,jC));const r=R(qa),o=r.add();return e(n,t).pipe(qi(()=>r.remove(o)))}}let $C=(()=>{class e extends mu{constructor(t,r){super(),this.backend=t,this.injector=r,this.chain=null,this.pendingTasks=R(qa)}handle(t){if(null===this.chain){const o=Array.from(new Set([...this.injector.get(Yi),...this.injector.get(BC,[])]));this.chain=o.reduceRight((i,s)=>function BF(e,n,t){return(r,o)=>t.runInContext(()=>n(r,i=>e(i,o)))}(i,s,this.injector),jC)}const r=this.pendingTasks.add();return this.chain(t,o=>this.backend.handle(o)).pipe(qi(()=>this.pendingTasks.remove(r)))}static#e=this.\u0275fac=function(r){return new(r||e)(k(vu),k(vt))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();const qF=/^\)\]\}',?\n/;let UC=(()=>{class e{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new I(-2800,!1);const r=this.xhrFactory;return(r.\u0275loadImpl?Ne(r.\u0275loadImpl()):B(null)).pipe(Lt(()=>new Ee(i=>{const s=r.build();if(s.open(t.method,t.urlWithParams),t.withCredentials&&(s.withCredentials=!0),t.headers.forEach((y,C)=>s.setRequestHeader(y,C.join(","))),t.headers.has("Accept")||s.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const y=t.detectContentTypeHeader();null!==y&&s.setRequestHeader("Content-Type",y)}if(t.responseType){const y=t.responseType.toLowerCase();s.responseType="json"!==y?y:"text"}const a=t.serializeBody();let u=null;const c=()=>{if(null!==u)return u;const y=s.statusText||"OK",C=new an(s.getAllResponseHeaders()),M=function WF(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(s)||t.url;return u=new Tf({headers:C,status:s.status,statusText:y,url:M}),u},l=()=>{let{headers:y,status:C,statusText:M,url:D}=c(),O=null;204!==C&&(O=typeof s.response>"u"?s.responseText:s.response),0===C&&(C=O?200:0);let j=C>=200&&C<300;if("json"===t.responseType&&"string"==typeof O){const Q=O;O=O.replace(qF,"");try{O=""!==O?JSON.parse(O):null}catch(ke){O=Q,j&&(j=!1,O={error:ke,text:O})}}j?(i.next(new So({body:O,headers:y,status:C,statusText:M,url:D||void 0})),i.complete()):i.error(new kC({error:O,headers:y,status:C,statusText:M,url:D||void 0}))},d=y=>{const{url:C}=c(),M=new kC({error:y,status:s.status||0,statusText:s.statusText||"Unknown Error",url:C||void 0});i.error(M)};let g=!1;const v=y=>{g||(i.next(c()),g=!0);let C={type:Mo.DownloadProgress,loaded:y.loaded};y.lengthComputable&&(C.total=y.total),"text"===t.responseType&&s.responseText&&(C.partialText=s.responseText),i.next(C)},_=y=>{let C={type:Mo.UploadProgress,loaded:y.loaded};y.lengthComputable&&(C.total=y.total),i.next(C)};return s.addEventListener("load",l),s.addEventListener("error",d),s.addEventListener("timeout",d),s.addEventListener("abort",d),t.reportProgress&&(s.addEventListener("progress",v),null!==a&&s.upload&&s.upload.addEventListener("progress",_)),s.send(a),i.next({type:Mo.Sent}),()=>{s.removeEventListener("error",d),s.removeEventListener("abort",d),s.removeEventListener("load",l),s.removeEventListener("timeout",d),t.reportProgress&&(s.removeEventListener("progress",v),null!==a&&s.upload&&s.upload.removeEventListener("progress",_)),s.readyState!==s.DONE&&s.abort()}})))}static#e=this.\u0275fac=function(r){return new(r||e)(k(lC))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();const xf=new P("XSRF_ENABLED"),zC=new P("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),GC=new P("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class qC{}let QF=(()=>{class e{constructor(t,r,o){this.doc=t,this.platform=r,this.cookieName=o,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=tC(t,this.cookieName),this.lastCookieString=t),this.lastToken}static#e=this.\u0275fac=function(r){return new(r||e)(k(Ct),k(cr),k(zC))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();function XF(e,n){const t=e.url.toLowerCase();if(!R(xf)||"GET"===e.method||"HEAD"===e.method||t.startsWith("http://")||t.startsWith("https://"))return n(e);const r=R(qC).getToken(),o=R(GC);return null!=r&&!e.headers.has(o)&&(e=e.clone({headers:e.headers.set(o,r)})),n(e)}var Zn=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(Zn||{});function JF(...e){const n=[Zi,UC,$C,{provide:mu,useExisting:$C},{provide:vu,useExisting:UC},{provide:Yi,useValue:XF,multi:!0},{provide:xf,useValue:!0},{provide:qC,useClass:QF}];for(const t of e)n.push(...t.\u0275providers);return function Cl(e){return{\u0275providers:e}}(n)}const WC=new P("LEGACY_INTERCEPTOR_FN");function KF(){return function mr(e,n){return{\u0275kind:e,\u0275providers:n}}(Zn.LegacyInterceptors,[{provide:WC,useFactory:HF},{provide:Yi,useExisting:WC,multi:!0}])}let ek=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({providers:[JF(KF())]})}return e})();const{isArray:sk}=Array,{getPrototypeOf:ak,prototype:uk,keys:ck}=Object;function ZC(e){if(1===e.length){const n=e[0];if(sk(n))return{args:n,keys:null};if(function lk(e){return e&&"object"==typeof e&&ak(e)===uk}(n)){const t=ck(n);return{args:t.map(r=>n[r]),keys:t}}}return{args:e,keys:null}}const{isArray:dk}=Array;function YC(e){return ne(n=>function fk(e,n){return dk(n)?e(...n):e(n)}(e,n))}function QC(e,n){return e.reduce((t,r,o)=>(t[r]=n[o],t),{})}let XC=(()=>{class e{constructor(t,r){this._renderer=t,this._elementRef=r,this.onChange=o=>{},this.onTouched=()=>{}}setProperty(t,r){this._renderer.setProperty(this._elementRef.nativeElement,t,r)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}static#e=this.\u0275fac=function(r){return new(r||e)(b(yn),b(_t))};static#t=this.\u0275dir=z({type:e})}return e})(),vr=(()=>{class e extends XC{static#e=this.\u0275fac=function(){let t;return function(o){return(t||(t=He(e)))(o||e)}}();static#t=this.\u0275dir=z({type:e,features:[ue]})}return e})();const un=new P("NgValueAccessor"),gk={provide:un,useExisting:fe(()=>Qi),multi:!0},vk=new P("CompositionEventMode");let Qi=(()=>{class e extends XC{constructor(t,r,o){super(t,r),this._compositionMode=o,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function mk(){const e=Gn()?Gn().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(t){this.setProperty("value",t??"")}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}static#e=this.\u0275fac=function(r){return new(r||e)(b(yn),b(_t),b(vk,8))};static#t=this.\u0275dir=z({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(r,o){1&r&&re("input",function(s){return o._handleInput(s.target.value)})("blur",function(){return o.onTouched()})("compositionstart",function(){return o._compositionStart()})("compositionend",function(s){return o._compositionEnd(s.target.value)})},features:[ye([gk]),ue]})}return e})();const qe=new P("NgValidators"),Qn=new P("NgAsyncValidators");function uw(e){return null!=e}function cw(e){return Ti(e)?Ne(e):e}function lw(e){let n={};return e.forEach(t=>{n=null!=t?{...n,...t}:n}),0===Object.keys(n).length?null:n}function dw(e,n){return n.map(t=>t(e))}function fw(e){return e.map(n=>function yk(e){return!e.validate}(n)?n:t=>n.validate(t))}function Nf(e){return null!=e?function hw(e){if(!e)return null;const n=e.filter(uw);return 0==n.length?null:function(t){return lw(dw(t,n))}}(fw(e)):null}function Rf(e){return null!=e?function pw(e){if(!e)return null;const n=e.filter(uw);return 0==n.length?null:function(t){return function hk(...e){const n=Gh(e),{args:t,keys:r}=ZC(e),o=new Ee(i=>{const{length:s}=t;if(!s)return void i.complete();const a=new Array(s);let u=s,c=s;for(let l=0;l{d||(d=!0,c--),a[l]=g},()=>u--,void 0,()=>{(!u||!d)&&(c||i.next(r?QC(r,a):a),i.complete())}))}});return n?o.pipe(YC(n)):o}(dw(t,n).map(cw)).pipe(ne(lw))}}(fw(e)):null}function gw(e,n){return null===e?[n]:Array.isArray(e)?[...e,n]:[e,n]}function Of(e){return e?Array.isArray(e)?e:[e]:[]}function Cu(e,n){return Array.isArray(e)?e.includes(n):e===n}function _w(e,n){const t=Of(n);return Of(e).forEach(o=>{Cu(t,o)||t.push(o)}),t}function yw(e,n){return Of(n).filter(t=>!Cu(e,t))}class Dw{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(n){this._rawValidators=n||[],this._composedValidatorFn=Nf(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=Rf(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(n){this._onDestroyCallbacks.push(n)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(n=>n()),this._onDestroyCallbacks=[]}reset(n=void 0){this.control&&this.control.reset(n)}hasError(n,t){return!!this.control&&this.control.hasError(n,t)}getError(n,t){return this.control?this.control.getError(n,t):null}}class rt extends Dw{get formDirective(){return null}get path(){return null}}class Xn extends Dw{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class Cw{constructor(n){this._cd=n}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let Pf=(()=>{class e extends Cw{constructor(t){super(t)}static#e=this.\u0275fac=function(r){return new(r||e)(b(Xn,2))};static#t=this.\u0275dir=z({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(r,o){2&r&&Pa("ng-untouched",o.isUntouched)("ng-touched",o.isTouched)("ng-pristine",o.isPristine)("ng-dirty",o.isDirty)("ng-valid",o.isValid)("ng-invalid",o.isInvalid)("ng-pending",o.isPending)},features:[ue]})}return e})(),ww=(()=>{class e extends Cw{constructor(t){super(t)}static#e=this.\u0275fac=function(r){return new(r||e)(b(rt,10))};static#t=this.\u0275dir=z({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(r,o){2&r&&Pa("ng-untouched",o.isUntouched)("ng-touched",o.isTouched)("ng-pristine",o.isPristine)("ng-dirty",o.isDirty)("ng-valid",o.isValid)("ng-invalid",o.isInvalid)("ng-pending",o.isPending)("ng-submitted",o.isSubmitted)},features:[ue]})}return e})();const Xi="VALID",bu="INVALID",To="PENDING",Ji="DISABLED";function Lf(e){return(Eu(e)?e.validators:e)||null}function Vf(e,n){return(Eu(n)?n.asyncValidators:e)||null}function Eu(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}class Mw{constructor(n,t){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(n),this._assignAsyncValidators(t)}get validator(){return this._composedValidatorFn}set validator(n){this._rawValidators=this._composedValidatorFn=n}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(n){this._rawAsyncValidators=this._composedAsyncValidatorFn=n}get parent(){return this._parent}get valid(){return this.status===Xi}get invalid(){return this.status===bu}get pending(){return this.status==To}get disabled(){return this.status===Ji}get enabled(){return this.status!==Ji}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(n){this._assignValidators(n)}setAsyncValidators(n){this._assignAsyncValidators(n)}addValidators(n){this.setValidators(_w(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(_w(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(yw(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(yw(n,this._rawAsyncValidators))}hasValidator(n){return Cu(this._rawValidators,n)}hasAsyncValidator(n){return Cu(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){this.touched=!0,this._parent&&!n.onlySelf&&this._parent.markAsTouched(n)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(n=>n.markAllAsTouched())}markAsUntouched(n={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}markAsDirty(n={}){this.pristine=!1,this._parent&&!n.onlySelf&&this._parent.markAsDirty(n)}markAsPristine(n={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}markAsPending(n={}){this.status=To,!1!==n.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!n.onlySelf&&this._parent.markAsPending(n)}disable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=Ji,this.errors=null,this._forEachChild(r=>{r.disable({...n,onlySelf:!0})}),this._updateValue(),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...n,skipPristineCheck:t}),this._onDisabledChange.forEach(r=>r(!0))}enable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=Xi,this._forEachChild(r=>{r.enable({...n,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors({...n,skipPristineCheck:t}),this._onDisabledChange.forEach(r=>r(!1))}_updateAncestors(n){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(n){this._parent=n}getRawValue(){return this.value}updateValueAndValidity(n={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Xi||this.status===To)&&this._runAsyncValidator(n.emitEvent)),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity(n)}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Ji:Xi}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n){if(this.asyncValidator){this.status=To,this._hasOwnPendingAsyncValidator=!0;const t=cw(this.asyncValidator(this));this._asyncValidationSubscription=t.subscribe(r=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(r,{emitEvent:n})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(n,t={}){this.errors=n,this._updateControlsErrors(!1!==t.emitEvent)}get(n){let t=n;return null==t||(Array.isArray(t)||(t=t.split(".")),0===t.length)?null:t.reduce((r,o)=>r&&r._find(o),this)}getError(n,t){const r=t?this.get(t):this;return r&&r.errors?r.errors[n]:null}hasError(n,t){return!!this.getError(n,t)}get root(){let n=this;for(;n._parent;)n=n._parent;return n}_updateControlsErrors(n){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(n)}_initObservables(){this.valueChanges=new we,this.statusChanges=new we}_calculateStatus(){return this._allControlsDisabled()?Ji:this.errors?bu:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(To)?To:this._anyControlsHaveStatus(bu)?bu:Xi}_anyControlsHaveStatus(n){return this._anyControls(t=>t.status===n)}_anyControlsDirty(){return this._anyControls(n=>n.dirty)}_anyControlsTouched(){return this._anyControls(n=>n.touched)}_updatePristine(n={}){this.pristine=!this._anyControlsDirty(),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}_updateTouched(n={}){this.touched=this._anyControlsTouched(),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){Eu(n)&&null!=n.updateOn&&(this._updateOn=n.updateOn)}_parentMarkedDirty(n){return!n&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(n){return null}_assignValidators(n){this._rawValidators=Array.isArray(n)?n.slice():n,this._composedValidatorFn=function bk(e){return Array.isArray(e)?Nf(e):e||null}(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=function Ek(e){return Array.isArray(e)?Rf(e):e||null}(this._rawAsyncValidators)}}class jf extends Mw{constructor(n,t,r){super(Lf(t),Vf(r,t)),this.controls=n,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(n,t){return this.controls[n]?this.controls[n]:(this.controls[n]=t,t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange),t)}addControl(n,t,r={}){this.registerControl(n,t),this.updateValueAndValidity({emitEvent:r.emitEvent}),this._onCollectionChange()}removeControl(n,t={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}setControl(n,t,r={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],t&&this.registerControl(n,t),this.updateValueAndValidity({emitEvent:r.emitEvent}),this._onCollectionChange()}contains(n){return this.controls.hasOwnProperty(n)&&this.controls[n].enabled}setValue(n,t={}){(function Iw(e,n,t){e._forEachChild((r,o)=>{if(void 0===t[o])throw new I(1002,"")})})(this,0,n),Object.keys(n).forEach(r=>{(function Ew(e,n,t){const r=e.controls;if(!(n?Object.keys(r):r).length)throw new I(1e3,"");if(!r[t])throw new I(1001,"")})(this,!0,r),this.controls[r].setValue(n[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(n,t={}){null!=n&&(Object.keys(n).forEach(r=>{const o=this.controls[r];o&&o.patchValue(n[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(n={},t={}){this._forEachChild((r,o)=>{r.reset(n?n[o]:null,{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}getRawValue(){return this._reduceChildren({},(n,t,r)=>(n[r]=t.getRawValue(),n))}_syncPendingControls(){let n=this._reduceChildren(!1,(t,r)=>!!r._syncPendingControls()||t);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){Object.keys(this.controls).forEach(t=>{const r=this.controls[t];r&&n(r,t)})}_setUpControls(){this._forEachChild(n=>{n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(n){for(const[t,r]of Object.entries(this.controls))if(this.contains(t)&&n(r))return!0;return!1}_reduceValue(){return this._reduceChildren({},(t,r,o)=>((r.enabled||this.disabled)&&(t[o]=r.value),t))}_reduceChildren(n,t){let r=n;return this._forEachChild((o,i)=>{r=t(r,o,i)}),r}_allControlsDisabled(){for(const n of Object.keys(this.controls))if(this.controls[n].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(n){return this.controls.hasOwnProperty(n)?this.controls[n]:null}}const _r=new P("CallSetDisabledState",{providedIn:"root",factory:()=>Ki}),Ki="always";function es(e,n,t=Ki){Bf(e,n),n.valueAccessor.writeValue(e.value),(e.disabled||"always"===t)&&n.valueAccessor.setDisabledState?.(e.disabled),function Sk(e,n){n.valueAccessor.registerOnChange(t=>{e._pendingValue=t,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&Sw(e,n)})}(e,n),function Ak(e,n){const t=(r,o)=>{n.valueAccessor.writeValue(r),o&&n.viewToModelUpdate(r)};e.registerOnChange(t),n._registerOnDestroy(()=>{e._unregisterOnChange(t)})}(e,n),function Tk(e,n){n.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&Sw(e,n),"submit"!==e.updateOn&&e.markAsTouched()})}(e,n),function Mk(e,n){if(n.valueAccessor.setDisabledState){const t=r=>{n.valueAccessor.setDisabledState(r)};e.registerOnDisabledChange(t),n._registerOnDestroy(()=>{e._unregisterOnDisabledChange(t)})}}(e,n)}function Su(e,n){e.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(n)})}function Bf(e,n){const t=function mw(e){return e._rawValidators}(e);null!==n.validator?e.setValidators(gw(t,n.validator)):"function"==typeof t&&e.setValidators([t]);const r=function vw(e){return e._rawAsyncValidators}(e);null!==n.asyncValidator?e.setAsyncValidators(gw(r,n.asyncValidator)):"function"==typeof r&&e.setAsyncValidators([r]);const o=()=>e.updateValueAndValidity();Su(n._rawValidators,o),Su(n._rawAsyncValidators,o)}function Sw(e,n){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}const Pk={provide:rt,useExisting:fe(()=>Au)},ts=(()=>Promise.resolve())();let Au=(()=>{class e extends rt{constructor(t,r,o){super(),this.callSetDisabledState=o,this.submitted=!1,this._directives=new Set,this.ngSubmit=new we,this.form=new jf({},Nf(t),Rf(r))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){ts.then(()=>{const r=this._findContainer(t.path);t.control=r.registerControl(t.name,t.control),es(t.control,t,this.callSetDisabledState),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){ts.then(()=>{const r=this._findContainer(t.path);r&&r.removeControl(t.name),this._directives.delete(t)})}addFormGroup(t){ts.then(()=>{const r=this._findContainer(t.path),o=new jf({});(function Tw(e,n){Bf(e,n)})(o,t),r.registerControl(t.name,o),o.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){ts.then(()=>{const r=this._findContainer(t.path);r&&r.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,r){ts.then(()=>{this.form.get(t.path).setValue(r)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,function Aw(e,n){e._syncPendingControls(),n.forEach(t=>{const r=t.control;"submit"===r.updateOn&&r._pendingChange&&(t.viewToModelUpdate(r._pendingValue),r._pendingChange=!1)})}(this.form,this._directives),this.ngSubmit.emit(t),"dialog"===t?.target?.method}onReset(){this.resetForm()}resetForm(t=void 0){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}static#e=this.\u0275fac=function(r){return new(r||e)(b(qe,10),b(Qn,10),b(_r,8))};static#t=this.\u0275dir=z({type:e,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(r,o){1&r&&re("submit",function(s){return o.onSubmit(s)})("reset",function(){return o.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[ye([Pk]),ue]})}return e})();function xw(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function Nw(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const Rw=class extends Mw{constructor(n=null,t,r){super(Lf(t),Vf(r,t)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(n),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),Eu(t)&&(t.nonNullable||t.initialValueIsDefault)&&(this.defaultValue=Nw(n)?n.value:n)}setValue(n,t={}){this.value=this._pendingValue=n,this._onChange.length&&!1!==t.emitModelToViewChange&&this._onChange.forEach(r=>r(this.value,!1!==t.emitViewToModelChange)),this.updateValueAndValidity(t)}patchValue(n,t={}){this.setValue(n,t)}reset(n=this.defaultValue,t={}){this._applyFormState(n),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1}_updateValue(){}_anyControls(n){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(n){this._onChange.push(n)}_unregisterOnChange(n){xw(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){xw(this._onDisabledChange,n)}_forEachChild(n){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(n){Nw(n)?(this.value=this._pendingValue=n.value,n.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=n}},Lk={provide:Xn,useExisting:fe(()=>xu)},Fw=(()=>Promise.resolve())();let xu=(()=>{class e extends Xn{constructor(t,r,o,i,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this.control=new Rw,this._registered=!1,this.name="",this.update=new we,this._parent=t,this._setValidators(r),this._setAsyncValidators(o),this.valueAccessor=function Uf(e,n){if(!n)return null;let t,r,o;return Array.isArray(n),n.forEach(i=>{i.constructor===Qi?t=i:function Rk(e){return Object.getPrototypeOf(e.constructor)===vr}(i)?r=i:o=i}),o||r||t||null}(0,i)}ngOnChanges(t){if(this._checkForErrors(),!this._registered||"name"in t){if(this._registered&&(this._checkName(),this.formDirective)){const r=t.name.previousValue;this.formDirective.removeControl({name:r,path:this._getPath(r)})}this._setUpControl()}"isDisabled"in t&&this._updateDisabled(t),function Hf(e,n){if(!e.hasOwnProperty("model"))return!1;const t=e.model;return!!t.isFirstChange()||!Object.is(n,t.currentValue)}(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){es(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){Fw.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(t){const r=t.isDisabled.currentValue,o=0!==r&&function bo(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}(r);Fw.then(()=>{o&&!this.control.disabled?this.control.disable():!o&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(t){return this._parent?function Iu(e,n){return[...n.path,e]}(t,this._parent):[t]}static#e=this.\u0275fac=function(r){return new(r||e)(b(rt,9),b(qe,10),b(Qn,10),b(un,10),b(Qa,8),b(_r,8))};static#t=this.\u0275dir=z({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[ye([Lk]),ue,St]})}return e})(),kw=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275dir=z({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]})}return e})(),Vw=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({})}return e})();const zf=new P("NgModelWithFormControlWarning");let tb=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({imports:[Vw]})}return e})(),u2=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:_r,useValue:t.callSetDisabledState??Ki}]}}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({imports:[tb]})}return e})(),c2=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:zf,useValue:t.warnOnNgModelWithFormControl??"always"},{provide:_r,useValue:t.callSetDisabledState??Ki}]}}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({imports:[tb]})}return e})(),Nu=(()=>{class e{formatTransactionTime(t){const r=new Date(1e3*t);return"Invalid Date"===r.toString()?(console.error("Invalid Date Format:",t),"Invalid Date"):r.toLocaleDateString(void 0,{year:"numeric",month:"2-digit",day:"2-digit"})+", "+r.toLocaleTimeString()}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Ru=(()=>{class e{getTransactionType(t){return 0===t.inputs.length&&0===t.outputs.length?(console.log("Encrypted Message"),"Encrypted Message"):0===t.inputs.length&&1===t.outputs.length&&0===t.outputs[0].value?(console.log("Message"),"Message"):0===t.inputs.length&&t.outputs.length>=1&&t.outputs[0].value>0?(console.log("Coinbase"),"Coinbase"):t.inputs.length>0&&t.outputs.length>1&&t.outputs[0].value>0?(console.log("Coin Transfer"),"Coin Transfer"):0===t.outputs[0].value&&2===t.outputs.length?(console.log("Create Identity"),"Create Identity"):(console.log("Unknown Transaction Type"),"Unknown Transaction Type")}isEncryptedMessageTransaction(t){return 0===t.inputs.length&&0===t.outputs.length}isMessageTransaction(t){return 0===t.inputs.length&&1===t.outputs.length&&0===t.outputs[0].value}isCoinbaseTransaction(t){return 0===t.inputs.length&&t.outputs.length>=1&&t.outputs[0].value>0}isTransferTransaction(t){return t.inputs.length>0&&t.outputs.length>1&&t.outputs[0].value>0}isCreateIdentityTransaction(t){return 0===t.outputs[0].value&&2===t.outputs.length}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Xf(...e){const n=$o(e),t=Gh(e),{args:r,keys:o}=ZC(e);if(0===r.length)return Ne([],n);const i=new Ee(function d2(e,n,t=Nn){return r=>{nb(n,()=>{const{length:o}=e,i=new Array(o);let s=o,a=o;for(let u=0;u{const c=Ne(e[u],n);let l=!1;c.subscribe(Te(r,d=>{i[u]=d,l||(l=!0,a--),a||r.next(t(i.slice()))},()=>{--s||r.complete()}))},r)},r)}}(r,n,o?s=>QC(o,s):Nn));return t?i.pipe(YC(t)):i}function nb(e,n,t){e?fn(t,e,n):n()}const Ou=Vo(e=>function(){e(this),this.name="EmptyError",this.message="no elements in sequence"});function Jf(...e){return function f2(){return Mr(1)}()(Ne(e,$o(e)))}function rb(e){return new Ee(n=>{dt(e()).subscribe(n)})}function ns(e,n){const t=le(e)?e:()=>e,r=o=>o.error(t());return new Ee(n?o=>n.schedule(r,0,o):r)}function Kf(){return xe((e,n)=>{let t=null;e._refCount++;const r=Te(n,void 0,void 0,void 0,()=>{if(!e||e._refCount<=0||0<--e._refCount)return void(t=null);const o=e._connection,i=t;t=null,o&&(!i||o===i)&&o.unsubscribe(),n.unsubscribe()});e.subscribe(r),r.closed||(t=e.connect())})}class ob extends Ee{constructor(n,t){super(),this.source=n,this.subjectFactory=t,this._subject=null,this._refCount=0,this._connection=null,xh(n)&&(this.lift=n.lift)}_subscribe(n){return this.getSubject().subscribe(n)}getSubject(){const n=this._subject;return(!n||n.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:n}=this;this._subject=this._connection=null,n?.unsubscribe()}connect(){let n=this._connection;if(!n){n=this._connection=new lt;const t=this.getSubject();n.add(this.source.subscribe(Te(t,void 0,()=>{this._teardown(),t.complete()},r=>{this._teardown(),t.error(r)},()=>this._teardown()))),n.closed&&(this._connection=null,n=lt.EMPTY)}return n}refCount(){return Kf()(this)}}function Ao(e){return e<=0?()=>Zt:xe((n,t)=>{let r=0;n.subscribe(Te(t,o=>{++r<=e&&(t.next(o),e<=r&&t.complete())}))})}function Pu(e){return xe((n,t)=>{let r=!1;n.subscribe(Te(t,o=>{r=!0,t.next(o)},()=>{r||t.next(e),t.complete()}))})}function ib(e=p2){return xe((n,t)=>{let r=!1;n.subscribe(Te(t,o=>{r=!0,t.next(o)},()=>r?t.complete():t.error(e())))})}function p2(){return new Ou}function Dr(e,n){const t=arguments.length>=2;return r=>r.pipe(e?Tn((o,i)=>e(o,i,r)):Nn,Ao(1),t?Pu(n):ib(()=>new Ou))}function We(e,n,t){const r=le(e)||n||t?{next:e,error:n,complete:t}:e;return r?xe((o,i)=>{var s;null===(s=r.subscribe)||void 0===s||s.call(r);let a=!0;o.subscribe(Te(i,u=>{var c;null===(c=r.next)||void 0===c||c.call(r,u),i.next(u)},()=>{var u;a=!1,null===(u=r.complete)||void 0===u||u.call(r),i.complete()},u=>{var c;a=!1,null===(c=r.error)||void 0===c||c.call(r,u),i.error(u)},()=>{var u,c;a&&(null===(u=r.unsubscribe)||void 0===u||u.call(r)),null===(c=r.finalize)||void 0===c||c.call(r)}))}):Nn}function Cr(e){return xe((n,t)=>{let i,r=null,o=!1;r=n.subscribe(Te(t,void 0,void 0,s=>{i=dt(e(s,Cr(e)(n))),r?(r.unsubscribe(),r=null,i.subscribe(t)):o=!0})),o&&(r.unsubscribe(),r=null,i.subscribe(t))})}function eh(e){return e<=0?()=>Zt:xe((n,t)=>{let r=[];n.subscribe(Te(t,o=>{r.push(o),e{for(const o of r)t.next(o);t.complete()},void 0,()=>{r=null}))})}const Y="primary",rs=Symbol("RouteTitle");class D2{constructor(n){this.params=n||{}}has(n){return Object.prototype.hasOwnProperty.call(this.params,n)}get(n){if(this.has(n)){const t=this.params[n];return Array.isArray(t)?t[0]:t}return null}getAll(n){if(this.has(n)){const t=this.params[n];return Array.isArray(t)?t:[t]}return[]}get keys(){return Object.keys(this.params)}}function xo(e){return new D2(e)}function C2(e,n,t){const r=t.path.split("/");if(r.length>e.length||"full"===t.pathMatch&&(n.hasChildren()||r.lengthr[i]===o)}return e===n}function ab(e){return e.length>0?e[e.length-1]:null}function Jn(e){return function l2(e){return!!e&&(e instanceof Ee||le(e.lift)&&le(e.subscribe))}(e)?e:Ti(e)?Ne(Promise.resolve(e)):B(e)}const b2={exact:function lb(e,n,t){if(!wr(e.segments,n.segments)||!Fu(e.segments,n.segments,t)||e.numberOfChildren!==n.numberOfChildren)return!1;for(const r in n.children)if(!e.children[r]||!lb(e.children[r],n.children[r],t))return!1;return!0},subset:db},ub={exact:function E2(e,n){return cn(e,n)},subset:function I2(e,n){return Object.keys(n).length<=Object.keys(e).length&&Object.keys(n).every(t=>sb(e[t],n[t]))},ignored:()=>!0};function cb(e,n,t){return b2[t.paths](e.root,n.root,t.matrixParams)&&ub[t.queryParams](e.queryParams,n.queryParams)&&!("exact"===t.fragment&&e.fragment!==n.fragment)}function db(e,n,t){return fb(e,n,n.segments,t)}function fb(e,n,t,r){if(e.segments.length>t.length){const o=e.segments.slice(0,t.length);return!(!wr(o,t)||n.hasChildren()||!Fu(o,t,r))}if(e.segments.length===t.length){if(!wr(e.segments,t)||!Fu(e.segments,t,r))return!1;for(const o in n.children)if(!e.children[o]||!db(e.children[o],n.children[o],r))return!1;return!0}{const o=t.slice(0,e.segments.length),i=t.slice(e.segments.length);return!!(wr(e.segments,o)&&Fu(e.segments,o,r)&&e.children[Y])&&fb(e.children[Y],n,i,r)}}function Fu(e,n,t){return n.every((r,o)=>ub[t](e[o].parameters,r.parameters))}class No{constructor(n=new ce([],{}),t={},r=null){this.root=n,this.queryParams=t,this.fragment=r}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=xo(this.queryParams)),this._queryParamMap}toString(){return T2.serialize(this)}}class ce{constructor(n,t){this.segments=n,this.children=t,this.parent=null,Object.values(t).forEach(r=>r.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return ku(this)}}class os{constructor(n,t){this.path=n,this.parameters=t}get parameterMap(){return this._parameterMap||(this._parameterMap=xo(this.parameters)),this._parameterMap}toString(){return gb(this)}}function wr(e,n){return e.length===n.length&&e.every((t,r)=>t.path===n[r].path)}let is=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:function(){return new th},providedIn:"root"})}return e})();class th{parse(n){const t=new j2(n);return new No(t.parseRootSegment(),t.parseQueryParams(),t.parseFragment())}serialize(n){const t=`/${ss(n.root,!0)}`,r=function N2(e){const n=Object.keys(e).map(t=>{const r=e[t];return Array.isArray(r)?r.map(o=>`${Lu(t)}=${Lu(o)}`).join("&"):`${Lu(t)}=${Lu(r)}`}).filter(t=>!!t);return n.length?`?${n.join("&")}`:""}(n.queryParams);return`${t}${r}${"string"==typeof n.fragment?`#${function A2(e){return encodeURI(e)}(n.fragment)}`:""}`}}const T2=new th;function ku(e){return e.segments.map(n=>gb(n)).join("/")}function ss(e,n){if(!e.hasChildren())return ku(e);if(n){const t=e.children[Y]?ss(e.children[Y],!1):"",r=[];return Object.entries(e.children).forEach(([o,i])=>{o!==Y&&r.push(`${o}:${ss(i,!1)}`)}),r.length>0?`${t}(${r.join("//")})`:t}{const t=function S2(e,n){let t=[];return Object.entries(e.children).forEach(([r,o])=>{r===Y&&(t=t.concat(n(o,r)))}),Object.entries(e.children).forEach(([r,o])=>{r!==Y&&(t=t.concat(n(o,r)))}),t}(e,(r,o)=>o===Y?[ss(e.children[Y],!1)]:[`${o}:${ss(r,!1)}`]);return 1===Object.keys(e.children).length&&null!=e.children[Y]?`${ku(e)}/${t[0]}`:`${ku(e)}/(${t.join("//")})`}}function hb(e){return encodeURIComponent(e).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Lu(e){return hb(e).replace(/%3B/gi,";")}function nh(e){return hb(e).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Vu(e){return decodeURIComponent(e)}function pb(e){return Vu(e.replace(/\+/g,"%20"))}function gb(e){return`${nh(e.path)}${function x2(e){return Object.keys(e).map(n=>`;${nh(n)}=${nh(e[n])}`).join("")}(e.parameters)}`}const R2=/^[^\/()?;#]+/;function rh(e){const n=e.match(R2);return n?n[0]:""}const O2=/^[^\/()?;=#]+/,F2=/^[^=?&#]+/,L2=/^[^&#]+/;class j2{constructor(n){this.url=n,this.remaining=n}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new ce([],{}):new ce([],this.parseChildren())}parseQueryParams(){const n={};if(this.consumeOptional("?"))do{this.parseQueryParam(n)}while(this.consumeOptional("&"));return n}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const n=[];for(this.peekStartsWith("(")||n.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),n.push(this.parseSegment());let t={};this.peekStartsWith("/(")&&(this.capture("/"),t=this.parseParens(!0));let r={};return this.peekStartsWith("(")&&(r=this.parseParens(!1)),(n.length>0||Object.keys(t).length>0)&&(r[Y]=new ce(n,t)),r}parseSegment(){const n=rh(this.remaining);if(""===n&&this.peekStartsWith(";"))throw new I(4009,!1);return this.capture(n),new os(Vu(n),this.parseMatrixParams())}parseMatrixParams(){const n={};for(;this.consumeOptional(";");)this.parseParam(n);return n}parseParam(n){const t=function P2(e){const n=e.match(O2);return n?n[0]:""}(this.remaining);if(!t)return;this.capture(t);let r="";if(this.consumeOptional("=")){const o=rh(this.remaining);o&&(r=o,this.capture(r))}n[Vu(t)]=Vu(r)}parseQueryParam(n){const t=function k2(e){const n=e.match(F2);return n?n[0]:""}(this.remaining);if(!t)return;this.capture(t);let r="";if(this.consumeOptional("=")){const s=function V2(e){const n=e.match(L2);return n?n[0]:""}(this.remaining);s&&(r=s,this.capture(r))}const o=pb(t),i=pb(r);if(n.hasOwnProperty(o)){let s=n[o];Array.isArray(s)||(s=[s],n[o]=s),s.push(i)}else n[o]=i}parseParens(n){const t={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const r=rh(this.remaining),o=this.remaining[r.length];if("/"!==o&&")"!==o&&";"!==o)throw new I(4010,!1);let i;r.indexOf(":")>-1?(i=r.slice(0,r.indexOf(":")),this.capture(i),this.capture(":")):n&&(i=Y);const s=this.parseChildren();t[i]=1===Object.keys(s).length?s[Y]:new ce([],s),this.consumeOptional("//")}return t}peekStartsWith(n){return this.remaining.startsWith(n)}consumeOptional(n){return!!this.peekStartsWith(n)&&(this.remaining=this.remaining.substring(n.length),!0)}capture(n){if(!this.consumeOptional(n))throw new I(4011,!1)}}function mb(e){return e.segments.length>0?new ce([],{[Y]:e}):e}function vb(e){const n={};for(const r of Object.keys(e.children)){const i=vb(e.children[r]);if(r===Y&&0===i.segments.length&&i.hasChildren())for(const[s,a]of Object.entries(i.children))n[s]=a;else(i.segments.length>0||i.hasChildren())&&(n[r]=i)}return function B2(e){if(1===e.numberOfChildren&&e.children[Y]){const n=e.children[Y];return new ce(e.segments.concat(n.segments),n.children)}return e}(new ce(e.segments,n))}function br(e){return e instanceof No}function _b(e){let n;const o=mb(function t(i){const s={};for(const u of i.children){const c=t(u);s[u.outlet]=c}const a=new ce(i.url,s);return i===e&&(n=a),a}(e.root));return n??o}function yb(e,n,t,r){let o=e;for(;o.parent;)o=o.parent;if(0===n.length)return oh(o,o,o,t,r);const i=function H2(e){if("string"==typeof e[0]&&1===e.length&&"/"===e[0])return new Cb(!0,0,e);let n=0,t=!1;const r=e.reduce((o,i,s)=>{if("object"==typeof i&&null!=i){if(i.outlets){const a={};return Object.entries(i.outlets).forEach(([u,c])=>{a[u]="string"==typeof c?c.split("/"):c}),[...o,{outlets:a}]}if(i.segmentPath)return[...o,i.segmentPath]}return"string"!=typeof i?[...o,i]:0===s?(i.split("/").forEach((a,u)=>{0==u&&"."===a||(0==u&&""===a?t=!0:".."===a?n++:""!=a&&o.push(a))}),o):[...o,i]},[]);return new Cb(t,n,r)}(n);if(i.toRoot())return oh(o,o,new ce([],{}),t,r);const s=function U2(e,n,t){if(e.isAbsolute)return new Bu(n,!0,0);if(!t)return new Bu(n,!1,NaN);if(null===t.parent)return new Bu(t,!0,0);const r=ju(e.commands[0])?0:1;return function z2(e,n,t){let r=e,o=n,i=t;for(;i>o;){if(i-=o,r=r.parent,!r)throw new I(4005,!1);o=r.segments.length}return new Bu(r,!1,o-i)}(t,t.segments.length-1+r,e.numberOfDoubleDots)}(i,o,e),a=s.processChildren?us(s.segmentGroup,s.index,i.commands):wb(s.segmentGroup,s.index,i.commands);return oh(o,s.segmentGroup,a,t,r)}function ju(e){return"object"==typeof e&&null!=e&&!e.outlets&&!e.segmentPath}function as(e){return"object"==typeof e&&null!=e&&e.outlets}function oh(e,n,t,r,o){let s,i={};r&&Object.entries(r).forEach(([u,c])=>{i[u]=Array.isArray(c)?c.map(l=>`${l}`):`${c}`}),s=e===n?t:Db(e,n,t);const a=mb(vb(s));return new No(a,i,o)}function Db(e,n,t){const r={};return Object.entries(e.children).forEach(([o,i])=>{r[o]=i===n?t:Db(i,n,t)}),new ce(e.segments,r)}class Cb{constructor(n,t,r){if(this.isAbsolute=n,this.numberOfDoubleDots=t,this.commands=r,n&&r.length>0&&ju(r[0]))throw new I(4003,!1);const o=r.find(as);if(o&&o!==ab(r))throw new I(4004,!1)}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class Bu{constructor(n,t,r){this.segmentGroup=n,this.processChildren=t,this.index=r}}function wb(e,n,t){if(e||(e=new ce([],{})),0===e.segments.length&&e.hasChildren())return us(e,n,t);const r=function q2(e,n,t){let r=0,o=n;const i={match:!1,pathIndex:0,commandIndex:0};for(;o=t.length)return i;const s=e.segments[o],a=t[r];if(as(a))break;const u=`${a}`,c=r0&&void 0===u)break;if(u&&c&&"object"==typeof c&&void 0===c.outlets){if(!Eb(u,c,s))return i;r+=2}else{if(!Eb(u,{},s))return i;r++}o++}return{match:!0,pathIndex:o,commandIndex:r}}(e,n,t),o=t.slice(r.commandIndex);if(r.match&&r.pathIndexi!==Y)&&e.children[Y]&&1===e.numberOfChildren&&0===e.children[Y].segments.length){const i=us(e.children[Y],n,t);return new ce(e.segments,i.children)}return Object.entries(r).forEach(([i,s])=>{"string"==typeof s&&(s=[s]),null!==s&&(o[i]=wb(e.children[i],n,s))}),Object.entries(e.children).forEach(([i,s])=>{void 0===r[i]&&(o[i]=s)}),new ce(e.segments,o)}}function ih(e,n,t){const r=e.segments.slice(0,n);let o=0;for(;o{"string"==typeof r&&(r=[r]),null!==r&&(n[t]=ih(new ce([],{}),0,r))}),n}function bb(e){const n={};return Object.entries(e).forEach(([t,r])=>n[t]=`${r}`),n}function Eb(e,n,t){return e==t.path&&cn(n,t.parameters)}const cs="imperative";class ln{constructor(n,t){this.id=n,this.url=t}}class $u extends ln{constructor(n,t,r="imperative",o=null){super(n,t),this.type=0,this.navigationTrigger=r,this.restoredState=o}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class Kn extends ln{constructor(n,t,r){super(n,t),this.urlAfterRedirects=r,this.type=1}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class ls extends ln{constructor(n,t,r,o){super(n,t),this.reason=r,this.code=o,this.type=2}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class Ro extends ln{constructor(n,t,r,o){super(n,t),this.reason=r,this.code=o,this.type=16}}class Hu extends ln{constructor(n,t,r,o){super(n,t),this.error=r,this.target=o,this.type=3}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class Ib extends ln{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=4}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Z2 extends ln{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=7}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Y2 extends ln{constructor(n,t,r,o,i){super(n,t),this.urlAfterRedirects=r,this.state=o,this.shouldActivate=i,this.type=8}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class Q2 extends ln{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=5}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class X2 extends ln{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=6}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class J2{constructor(n){this.route=n,this.type=9}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class K2{constructor(n){this.route=n,this.type=10}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class eL{constructor(n){this.snapshot=n,this.type=11}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class tL{constructor(n){this.snapshot=n,this.type=12}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class nL{constructor(n){this.snapshot=n,this.type=13}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class rL{constructor(n){this.snapshot=n,this.type=14}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Mb{constructor(n,t,r){this.routerEvent=n,this.position=t,this.anchor=r,this.type=15}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}class sh{}class ah{constructor(n){this.url=n}}class oL{constructor(){this.outlet=null,this.route=null,this.injector=null,this.children=new ds,this.attachRef=null}}let ds=(()=>{class e{constructor(){this.contexts=new Map}onChildOutletCreated(t,r){const o=this.getOrCreateContext(t);o.outlet=r,this.contexts.set(t,o)}onChildOutletDestroyed(t){const r=this.getContext(t);r&&(r.outlet=null,r.attachRef=null)}onOutletDeactivated(){const t=this.contexts;return this.contexts=new Map,t}onOutletReAttached(t){this.contexts=t}getOrCreateContext(t){let r=this.getContext(t);return r||(r=new oL,this.contexts.set(t,r)),r}getContext(t){return this.contexts.get(t)||null}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();class Sb{constructor(n){this._root=n}get root(){return this._root.value}parent(n){const t=this.pathFromRoot(n);return t.length>1?t[t.length-2]:null}children(n){const t=uh(n,this._root);return t?t.children.map(r=>r.value):[]}firstChild(n){const t=uh(n,this._root);return t&&t.children.length>0?t.children[0].value:null}siblings(n){const t=ch(n,this._root);return t.length<2?[]:t[t.length-2].children.map(o=>o.value).filter(o=>o!==n)}pathFromRoot(n){return ch(n,this._root).map(t=>t.value)}}function uh(e,n){if(e===n.value)return n;for(const t of n.children){const r=uh(e,t);if(r)return r}return null}function ch(e,n){if(e===n.value)return[n];for(const t of n.children){const r=ch(e,t);if(r.length)return r.unshift(n),r}return[]}class An{constructor(n,t){this.value=n,this.children=t}toString(){return`TreeNode(${this.value})`}}function Oo(e){const n={};return e&&e.children.forEach(t=>n[t.value.outlet]=t),n}class Tb extends Sb{constructor(n,t){super(n),this.snapshot=t,lh(this,n)}toString(){return this.snapshot.toString()}}function Ab(e,n){const t=function iL(e,n){const s=new Uu([],{},{},"",{},Y,n,null,{});return new Nb("",new An(s,[]))}(0,n),r=new bt([new os("",{})]),o=new bt({}),i=new bt({}),s=new bt({}),a=new bt(""),u=new Er(r,o,s,a,i,Y,n,t.root);return u.snapshot=t.root,new Tb(new An(u,[]),t)}class Er{constructor(n,t,r,o,i,s,a,u){this.urlSubject=n,this.paramsSubject=t,this.queryParamsSubject=r,this.fragmentSubject=o,this.dataSubject=i,this.outlet=s,this.component=a,this._futureSnapshot=u,this.title=this.dataSubject?.pipe(ne(c=>c[rs]))??B(void 0),this.url=n,this.params=t,this.queryParams=r,this.fragment=o,this.data=i}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=this.params.pipe(ne(n=>xo(n)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(ne(n=>xo(n)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function xb(e,n="emptyOnly"){const t=e.pathFromRoot;let r=0;if("always"!==n)for(r=t.length-1;r>=1;){const o=t[r],i=t[r-1];if(o.routeConfig&&""===o.routeConfig.path)r--;else{if(i.component)break;r--}}return function sL(e){return e.reduce((n,t)=>({params:{...n.params,...t.params},data:{...n.data,...t.data},resolve:{...t.data,...n.resolve,...t.routeConfig?.data,...t._resolvedData}}),{params:{},data:{},resolve:{}})}(t.slice(r))}class Uu{get title(){return this.data?.[rs]}constructor(n,t,r,o,i,s,a,u,c){this.url=n,this.params=t,this.queryParams=r,this.fragment=o,this.data=i,this.outlet=s,this.component=a,this.routeConfig=u,this._resolve=c}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=xo(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=xo(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(r=>r.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class Nb extends Sb{constructor(n,t){super(t),this.url=n,lh(this,t)}toString(){return Rb(this._root)}}function lh(e,n){n.value._routerState=e,n.children.forEach(t=>lh(e,t))}function Rb(e){const n=e.children.length>0?` { ${e.children.map(Rb).join(", ")} } `:"";return`${e.value}${n}`}function dh(e){if(e.snapshot){const n=e.snapshot,t=e._futureSnapshot;e.snapshot=t,cn(n.queryParams,t.queryParams)||e.queryParamsSubject.next(t.queryParams),n.fragment!==t.fragment&&e.fragmentSubject.next(t.fragment),cn(n.params,t.params)||e.paramsSubject.next(t.params),function w2(e,n){if(e.length!==n.length)return!1;for(let t=0;tcn(t.parameters,n[r].parameters))}(e.url,n.url);return t&&!(!e.parent!=!n.parent)&&(!e.parent||fh(e.parent,n.parent))}let Ob=(()=>{class e{constructor(){this.activated=null,this._activatedRoute=null,this.name=Y,this.activateEvents=new we,this.deactivateEvents=new we,this.attachEvents=new we,this.detachEvents=new we,this.parentContexts=R(ds),this.location=R(zt),this.changeDetector=R(Qa),this.environmentInjector=R(vt),this.inputBinder=R(zu,{optional:!0}),this.supportsBindingToComponentInputs=!0}get activatedComponentRef(){return this.activated}ngOnChanges(t){if(t.name){const{firstChange:r,previousValue:o}=t.name;if(r)return;this.isTrackedInParentContexts(o)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(o)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(t){return this.parentContexts.getContext(t)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;const t=this.parentContexts.getContext(this.name);t?.route&&(t.attachRef?this.attach(t.attachRef,t.route):this.activateWith(t.route,t.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new I(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new I(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new I(4012,!1);this.location.detach();const t=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(t.instance),t}attach(t,r){this.activated=t,this._activatedRoute=r,this.location.insert(t.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(t.instance)}deactivate(){if(this.activated){const t=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(t)}}activateWith(t,r){if(this.isActivated)throw new I(4013,!1);this._activatedRoute=t;const o=this.location,s=t.snapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,u=new aL(t,a,o.injector);this.activated=o.createComponent(s,{index:o.length,injector:u,environmentInjector:r??this.environmentInjector}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275dir=z({type:e,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[St]})}return e})();class aL{constructor(n,t,r){this.route=n,this.childContexts=t,this.parent=r}get(n,t){return n===Er?this.route:n===ds?this.childContexts:this.parent.get(n,t)}}const zu=new P("");let Pb=(()=>{class e{constructor(){this.outletDataSubscriptions=new Map}bindActivatedRouteToOutletComponent(t){this.unsubscribeFromRouteData(t),this.subscribeToRouteData(t)}unsubscribeFromRouteData(t){this.outletDataSubscriptions.get(t)?.unsubscribe(),this.outletDataSubscriptions.delete(t)}subscribeToRouteData(t){const{activatedRoute:r}=t,o=Xf([r.queryParams,r.params,r.data]).pipe(Lt(([i,s,a],u)=>(a={...i,...s,...a},0===u?B(a):Promise.resolve(a)))).subscribe(i=>{if(!t.isActivated||!t.activatedComponentRef||t.activatedRoute!==r||null===r.component)return void this.unsubscribeFromRouteData(t);const s=function uO(e){const n=K(e);if(!n)return null;const t=new bi(n);return{get selector(){return t.selector},get type(){return t.componentType},get inputs(){return t.inputs},get outputs(){return t.outputs},get ngContentSelectors(){return t.ngContentSelectors},get isStandalone(){return n.standalone},get isSignal(){return n.signals}}}(r.component);if(s)for(const{templateName:a}of s.inputs)t.activatedComponentRef.setInput(a,i[a]);else this.unsubscribeFromRouteData(t)});this.outletDataSubscriptions.set(t,o)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();function fs(e,n,t){if(t&&e.shouldReuseRoute(n.value,t.value.snapshot)){const r=t.value;r._futureSnapshot=n.value;const o=function cL(e,n,t){return n.children.map(r=>{for(const o of t.children)if(e.shouldReuseRoute(r.value,o.value.snapshot))return fs(e,r,o);return fs(e,r)})}(e,n,t);return new An(r,o)}{if(e.shouldAttach(n.value)){const i=e.retrieve(n.value);if(null!==i){const s=i.route;return s.value._futureSnapshot=n.value,s.children=n.children.map(a=>fs(e,a)),s}}const r=function lL(e){return new Er(new bt(e.url),new bt(e.params),new bt(e.queryParams),new bt(e.fragment),new bt(e.data),e.outlet,e.component,e)}(n.value),o=n.children.map(i=>fs(e,i));return new An(r,o)}}const hh="ngNavigationCancelingError";function Fb(e,n){const{redirectTo:t,navigationBehaviorOptions:r}=br(n)?{redirectTo:n,navigationBehaviorOptions:void 0}:n,o=kb(!1,0,n);return o.url=t,o.navigationBehaviorOptions=r,o}function kb(e,n,t){const r=new Error("NavigationCancelingError: "+(e||""));return r[hh]=!0,r.cancellationCode=n,t&&(r.url=t),r}function Lb(e){return e&&e[hh]}let Vb=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=Tr({type:e,selectors:[["ng-component"]],standalone:!0,features:[gy],decls:1,vars:0,template:function(r,o){1&r&&Pe(0,"router-outlet")},dependencies:[Ob],encapsulation:2})}return e})();function ph(e){const n=e.children&&e.children.map(ph),t=n?{...e,children:n}:{...e};return!t.component&&!t.loadComponent&&(n||t.loadChildren)&&t.outlet&&t.outlet!==Y&&(t.component=Vb),t}function Wt(e){return e.outlet||Y}function hs(e){if(!e)return null;if(e.routeConfig?._injector)return e.routeConfig._injector;for(let n=e.parent;n;n=n.parent){const t=n.routeConfig;if(t?._loadedInjector)return t._loadedInjector;if(t?._injector)return t._injector}return null}class _L{constructor(n,t,r,o,i){this.routeReuseStrategy=n,this.futureState=t,this.currState=r,this.forwardEvent=o,this.inputBindingEnabled=i}activate(n){const t=this.futureState._root,r=this.currState?this.currState._root:null;this.deactivateChildRoutes(t,r,n),dh(this.futureState.root),this.activateChildRoutes(t,r,n)}deactivateChildRoutes(n,t,r){const o=Oo(t);n.children.forEach(i=>{const s=i.value.outlet;this.deactivateRoutes(i,o[s],r),delete o[s]}),Object.values(o).forEach(i=>{this.deactivateRouteAndItsChildren(i,r)})}deactivateRoutes(n,t,r){const o=n.value,i=t?t.value:null;if(o===i)if(o.component){const s=r.getContext(o.outlet);s&&this.deactivateChildRoutes(n,t,s.children)}else this.deactivateChildRoutes(n,t,r);else i&&this.deactivateRouteAndItsChildren(t,r)}deactivateRouteAndItsChildren(n,t){n.value.component&&this.routeReuseStrategy.shouldDetach(n.value.snapshot)?this.detachAndStoreRouteSubtree(n,t):this.deactivateRouteAndOutlet(n,t)}detachAndStoreRouteSubtree(n,t){const r=t.getContext(n.value.outlet),o=r&&n.value.component?r.children:t,i=Oo(n);for(const s of Object.keys(i))this.deactivateRouteAndItsChildren(i[s],o);if(r&&r.outlet){const s=r.outlet.detach(),a=r.children.onOutletDeactivated();this.routeReuseStrategy.store(n.value.snapshot,{componentRef:s,route:n,contexts:a})}}deactivateRouteAndOutlet(n,t){const r=t.getContext(n.value.outlet),o=r&&n.value.component?r.children:t,i=Oo(n);for(const s of Object.keys(i))this.deactivateRouteAndItsChildren(i[s],o);r&&(r.outlet&&(r.outlet.deactivate(),r.children.onOutletDeactivated()),r.attachRef=null,r.route=null)}activateChildRoutes(n,t,r){const o=Oo(t);n.children.forEach(i=>{this.activateRoutes(i,o[i.value.outlet],r),this.forwardEvent(new rL(i.value.snapshot))}),n.children.length&&this.forwardEvent(new tL(n.value.snapshot))}activateRoutes(n,t,r){const o=n.value,i=t?t.value:null;if(dh(o),o===i)if(o.component){const s=r.getOrCreateContext(o.outlet);this.activateChildRoutes(n,t,s.children)}else this.activateChildRoutes(n,t,r);else if(o.component){const s=r.getOrCreateContext(o.outlet);if(this.routeReuseStrategy.shouldAttach(o.snapshot)){const a=this.routeReuseStrategy.retrieve(o.snapshot);this.routeReuseStrategy.store(o.snapshot,null),s.children.onOutletReAttached(a.contexts),s.attachRef=a.componentRef,s.route=a.route.value,s.outlet&&s.outlet.attach(a.componentRef,a.route.value),dh(a.route.value),this.activateChildRoutes(n,null,s.children)}else{const a=hs(o.snapshot);s.attachRef=null,s.route=o,s.injector=a,s.outlet&&s.outlet.activateWith(o,s.injector),this.activateChildRoutes(n,null,s.children)}}else this.activateChildRoutes(n,null,r)}}class jb{constructor(n){this.path=n,this.route=this.path[this.path.length-1]}}class Gu{constructor(n,t){this.component=n,this.route=t}}function yL(e,n,t){const r=e._root;return ps(r,n?n._root:null,t,[r.value])}function Po(e,n){const t=Symbol(),r=n.get(e,t);return r===t?"function"!=typeof e||function _0(e){return null!==Es(e)}(e)?n.get(e):e:r}function ps(e,n,t,r,o={canDeactivateChecks:[],canActivateChecks:[]}){const i=Oo(n);return e.children.forEach(s=>{(function CL(e,n,t,r,o={canDeactivateChecks:[],canActivateChecks:[]}){const i=e.value,s=n?n.value:null,a=t?t.getContext(e.value.outlet):null;if(s&&i.routeConfig===s.routeConfig){const u=function wL(e,n,t){if("function"==typeof t)return t(e,n);switch(t){case"pathParamsChange":return!wr(e.url,n.url);case"pathParamsOrQueryParamsChange":return!wr(e.url,n.url)||!cn(e.queryParams,n.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!fh(e,n)||!cn(e.queryParams,n.queryParams);default:return!fh(e,n)}}(s,i,i.routeConfig.runGuardsAndResolvers);u?o.canActivateChecks.push(new jb(r)):(i.data=s.data,i._resolvedData=s._resolvedData),ps(e,n,i.component?a?a.children:null:t,r,o),u&&a&&a.outlet&&a.outlet.isActivated&&o.canDeactivateChecks.push(new Gu(a.outlet.component,s))}else s&&gs(n,a,o),o.canActivateChecks.push(new jb(r)),ps(e,null,i.component?a?a.children:null:t,r,o)})(s,i[s.value.outlet],t,r.concat([s.value]),o),delete i[s.value.outlet]}),Object.entries(i).forEach(([s,a])=>gs(a,t.getContext(s),o)),o}function gs(e,n,t){const r=Oo(e),o=e.value;Object.entries(r).forEach(([i,s])=>{gs(s,o.component?n?n.children.getContext(i):null:n,t)}),t.canDeactivateChecks.push(new Gu(o.component&&n&&n.outlet&&n.outlet.isActivated?n.outlet.component:null,o))}function ms(e){return"function"==typeof e}function Bb(e){return e instanceof Ou||"EmptyError"===e?.name}const qu=Symbol("INITIAL_VALUE");function Fo(){return Lt(e=>Xf(e.map(n=>n.pipe(Ao(1),function h2(...e){const n=$o(e);return xe((t,r)=>{(n?Jf(e,t,n):Jf(e,t)).subscribe(r)})}(qu)))).pipe(ne(n=>{for(const t of n)if(!0!==t){if(t===qu)return qu;if(!1===t||t instanceof No)return t}return!0}),Tn(n=>n!==qu),Ao(1)))}function $b(e){return function yE(...e){return Sh(e)}(We(n=>{if(br(n))throw Fb(0,n)}),ne(n=>!0===n))}class Wu{constructor(n){this.segmentGroup=n||null}}class Hb{constructor(n){this.urlTree=n}}function ko(e){return ns(new Wu(e))}function Ub(e){return ns(new Hb(e))}class HL{constructor(n,t){this.urlSerializer=n,this.urlTree=t}noMatchError(n){return new I(4002,!1)}lineralizeSegments(n,t){let r=[],o=t.root;for(;;){if(r=r.concat(o.segments),0===o.numberOfChildren)return B(r);if(o.numberOfChildren>1||!o.children[Y])return ns(new I(4e3,!1));o=o.children[Y]}}applyRedirectCommands(n,t,r){return this.applyRedirectCreateUrlTree(t,this.urlSerializer.parse(t),n,r)}applyRedirectCreateUrlTree(n,t,r,o){const i=this.createSegmentGroup(n,t.root,r,o);return new No(i,this.createQueryParams(t.queryParams,this.urlTree.queryParams),t.fragment)}createQueryParams(n,t){const r={};return Object.entries(n).forEach(([o,i])=>{if("string"==typeof i&&i.startsWith(":")){const a=i.substring(1);r[o]=t[a]}else r[o]=i}),r}createSegmentGroup(n,t,r,o){const i=this.createSegments(n,t.segments,r,o);let s={};return Object.entries(t.children).forEach(([a,u])=>{s[a]=this.createSegmentGroup(n,u,r,o)}),new ce(i,s)}createSegments(n,t,r,o){return t.map(i=>i.path.startsWith(":")?this.findPosParam(n,i,o):this.findOrReturn(i,r))}findPosParam(n,t,r){const o=r[t.path.substring(1)];if(!o)throw new I(4001,!1);return o}findOrReturn(n,t){let r=0;for(const o of t){if(o.path===n.path)return t.splice(r),o;r++}return n}}const gh={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function UL(e,n,t,r,o){const i=mh(e,n,t);return i.matched?(r=function fL(e,n){return e.providers&&!e._injector&&(e._injector=wd(e.providers,n,`Route: ${e.path}`)),e._injector??n}(n,r),function jL(e,n,t,r){const o=n.canMatch;return o&&0!==o.length?B(o.map(s=>{const a=Po(s,e);return Jn(function TL(e){return e&&ms(e.canMatch)}(a)?a.canMatch(n,t):e.runInContext(()=>a(n,t)))})).pipe(Fo(),$b()):B(!0)}(r,n,t).pipe(ne(s=>!0===s?i:{...gh}))):B(i)}function mh(e,n,t){if(""===n.path)return"full"===n.pathMatch&&(e.hasChildren()||t.length>0)?{...gh}:{matched:!0,consumedSegments:[],remainingSegments:t,parameters:{},positionalParamSegments:{}};const o=(n.matcher||C2)(t,e,n);if(!o)return{...gh};const i={};Object.entries(o.posParams??{}).forEach(([a,u])=>{i[a]=u.path});const s=o.consumed.length>0?{...i,...o.consumed[o.consumed.length-1].parameters}:i;return{matched:!0,consumedSegments:o.consumed,remainingSegments:t.slice(o.consumed.length),parameters:s,positionalParamSegments:o.posParams??{}}}function zb(e,n,t,r){return t.length>0&&function qL(e,n,t){return t.some(r=>Zu(e,n,r)&&Wt(r)!==Y)}(e,t,r)?{segmentGroup:new ce(n,GL(r,new ce(t,e.children))),slicedSegments:[]}:0===t.length&&function WL(e,n,t){return t.some(r=>Zu(e,n,r))}(e,t,r)?{segmentGroup:new ce(e.segments,zL(e,0,t,r,e.children)),slicedSegments:t}:{segmentGroup:new ce(e.segments,e.children),slicedSegments:t}}function zL(e,n,t,r,o){const i={};for(const s of r)if(Zu(e,t,s)&&!o[Wt(s)]){const a=new ce([],{});i[Wt(s)]=a}return{...o,...i}}function GL(e,n){const t={};t[Y]=n;for(const r of e)if(""===r.path&&Wt(r)!==Y){const o=new ce([],{});t[Wt(r)]=o}return t}function Zu(e,n,t){return(!(e.hasChildren()||n.length>0)||"full"!==t.pathMatch)&&""===t.path}class XL{constructor(n,t,r,o,i,s,a){this.injector=n,this.configLoader=t,this.rootComponentType=r,this.config=o,this.urlTree=i,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.allowRedirects=!0,this.applyRedirects=new HL(this.urlSerializer,this.urlTree)}noMatchError(n){return new I(4002,!1)}recognize(){const n=zb(this.urlTree.root,[],[],this.config).segmentGroup;return this.processSegmentGroup(this.injector,this.config,n,Y).pipe(Cr(t=>{if(t instanceof Hb)return this.allowRedirects=!1,this.urlTree=t.urlTree,this.match(t.urlTree);throw t instanceof Wu?this.noMatchError(t):t}),ne(t=>{const r=new Uu([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,{},Y,this.rootComponentType,null,{}),o=new An(r,t),i=new Nb("",o),s=function $2(e,n,t=null,r=null){return yb(_b(e),n,t,r)}(r,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,i.url=this.urlSerializer.serialize(s),this.inheritParamsAndData(i._root),{state:i,tree:s}}))}match(n){return this.processSegmentGroup(this.injector,this.config,n.root,Y).pipe(Cr(r=>{throw r instanceof Wu?this.noMatchError(r):r}))}inheritParamsAndData(n){const t=n.value,r=xb(t,this.paramsInheritanceStrategy);t.params=Object.freeze(r.params),t.data=Object.freeze(r.data),n.children.forEach(o=>this.inheritParamsAndData(o))}processSegmentGroup(n,t,r,o){return 0===r.segments.length&&r.hasChildren()?this.processChildren(n,t,r):this.processSegment(n,t,r,r.segments,o,!0)}processChildren(n,t,r){const o=[];for(const i of Object.keys(r.children))"primary"===i?o.unshift(i):o.push(i);return Ne(o).pipe(Io(i=>{const s=r.children[i],a=function mL(e,n){const t=e.filter(r=>Wt(r)===n);return t.push(...e.filter(r=>Wt(r)!==n)),t}(t,i);return this.processSegmentGroup(n,a,s,i)}),function m2(e,n){return xe(function g2(e,n,t,r,o){return(i,s)=>{let a=t,u=n,c=0;i.subscribe(Te(s,l=>{const d=c++;u=a?e(u,l,d):(a=!0,l),r&&s.next(u)},o&&(()=>{a&&s.next(u),s.complete()})))}}(e,n,arguments.length>=2,!0))}((i,s)=>(i.push(...s),i)),Pu(null),function v2(e,n){const t=arguments.length>=2;return r=>r.pipe(e?Tn((o,i)=>e(o,i,r)):Nn,eh(1),t?Pu(n):ib(()=>new Ou))}(),Le(i=>{if(null===i)return ko(r);const s=Gb(i);return function JL(e){e.sort((n,t)=>n.value.outlet===Y?-1:t.value.outlet===Y?1:n.value.outlet.localeCompare(t.value.outlet))}(s),B(s)}))}processSegment(n,t,r,o,i,s){return Ne(t).pipe(Io(a=>this.processSegmentAgainstRoute(a._injector??n,t,a,r,o,i,s).pipe(Cr(u=>{if(u instanceof Wu)return B(null);throw u}))),Dr(a=>!!a),Cr(a=>{if(Bb(a))return function YL(e,n,t){return 0===n.length&&!e.children[t]}(r,o,i)?B([]):ko(r);throw a}))}processSegmentAgainstRoute(n,t,r,o,i,s,a){return function ZL(e,n,t,r){return!!(Wt(e)===r||r!==Y&&Zu(n,t,e))&&("**"===e.path||mh(n,e,t).matched)}(r,o,i,s)?void 0===r.redirectTo?this.matchSegmentAgainstRoute(n,o,r,i,s,a):a&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(n,o,t,r,i,s):ko(o):ko(o)}expandSegmentAgainstRouteUsingRedirect(n,t,r,o,i,s){return"**"===o.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(n,r,o,s):this.expandRegularSegmentAgainstRouteUsingRedirect(n,t,r,o,i,s)}expandWildCardWithParamsAgainstRouteUsingRedirect(n,t,r,o){const i=this.applyRedirects.applyRedirectCommands([],r.redirectTo,{});return r.redirectTo.startsWith("/")?Ub(i):this.applyRedirects.lineralizeSegments(r,i).pipe(Le(s=>{const a=new ce(s,{});return this.processSegment(n,t,a,s,o,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(n,t,r,o,i,s){const{matched:a,consumedSegments:u,remainingSegments:c,positionalParamSegments:l}=mh(t,o,i);if(!a)return ko(t);const d=this.applyRedirects.applyRedirectCommands(u,o.redirectTo,l);return o.redirectTo.startsWith("/")?Ub(d):this.applyRedirects.lineralizeSegments(o,d).pipe(Le(g=>this.processSegment(n,r,t,g.concat(c),s,!1)))}matchSegmentAgainstRoute(n,t,r,o,i,s){let a;if("**"===r.path){const u=o.length>0?ab(o).parameters:{};a=B({snapshot:new Uu(o,u,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,qb(r),Wt(r),r.component??r._loadedComponent??null,r,Wb(r)),consumedSegments:[],remainingSegments:[]}),t.children={}}else a=UL(t,r,o,n).pipe(ne(({matched:u,consumedSegments:c,remainingSegments:l,parameters:d})=>u?{snapshot:new Uu(c,d,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,qb(r),Wt(r),r.component??r._loadedComponent??null,r,Wb(r)),consumedSegments:c,remainingSegments:l}:null));return a.pipe(Lt(u=>null===u?ko(t):this.getChildConfig(n=r._injector??n,r,o).pipe(Lt(({routes:c})=>{const l=r._loadedInjector??n,{snapshot:d,consumedSegments:g,remainingSegments:v}=u,{segmentGroup:_,slicedSegments:y}=zb(t,g,v,c);if(0===y.length&&_.hasChildren())return this.processChildren(l,c,_).pipe(ne(M=>null===M?null:[new An(d,M)]));if(0===c.length&&0===y.length)return B([new An(d,[])]);const C=Wt(r)===i;return this.processSegment(l,c,_,y,C?Y:i,!0).pipe(ne(M=>[new An(d,M)]))}))))}getChildConfig(n,t,r){return t.children?B({routes:t.children,injector:n}):t.loadChildren?void 0!==t._loadedRoutes?B({routes:t._loadedRoutes,injector:t._loadedInjector}):function VL(e,n,t,r){const o=n.canLoad;return void 0===o||0===o.length?B(!0):B(o.map(s=>{const a=Po(s,e);return Jn(function EL(e){return e&&ms(e.canLoad)}(a)?a.canLoad(n,t):e.runInContext(()=>a(n,t)))})).pipe(Fo(),$b())}(n,t,r).pipe(Le(o=>o?this.configLoader.loadChildren(n,t).pipe(We(i=>{t._loadedRoutes=i.routes,t._loadedInjector=i.injector})):function $L(e){return ns(kb(!1,3))}())):B({routes:[],injector:n})}}function KL(e){const n=e.value.routeConfig;return n&&""===n.path}function Gb(e){const n=[],t=new Set;for(const r of e){if(!KL(r)){n.push(r);continue}const o=n.find(i=>r.value.routeConfig===i.value.routeConfig);void 0!==o?(o.children.push(...r.children),t.add(o)):n.push(r)}for(const r of t){const o=Gb(r.children);n.push(new An(r.value,o))}return n.filter(r=>!t.has(r))}function qb(e){return e.data||{}}function Wb(e){return e.resolve||{}}function Zb(e){return"string"==typeof e.title||null===e.title}function vh(e){return Lt(n=>{const t=e(n);return t?Ne(t).pipe(ne(()=>n)):B(n)})}const Lo=new P("ROUTES");let _h=(()=>{class e{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=R(uD)}loadComponent(t){if(this.componentLoaders.get(t))return this.componentLoaders.get(t);if(t._loadedComponent)return B(t._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(t);const r=Jn(t.loadComponent()).pipe(ne(Yb),We(i=>{this.onLoadEndListener&&this.onLoadEndListener(t),t._loadedComponent=i}),qi(()=>{this.componentLoaders.delete(t)})),o=new ob(r,()=>new kt).pipe(Kf());return this.componentLoaders.set(t,o),o}loadChildren(t,r){if(this.childrenLoaders.get(r))return this.childrenLoaders.get(r);if(r._loadedRoutes)return B({routes:r._loadedRoutes,injector:r._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(r);const i=function sV(e,n,t,r){return Jn(e.loadChildren()).pipe(ne(Yb),Le(o=>o instanceof hy||Array.isArray(o)?B(o):Ne(n.compileModuleAsync(o))),ne(o=>{r&&r(e);let i,s,a=!1;return Array.isArray(o)?(s=o,!0):(i=o.create(t).injector,s=i.get(Lo,[],{optional:!0,self:!0}).flat()),{routes:s.map(ph),injector:i}}))}(r,this.compiler,t,this.onLoadEndListener).pipe(qi(()=>{this.childrenLoaders.delete(r)})),s=new ob(i,()=>new kt).pipe(Kf());return this.childrenLoaders.set(r,s),s}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Yb(e){return function aV(e){return e&&"object"==typeof e&&"default"in e}(e)?e.default:e}let Yu=(()=>{class e{get hasRequestedNavigation(){return 0!==this.navigationId}constructor(){this.currentNavigation=null,this.currentTransition=null,this.lastSuccessfulNavigation=null,this.events=new kt,this.transitionAbortSubject=new kt,this.configLoader=R(_h),this.environmentInjector=R(vt),this.urlSerializer=R(is),this.rootContexts=R(ds),this.inputBindingEnabled=null!==R(zu,{optional:!0}),this.navigationId=0,this.afterPreactivation=()=>B(void 0),this.rootComponentType=null,this.configLoader.onLoadEndListener=o=>this.events.next(new K2(o)),this.configLoader.onLoadStartListener=o=>this.events.next(new J2(o))}complete(){this.transitions?.complete()}handleNavigationRequest(t){const r=++this.navigationId;this.transitions?.next({...this.transitions.value,...t,id:r})}setupNavigations(t,r,o){return this.transitions=new bt({id:0,currentUrlTree:r,currentRawUrl:r,currentBrowserUrl:r,extractedUrl:t.urlHandlingStrategy.extract(r),urlAfterRedirects:t.urlHandlingStrategy.extract(r),rawUrl:r,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:cs,restoredState:null,currentSnapshot:o.snapshot,targetSnapshot:null,currentRouterState:o,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe(Tn(i=>0!==i.id),ne(i=>({...i,extractedUrl:t.urlHandlingStrategy.extract(i.rawUrl)})),Lt(i=>{this.currentTransition=i;let s=!1,a=!1;return B(i).pipe(We(u=>{this.currentNavigation={id:u.id,initialUrl:u.rawUrl,extractedUrl:u.extractedUrl,trigger:u.source,extras:u.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null}}),Lt(u=>{const c=u.currentBrowserUrl.toString(),l=!t.navigated||u.extractedUrl.toString()!==c||c!==u.currentUrlTree.toString();if(!l&&"reload"!==(u.extras.onSameUrlNavigation??t.onSameUrlNavigation)){const g="";return this.events.next(new Ro(u.id,this.urlSerializer.serialize(u.rawUrl),g,0)),u.resolve(null),Zt}if(t.urlHandlingStrategy.shouldProcessUrl(u.rawUrl))return B(u).pipe(Lt(g=>{const v=this.transitions?.getValue();return this.events.next(new $u(g.id,this.urlSerializer.serialize(g.extractedUrl),g.source,g.restoredState)),v!==this.transitions?.getValue()?Zt:Promise.resolve(g)}),function eV(e,n,t,r,o,i){return Le(s=>function QL(e,n,t,r,o,i,s="emptyOnly"){return new XL(e,n,t,r,o,s,i).recognize()}(e,n,t,r,s.extractedUrl,o,i).pipe(ne(({state:a,tree:u})=>({...s,targetSnapshot:a,urlAfterRedirects:u}))))}(this.environmentInjector,this.configLoader,this.rootComponentType,t.config,this.urlSerializer,t.paramsInheritanceStrategy),We(g=>{i.targetSnapshot=g.targetSnapshot,i.urlAfterRedirects=g.urlAfterRedirects,this.currentNavigation={...this.currentNavigation,finalUrl:g.urlAfterRedirects};const v=new Ib(g.id,this.urlSerializer.serialize(g.extractedUrl),this.urlSerializer.serialize(g.urlAfterRedirects),g.targetSnapshot);this.events.next(v)}));if(l&&t.urlHandlingStrategy.shouldProcessUrl(u.currentRawUrl)){const{id:g,extractedUrl:v,source:_,restoredState:y,extras:C}=u,M=new $u(g,this.urlSerializer.serialize(v),_,y);this.events.next(M);const D=Ab(0,this.rootComponentType).snapshot;return this.currentTransition=i={...u,targetSnapshot:D,urlAfterRedirects:v,extras:{...C,skipLocationChange:!1,replaceUrl:!1}},B(i)}{const g="";return this.events.next(new Ro(u.id,this.urlSerializer.serialize(u.extractedUrl),g,1)),u.resolve(null),Zt}}),We(u=>{const c=new Z2(u.id,this.urlSerializer.serialize(u.extractedUrl),this.urlSerializer.serialize(u.urlAfterRedirects),u.targetSnapshot);this.events.next(c)}),ne(u=>(this.currentTransition=i={...u,guards:yL(u.targetSnapshot,u.currentSnapshot,this.rootContexts)},i)),function xL(e,n){return Le(t=>{const{targetSnapshot:r,currentSnapshot:o,guards:{canActivateChecks:i,canDeactivateChecks:s}}=t;return 0===s.length&&0===i.length?B({...t,guardsResult:!0}):function NL(e,n,t,r){return Ne(e).pipe(Le(o=>function LL(e,n,t,r,o){const i=n&&n.routeConfig?n.routeConfig.canDeactivate:null;return i&&0!==i.length?B(i.map(a=>{const u=hs(n)??o,c=Po(a,u);return Jn(function SL(e){return e&&ms(e.canDeactivate)}(c)?c.canDeactivate(e,n,t,r):u.runInContext(()=>c(e,n,t,r))).pipe(Dr())})).pipe(Fo()):B(!0)}(o.component,o.route,t,n,r)),Dr(o=>!0!==o,!0))}(s,r,o,e).pipe(Le(a=>a&&function bL(e){return"boolean"==typeof e}(a)?function RL(e,n,t,r){return Ne(n).pipe(Io(o=>Jf(function PL(e,n){return null!==e&&n&&n(new eL(e)),B(!0)}(o.route.parent,r),function OL(e,n){return null!==e&&n&&n(new nL(e)),B(!0)}(o.route,r),function kL(e,n,t){const r=n[n.length-1],i=n.slice(0,n.length-1).reverse().map(s=>function DL(e){const n=e.routeConfig?e.routeConfig.canActivateChild:null;return n&&0!==n.length?{node:e,guards:n}:null}(s)).filter(s=>null!==s).map(s=>rb(()=>B(s.guards.map(u=>{const c=hs(s.node)??t,l=Po(u,c);return Jn(function ML(e){return e&&ms(e.canActivateChild)}(l)?l.canActivateChild(r,e):c.runInContext(()=>l(r,e))).pipe(Dr())})).pipe(Fo())));return B(i).pipe(Fo())}(e,o.path,t),function FL(e,n,t){const r=n.routeConfig?n.routeConfig.canActivate:null;if(!r||0===r.length)return B(!0);const o=r.map(i=>rb(()=>{const s=hs(n)??t,a=Po(i,s);return Jn(function IL(e){return e&&ms(e.canActivate)}(a)?a.canActivate(n,e):s.runInContext(()=>a(n,e))).pipe(Dr())}));return B(o).pipe(Fo())}(e,o.route,t))),Dr(o=>!0!==o,!0))}(r,i,e,n):B(a)),ne(a=>({...t,guardsResult:a})))})}(this.environmentInjector,u=>this.events.next(u)),We(u=>{if(i.guardsResult=u.guardsResult,br(u.guardsResult))throw Fb(0,u.guardsResult);const c=new Y2(u.id,this.urlSerializer.serialize(u.extractedUrl),this.urlSerializer.serialize(u.urlAfterRedirects),u.targetSnapshot,!!u.guardsResult);this.events.next(c)}),Tn(u=>!!u.guardsResult||(this.cancelNavigationTransition(u,"",3),!1)),vh(u=>{if(u.guards.canActivateChecks.length)return B(u).pipe(We(c=>{const l=new Q2(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(l)}),Lt(c=>{let l=!1;return B(c).pipe(function tV(e,n){return Le(t=>{const{targetSnapshot:r,guards:{canActivateChecks:o}}=t;if(!o.length)return B(t);let i=0;return Ne(o).pipe(Io(s=>function nV(e,n,t,r){const o=e.routeConfig,i=e._resolve;return void 0!==o?.title&&!Zb(o)&&(i[rs]=o.title),function rV(e,n,t,r){const o=function oV(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e)]}(e);if(0===o.length)return B({});const i={};return Ne(o).pipe(Le(s=>function iV(e,n,t,r){const o=hs(n)??r,i=Po(e,o);return Jn(i.resolve?i.resolve(n,t):o.runInContext(()=>i(n,t)))}(e[s],n,t,r).pipe(Dr(),We(a=>{i[s]=a}))),eh(1),function _2(e){return ne(()=>e)}(i),Cr(s=>Bb(s)?Zt:ns(s)))}(i,e,n,r).pipe(ne(s=>(e._resolvedData=s,e.data=xb(e,t).resolve,o&&Zb(o)&&(e.data[rs]=o.title),null)))}(s.route,r,e,n)),We(()=>i++),eh(1),Le(s=>i===o.length?B(t):Zt))})}(t.paramsInheritanceStrategy,this.environmentInjector),We({next:()=>l=!0,complete:()=>{l||this.cancelNavigationTransition(c,"",2)}}))}),We(c=>{const l=new X2(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(l)}))}),vh(u=>{const c=l=>{const d=[];l.routeConfig?.loadComponent&&!l.routeConfig._loadedComponent&&d.push(this.configLoader.loadComponent(l.routeConfig).pipe(We(g=>{l.component=g}),ne(()=>{})));for(const g of l.children)d.push(...c(g));return d};return Xf(c(u.targetSnapshot.root)).pipe(Pu(),Ao(1))}),vh(()=>this.afterPreactivation()),ne(u=>{const c=function uL(e,n,t){const r=fs(e,n._root,t?t._root:void 0);return new Tb(r,n)}(t.routeReuseStrategy,u.targetSnapshot,u.currentRouterState);return this.currentTransition=i={...u,targetRouterState:c},i}),We(()=>{this.events.next(new sh)}),((e,n,t,r)=>ne(o=>(new _L(n,o.targetRouterState,o.currentRouterState,t,r).activate(e),o)))(this.rootContexts,t.routeReuseStrategy,u=>this.events.next(u),this.inputBindingEnabled),Ao(1),We({next:u=>{s=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new Kn(u.id,this.urlSerializer.serialize(u.extractedUrl),this.urlSerializer.serialize(u.urlAfterRedirects))),t.titleStrategy?.updateTitle(u.targetRouterState.snapshot),u.resolve(!0)},complete:()=>{s=!0}}),function y2(e){return xe((n,t)=>{dt(e).subscribe(Te(t,()=>t.complete(),Ju)),!t.closed&&n.subscribe(t)})}(this.transitionAbortSubject.pipe(We(u=>{throw u}))),qi(()=>{s||a||this.cancelNavigationTransition(i,"",1),this.currentNavigation?.id===i.id&&(this.currentNavigation=null)}),Cr(u=>{if(a=!0,Lb(u))this.events.next(new ls(i.id,this.urlSerializer.serialize(i.extractedUrl),u.message,u.cancellationCode)),function dL(e){return Lb(e)&&br(e.url)}(u)?this.events.next(new ah(u.url)):i.resolve(!1);else{this.events.next(new Hu(i.id,this.urlSerializer.serialize(i.extractedUrl),u,i.targetSnapshot??void 0));try{i.resolve(t.errorHandler(u))}catch(c){i.reject(c)}}return Zt}))}))}cancelNavigationTransition(t,r,o){const i=new ls(t.id,this.urlSerializer.serialize(t.extractedUrl),r,o);this.events.next(i),t.resolve(!1)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Qb(e){return e!==cs}let Xb=(()=>{class e{buildTitle(t){let r,o=t.root;for(;void 0!==o;)r=this.getResolvedTitleForRoute(o)??r,o=o.children.find(i=>i.outlet===Y);return r}getResolvedTitleForRoute(t){return t.data[rs]}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:function(){return R(uV)},providedIn:"root"})}return e})(),uV=(()=>{class e extends Xb{constructor(t){super(),this.title=t}updateTitle(t){const r=this.buildTitle(t);void 0!==r&&this.title.setTitle(r)}static#e=this.\u0275fac=function(r){return new(r||e)(k(TC))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),cV=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:function(){return R(dV)},providedIn:"root"})}return e})();class lV{shouldDetach(n){return!1}store(n,t){}shouldAttach(n){return!1}retrieve(n){return null}shouldReuseRoute(n,t){return n.routeConfig===t.routeConfig}}let dV=(()=>{class e extends lV{static#e=this.\u0275fac=function(){let t;return function(o){return(t||(t=He(e)))(o||e)}}();static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const Qu=new P("",{providedIn:"root",factory:()=>({})});let fV=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:function(){return R(hV)},providedIn:"root"})}return e})(),hV=(()=>{class e{shouldProcessUrl(t){return!0}extract(t){return t}merge(t,r){return t}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var vs=function(e){return e[e.COMPLETE=0]="COMPLETE",e[e.FAILED=1]="FAILED",e[e.REDIRECTING=2]="REDIRECTING",e}(vs||{});function Jb(e,n){e.events.pipe(Tn(t=>t instanceof Kn||t instanceof ls||t instanceof Hu||t instanceof Ro),ne(t=>t instanceof Kn||t instanceof Ro?vs.COMPLETE:t instanceof ls&&(0===t.code||1===t.code)?vs.REDIRECTING:vs.FAILED),Tn(t=>t!==vs.REDIRECTING),Ao(1)).subscribe(()=>{n()})}function pV(e){throw e}function gV(e,n,t){return n.parse("/")}const mV={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},vV={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let Ft=(()=>{class e{get navigationId(){return this.navigationTransitions.navigationId}get browserPageId(){return"computed"!==this.canceledNavigationResolution?this.currentPageId:this.location.getState()?.\u0275routerPageId??this.currentPageId}get events(){return this._events}constructor(){this.disposed=!1,this.currentPageId=0,this.console=R(aD),this.isNgZoneEnabled=!1,this._events=new kt,this.options=R(Qu,{optional:!0})||{},this.pendingTasks=R(qa),this.errorHandler=this.options.errorHandler||pV,this.malformedUriErrorHandler=this.options.malformedUriErrorHandler||gV,this.navigated=!1,this.lastSuccessfulId=-1,this.urlHandlingStrategy=R(fV),this.routeReuseStrategy=R(cV),this.titleStrategy=R(Xb),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.config=R(Lo,{optional:!0})?.flat()??[],this.navigationTransitions=R(Yu),this.urlSerializer=R(is),this.location=R(ef),this.componentInputBindingEnabled=!!R(zu,{optional:!0}),this.eventsSubscription=new lt,this.isNgZoneEnabled=R(ge)instanceof ge&&ge.isInAngularZone(),this.resetConfig(this.config),this.currentUrlTree=new No,this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.routerState=Ab(0,null),this.navigationTransitions.setupNavigations(this,this.currentUrlTree,this.routerState).subscribe(t=>{this.lastSuccessfulId=t.id,this.currentPageId=this.browserPageId},t=>{this.console.warn(`Unhandled Navigation Error: ${t}`)}),this.subscribeToNavigationEvents()}subscribeToNavigationEvents(){const t=this.navigationTransitions.events.subscribe(r=>{try{const{currentTransition:o}=this.navigationTransitions;if(null===o)return void(Kb(r)&&this._events.next(r));if(r instanceof $u)Qb(o.source)&&(this.browserUrlTree=o.extractedUrl);else if(r instanceof Ro)this.rawUrlTree=o.rawUrl;else if(r instanceof Ib){if("eager"===this.urlUpdateStrategy){if(!o.extras.skipLocationChange){const i=this.urlHandlingStrategy.merge(o.urlAfterRedirects,o.rawUrl);this.setBrowserUrl(i,o)}this.browserUrlTree=o.urlAfterRedirects}}else if(r instanceof sh)this.currentUrlTree=o.urlAfterRedirects,this.rawUrlTree=this.urlHandlingStrategy.merge(o.urlAfterRedirects,o.rawUrl),this.routerState=o.targetRouterState,"deferred"===this.urlUpdateStrategy&&(o.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,o),this.browserUrlTree=o.urlAfterRedirects);else if(r instanceof ls)0!==r.code&&1!==r.code&&(this.navigated=!0),(3===r.code||2===r.code)&&this.restoreHistory(o);else if(r instanceof ah){const i=this.urlHandlingStrategy.merge(r.url,o.currentRawUrl),s={skipLocationChange:o.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy||Qb(o.source)};this.scheduleNavigation(i,cs,null,s,{resolve:o.resolve,reject:o.reject,promise:o.promise})}r instanceof Hu&&this.restoreHistory(o,!0),r instanceof Kn&&(this.navigated=!0),Kb(r)&&this._events.next(r)}catch(o){this.navigationTransitions.transitionAbortSubject.next(o)}});this.eventsSubscription.add(t)}resetRootComponentType(t){this.routerState.root.component=t,this.navigationTransitions.rootComponentType=t}initialNavigation(){if(this.setUpLocationChangeListener(),!this.navigationTransitions.hasRequestedNavigation){const t=this.location.getState();this.navigateToSyncWithBrowser(this.location.path(!0),cs,t)}}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(t=>{const r="popstate"===t.type?"popstate":"hashchange";"popstate"===r&&setTimeout(()=>{this.navigateToSyncWithBrowser(t.url,r,t.state)},0)}))}navigateToSyncWithBrowser(t,r,o){const i={replaceUrl:!0},s=o?.navigationId?o:null;if(o){const u={...o};delete u.navigationId,delete u.\u0275routerPageId,0!==Object.keys(u).length&&(i.state=u)}const a=this.parseUrl(t);this.scheduleNavigation(a,r,s,i)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(t){this.config=t.map(ph),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(t,r={}){const{relativeTo:o,queryParams:i,fragment:s,queryParamsHandling:a,preserveFragment:u}=r,c=u?this.currentUrlTree.fragment:s;let d,l=null;switch(a){case"merge":l={...this.currentUrlTree.queryParams,...i};break;case"preserve":l=this.currentUrlTree.queryParams;break;default:l=i||null}null!==l&&(l=this.removeEmptyProps(l));try{d=_b(o?o.snapshot:this.routerState.snapshot.root)}catch{("string"!=typeof t[0]||!t[0].startsWith("/"))&&(t=[]),d=this.currentUrlTree.root}return yb(d,t,l,c??null)}navigateByUrl(t,r={skipLocationChange:!1}){const o=br(t)?t:this.parseUrl(t),i=this.urlHandlingStrategy.merge(o,this.rawUrlTree);return this.scheduleNavigation(i,cs,null,r)}navigate(t,r={skipLocationChange:!1}){return function _V(e){for(let n=0;n{const i=t[o];return null!=i&&(r[o]=i),r},{})}scheduleNavigation(t,r,o,i,s){if(this.disposed)return Promise.resolve(!1);let a,u,c;s?(a=s.resolve,u=s.reject,c=s.promise):c=new Promise((d,g)=>{a=d,u=g});const l=this.pendingTasks.add();return Jb(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(l))}),this.navigationTransitions.handleNavigationRequest({source:r,restoredState:o,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,currentBrowserUrl:this.browserUrlTree,rawUrl:t,extras:i,resolve:a,reject:u,promise:c,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),c.catch(d=>Promise.reject(d))}setBrowserUrl(t,r){const o=this.urlSerializer.serialize(t);if(this.location.isCurrentPathEqualTo(o)||r.extras.replaceUrl){const s={...r.extras.state,...this.generateNgRouterState(r.id,this.browserPageId)};this.location.replaceState(o,"",s)}else{const i={...r.extras.state,...this.generateNgRouterState(r.id,this.browserPageId+1)};this.location.go(o,"",i)}}restoreHistory(t,r=!1){if("computed"===this.canceledNavigationResolution){const i=this.currentPageId-this.browserPageId;0!==i?this.location.historyGo(i):this.currentUrlTree===this.getCurrentNavigation()?.finalUrl&&0===i&&(this.resetState(t),this.browserUrlTree=t.currentUrlTree,this.resetUrlToCurrentUrlTree())}else"replace"===this.canceledNavigationResolution&&(r&&this.resetState(t),this.resetUrlToCurrentUrlTree())}resetState(t){this.routerState=t.currentRouterState,this.currentUrlTree=t.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,t.rawUrl)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(t,r){return"computed"===this.canceledNavigationResolution?{navigationId:t,\u0275routerPageId:r}:{navigationId:t}}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Kb(e){return!(e instanceof sh||e instanceof ah)}class eE{}let CV=(()=>{class e{constructor(t,r,o,i,s){this.router=t,this.injector=o,this.preloadingStrategy=i,this.loader=s}setUpPreloading(){this.subscription=this.router.events.pipe(Tn(t=>t instanceof Kn),Io(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(t,r){const o=[];for(const i of r){i.providers&&!i._injector&&(i._injector=wd(i.providers,t,`Route: ${i.path}`));const s=i._injector??t,a=i._loadedInjector??s;(i.loadChildren&&!i._loadedRoutes&&void 0===i.canLoad||i.loadComponent&&!i._loadedComponent)&&o.push(this.preloadConfig(s,i)),(i.children||i._loadedRoutes)&&o.push(this.processRoutes(a,i.children??i._loadedRoutes))}return Ne(o).pipe(Mr())}preloadConfig(t,r){return this.preloadingStrategy.preload(r,()=>{let o;o=r.loadChildren&&void 0===r.canLoad?this.loader.loadChildren(t,r):B(null);const i=o.pipe(Le(s=>null===s?B(void 0):(r._loadedRoutes=s.routes,r._loadedInjector=s.injector,this.processRoutes(s.injector??t,s.routes))));return r.loadComponent&&!r._loadedComponent?Ne([i,this.loader.loadComponent(r)]).pipe(Mr()):i})}static#e=this.\u0275fac=function(r){return new(r||e)(k(Ft),k(uD),k(vt),k(eE),k(_h))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const Dh=new P("");let tE=(()=>{class e{constructor(t,r,o,i,s={}){this.urlSerializer=t,this.transitions=r,this.viewportScroller=o,this.zone=i,this.options=s,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},s.scrollPositionRestoration=s.scrollPositionRestoration||"disabled",s.anchorScrolling=s.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(t=>{t instanceof $u?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=t.navigationTrigger,this.restoredId=t.restoredState?t.restoredState.navigationId:0):t instanceof Kn?(this.lastId=t.id,this.scheduleScrollEvent(t,this.urlSerializer.parse(t.urlAfterRedirects).fragment)):t instanceof Ro&&0===t.code&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(t,this.urlSerializer.parse(t.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(t=>{t instanceof Mb&&(t.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(t.position):t.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(t.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(t,r){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new Mb(t,"popstate"===this.lastSource?this.store[this.restoredId]:null,r))})},0)})}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}static#e=this.\u0275fac=function(r){!function ev(){throw new Error("invalid")}()};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();function xn(e,n){return{\u0275kind:e,\u0275providers:n}}function rE(){const e=R(yt);return n=>{const t=e.get(wo);if(n!==t.components[0])return;const r=e.get(Ft),o=e.get(oE);1===e.get(Ch)&&r.initialNavigation(),e.get(iE,null,X.Optional)?.setUpPreloading(),e.get(Dh,null,X.Optional)?.init(),r.resetRootComponentType(t.componentTypes[0]),o.closed||(o.next(),o.complete(),o.unsubscribe())}}const oE=new P("",{factory:()=>new kt}),Ch=new P("",{providedIn:"root",factory:()=>1}),iE=new P("");function IV(e){return xn(0,[{provide:iE,useExisting:CV},{provide:eE,useExisting:e}])}const sE=new P("ROUTER_FORROOT_GUARD"),SV=[ef,{provide:is,useClass:th},Ft,ds,{provide:Er,useFactory:function nE(e){return e.routerState.root},deps:[Ft]},_h,[]];function TV(){return new gD("Router",Ft)}let aE=(()=>{class e{constructor(t){}static forRoot(t,r){return{ngModule:e,providers:[SV,[],{provide:Lo,multi:!0,useValue:t},{provide:sE,useFactory:RV,deps:[[Ft,new Zs,new Ys]]},{provide:Qu,useValue:r||{}},r?.useHash?{provide:gr,useClass:hO}:{provide:gr,useClass:GD},{provide:Dh,useFactory:()=>{const e=R(NP),n=R(ge),t=R(Qu),r=R(Yu),o=R(is);return t.scrollOffset&&e.setOffset(t.scrollOffset),new tE(o,r,e,n,t)}},r?.preloadingStrategy?IV(r.preloadingStrategy).\u0275providers:[],{provide:gD,multi:!0,useFactory:TV},r?.initialNavigation?OV(r):[],r?.bindToComponentInputs?xn(8,[Pb,{provide:zu,useExisting:Pb}]).\u0275providers:[],[{provide:uE,useFactory:rE},{provide:zd,multi:!0,useExisting:uE}]]}}static forChild(t){return{ngModule:e,providers:[{provide:Lo,multi:!0,useValue:t}]}}static#e=this.\u0275fac=function(r){return new(r||e)(k(sE,8))};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({})}return e})();function RV(e){return"guarded"}function OV(e){return["disabled"===e.initialNavigation?xn(3,[{provide:kd,multi:!0,useFactory:()=>{const n=R(Ft);return()=>{n.setUpLocationChangeListener()}}},{provide:Ch,useValue:2}]).\u0275providers:[],"enabledBlocking"===e.initialNavigation?xn(2,[{provide:Ch,useValue:0},{provide:kd,multi:!0,deps:[yt],useFactory:n=>{const t=n.get(dO,Promise.resolve());return()=>t.then(()=>new Promise(r=>{const o=n.get(Ft),i=n.get(oE);Jb(o,()=>{r(!0)}),n.get(Yu).afterPreactivation=()=>(r(!0),i.closed?B(void 0):i),o.initialNavigation()}))}}]).\u0275providers:[]]}const uE=new P(""),FV=[];let kV=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({imports:[aE.forRoot(FV),aE]})}return e})();class cE{constructor(n={}){this.term=n.term||""}}function LV(e,n){if(1&e&&(h(0,"li"),p(1),f()),2&e){const t=n.$implicit;m(1),T(t.id)}}function VV(e,n){if(1&e&&(h(0,"div",23)(1,"ul"),A(2,LV,2,1,"li",3),f()()),2&e){const t=E(3).$implicit;m(2),S("ngForOf",t.inputs)}}function jV(e,n){if(1&e&&(h(0,"div")(1,"div",24)(2,"p",18)(3,"a",12),p(4),f(),h(5,"button",19),p(6),f()()()()),2&e){const t=n.$implicit;m(3),F("href","/explorer?term=",t.to,"",L),m(1),T(t.to),m(2),x("",t.value.toFixed(6)," YDA")}}function BV(e,n){if(1&e){const t=Rt();h(0,"div")(1,"div",11)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",12),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",12),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Time: "),f(),p(15),f(),h(16,"p")(17,"strong"),p(18,"Fee: "),f(),p(19),f(),h(20,"p")(21,"strong"),p(22,"Inputs:"),f(),p(23),f(),h(24,"div",13)(25,"button",14),re("click",function(){return Tt(t),At(E(3).toggleAccordion("inputsAccordion"))}),p(26,"Show Inputs"),f(),A(27,VV,3,1,"div",15),f(),h(28,"p")(29,"strong"),p(30,"Outputs:"),f(),p(31),f(),h(32,"div",16)(33,"div",17)(34,"p",18)(35,"a",12),p(36),f(),h(37,"button",19),p(38),f()()()(),h(39,"div",20),Pe(40,"img",21),f(),h(41,"div",22),A(42,jV,7,3,"div",3),f()()()}if(2&e){const t=E(2).$implicit,r=E();m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",r.dateFormatService.formatTransactionTime(t.time),""),m(4),x(" ",t.fee," YDA"),m(4),x(" ",t.inputs.length,""),m(4),S("ngIf","inputsAccordion"===r.showAccordion),m(4),x(" ",t.outputs.length,""),m(4),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),m(1),T(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to),m(2),x("",r.getTotalValue(t.outputs).toFixed(6)," YDA"),m(4),S("ngForOf",t.outputs)}}function $V(e,n){if(1&e&&(h(0,"div")(1,"div",11)(2,"p")(3,"strong"),p(4,"Relationship Identifier:"),f(),p(5),f(),h(6,"div",25)(7,"h4",26),p(8,"Relationship DATA:"),f(),h(9,"textarea",27),p(10),f()(),h(11,"div",16)(12,"div",24)(13,"button",28),p(14,"Newly created Address"),f(),h(15,"p",29)(16,"a",12),p(17),f()()()()()()),2&e){const t=E(2).$implicit;m(5),x(" ",t.rid,""),m(5),T(t.relationship),m(6),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),m(1),T(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function HV(e,n){if(1&e&&(h(0,"div")(1,"div",11)(2,"p")(3,"strong"),p(4,"Relationship Identifier:"),f(),p(5),f(),h(6,"div",25)(7,"h4",26),p(8,"Relationship DATA:"),f(),h(9,"textarea",27),p(10),f()()()()),2&e){const t=E(2).$implicit;m(5),x(" ",t.rid,""),m(5),T(t.relationship)}}function UV(e,n){if(1&e&&(h(0,"div")(1,"div",11)(2,"p")(3,"strong"),p(4,"Relationship Identifier:"),f(),p(5),f(),h(6,"div",25)(7,"h4",26),p(8,"Relationship DATA:"),f(),h(9,"textarea",27),p(10),f()()()()),2&e){const t=E(2).$implicit;m(5),x(" ",t.rid,""),m(5),T(t.relationship)}}function zV(e,n){if(1&e&&(h(0,"tr",7)(1,"td",8)(2,"div")(3,"h2",9),p(4,"Transaction Details"),f(),A(5,BV,43,13,"div",10),A(6,$V,18,4,"div",10),A(7,HV,11,2,"div",10),A(8,UV,11,2,"div",10),f()()()),2&e){const t=E().$implicit,r=E();m(5),S("ngIf",r.transactionUtilsService.isTransferTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isCreateIdentityTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isEncryptedMessageTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isMessageTransaction(t))}}const GV=function(e,n,t,r){return{transfer:e,"create-identity":n,"encrypted-message":t,message:r}};function qV(e,n){if(1&e){const t=Rt();$n(0),h(1,"tr",4),re("click",function(){const i=Tt(t).$implicit;return At(E().toggleDetails(i))}),h(2,"td"),p(3),f(),h(4,"td"),p(5),f(),h(6,"td")(7,"button",5),p(8),f()(),h(9,"td"),p(10),f(),h(11,"td"),p(12),f()(),A(13,zV,9,4,"tr",6),Hn()}if(2&e){const t=n.$implicit,r=E();m(3),T(r.dateFormatService.formatTransactionTime(t.time)),m(2),T(t.hash),m(2),S("ngClass",wy(7,GV,r.transactionUtilsService.isTransferTransaction(t),r.transactionUtilsService.isCreateIdentityTransaction(t),r.transactionUtilsService.isEncryptedMessageTransaction(t),r.transactionUtilsService.isMessageTransaction(t))),m(1),x(" ",r.transactionUtilsService.getTransactionType(t)," "),m(2),T(t.inputs.length),m(2),T(t.outputs.length),m(1),S("ngIf",r.expandedTransaction&&r.expandedTransaction.id===t.id)}}let WV=(()=>{class e{constructor(t,r,o){this.httpClient=t,this.dateFormatService=r,this.transactionUtilsService=o,this.mempoolData=[],this.expandedTransaction=null,this.result=[],this.showAccordion=null}ngOnInit(){this.httpClient.get("/explorer-mempool").subscribe(t=>{this.mempoolData=t.result||[]},t=>{console.error("Error fetching mempool data:",t)})}toggleDetails(t){this.expandedTransaction=this.expandedTransaction===t?null:t}getTotalValue(t){return t.reduce((r,o)=>r+o.value,0)}toggleAccordion(t){this.showAccordion=this.showAccordion===t?null:t}static#e=this.\u0275fac=function(r){return new(r||e)(b(Zi),b(Nu),b(Ru))};static#t=this.\u0275cmp=Tr({type:e,selectors:[["app-mempool"]],decls:18,vars:1,consts:[[2,"text-transform","uppercase","margin","10px","margin-top","20px"],[1,"blocks-container"],[1,"blocks-table"],[4,"ngFor","ngForOf"],[3,"click"],[1,"transaction-type-button",3,"ngClass"],["class","expanded-row",4,"ngIf"],[1,"expanded-row"],["colspan","5"],[2,"text-transform","uppercase","margin","20px","margin-top","10px"],[4,"ngIf"],[1,"transaction-details"],[3,"href"],[1,"input-section",2,"width","100%","display","inline-block","margin-top","5px"],[1,"accordion",3,"click"],["class","panel",4,"ngIf"],[1,"in-section",2,"width","44%","display","inline-block","margin-top","5px"],[1,"transfer-in-info-box"],[2,"margin-left","10px"],[1,"transaction-value-button"],[1,"arrow-box",2,"width","10%","display","inline-block","vertical-align","top"],["src","yadacoinstatic/explorer/assets/arrow-right.png","alt","Arrow Right",1,"arrow-icon"],[1,"out-section",2,"width","44%","display","inline-block","float","right","margin-top","5px"],[1,"panel"],[1,"transfer-out-info-box"],[1,"relationship-data-box"],[2,"text-transform","uppercase","margin","10px"],["rows","4","readonly","",2,"width","98%"],[1,"transaction-type-button","create-identity"],[2,"margin-left","15px"]],template:function(r,o){1&r&&(h(0,"h2",0),p(1,"Mempool"),f(),h(2,"div",1)(3,"table",2)(4,"thead")(5,"tr")(6,"th"),p(7,"Time"),f(),h(8,"th"),p(9,"Hash"),f(),h(10,"th"),p(11,"Type"),f(),h(12,"th"),p(13,"Inputs"),f(),h(14,"th"),p(15,"Outputs"),f()()(),h(16,"tbody"),A(17,qV,14,12,"ng-container",3),f()()()),2&r&&(m(17),S("ngForOf",o.mempoolData))},dependencies:[du,fu,Ui]})}return e})();function ZV(e,n){1&e&&(h(0,"div",9)(1,"strong"),p(2,"Loading..."),f()())}function YV(e,n){if(1&e&&(h(0,"div",10)(1,"strong"),p(2,"Your Balance:"),f(),p(3),f()),2&e){const t=E();m(3),x(" ",t.balance," ")}}let QV=(()=>{class e{constructor(t){this.httpClient=t,this.address="",this.balance=0,this.loading=!1}getBalance(){this.address&&(this.loading=!0,this.httpClient.get(`/explorer-get-balance?address=${this.address}`).subscribe(t=>{this.balance=t.balance,this.loading=!1},t=>{alert("Something went wrong while fetching the balance."),this.loading=!1}))}static#e=this.\u0275fac=function(r){return new(r||e)(b(Zi))};static#t=this.\u0275cmp=Tr({type:e,selectors:[["app-address-balance"]],decls:15,vars:5,consts:[[1,"button",2,"text-transform","uppercase","margin","10px","margin-top","20px"],[1,"address-balance-container"],["for","addressInput"],[2,"display","flex"],["id","addressInput","type","text",1,"search-container",3,"ngModel","ngModelChange"],[1,"button","btn-success",3,"disabled","click"],[2,"margin-top","10px"],["class","loading-message",4,"ngIf"],["class","result",4,"ngIf"],[1,"loading-message"],[1,"result"]],template:function(r,o){1&r&&(h(0,"h2",0),p(1,"Address Balance"),f(),h(2,"div",1)(3,"label",2),p(4,"Enter Your Wallet Address:"),f(),h(5,"div",3)(6,"input",4),re("ngModelChange",function(s){return o.address=s}),f(),h(7,"button",5),re("click",function(){return o.getBalance()}),p(8,"Get balance"),f()(),h(9,"div",6)(10,"strong"),p(11,"Your Address:"),f(),p(12),f(),A(13,ZV,3,0,"div",7),A(14,YV,4,1,"div",8),f()),2&r&&(m(6),S("ngModel",o.address),m(1),S("disabled",o.loading),m(5),x(" ",o.address," "),m(1),S("ngIf",o.loading),m(1),S("ngIf",!o.loading&&null!==o.balance))},dependencies:[Ui,Qi,Pf,xu],styles:[".address-balance-container[_ngcontent-%COMP%]{margin:10px;padding:20px;background-color:#424242;border-radius:5px;color:#fff}label[_ngcontent-%COMP%]{display:block;margin-bottom:10px}input[_ngcontent-%COMP%]{flex:1;padding:10px;margin-bottom:10px;margin-right:10px}button.btn-success[_ngcontent-%COMP%]{background-color:green;color:#fff;padding:8px 20px;border:none;cursor:pointer;transition:background .3s ease;border-radius:5px;height:40px}.loading-message[_ngcontent-%COMP%], .result[_ngcontent-%COMP%]{margin-top:10px}"]})}return e})();function XV(e,n){if(1&e&&(h(0,"li"),p(1),f()),2&e){const t=n.$implicit;m(1),T(t.id)}}function JV(e,n){if(1&e&&(h(0,"div",25)(1,"ul"),A(2,XV,2,1,"li",3),f()()),2&e){const t=E(3).$implicit;m(2),S("ngForOf",t.inputs)}}function KV(e,n){if(1&e&&(h(0,"div")(1,"div",26)(2,"p",20)(3,"a",10),p(4),f(),h(5,"button",21),p(6),f()()()()),2&e){const t=n.$implicit;m(3),F("href","/explorer?term=",t.to,"",L),m(1),T(t.to),m(2),x("",t.value.toFixed(6)," YDA")}}function ej(e,n){if(1&e){const t=Rt();h(0,"div")(1,"div",14)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",10),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",10),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Inputs:"),f(),p(15),f(),h(16,"div",15)(17,"button",16),re("click",function(){return Tt(t),At(E(5).toggleAccordion("inputsAccordion"))}),p(18,"Show Inputs"),f(),A(19,JV,3,1,"div",17),f(),h(20,"p")(21,"strong"),p(22,"Outputs:"),f(),p(23),f(),h(24,"div",18)(25,"div",19)(26,"p",20)(27,"a",10),p(28),f(),h(29,"button",21),p(30),f()()()(),h(31,"div",22),Pe(32,"img",23),f(),h(33,"div",24),A(34,KV,7,3,"div",3),f()()()}if(2&e){const t=E(2).$implicit,r=E(3);m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.inputs.length,""),m(4),S("ngIf","inputsAccordion"===r.showAccordion),m(4),x(" ",t.outputs.length,""),m(4),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),m(1),T(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to),m(2),x("",r.getTotalValue(t.outputs).toFixed(6)," YDA"),m(4),S("ngForOf",t.outputs)}}function tj(e,n){if(1&e&&(h(0,"div"),A(1,ej,35,11,"div",13),f()),2&e){const t=E().index,r=E(2).index,o=E();m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}function nj(e,n){if(1&e&&(h(0,"div")(1,"div",26)(2,"p",20)(3,"a",10),p(4),f(),h(5,"button",21),p(6),f()()()()),2&e){const t=n.$implicit;m(3),F("href","/explorer?term=",t.to,"",L),m(1),T(t.to),m(2),x("",t.value.toFixed(6)," YDA")}}function rj(e,n){if(1&e&&(h(0,"div")(1,"div",14)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",10),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",10),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Outputs:"),f(),p(15),f(),h(16,"div",18)(17,"div",19)(18,"button",27),p(19,"Coinbase"),f(),h(20,"p",20),p(21," (Newly Generated Coins) "),h(22,"button",21),p(23),f()()()(),h(24,"div",22),Pe(25,"img",23),f(),h(26,"div",24),A(27,nj,7,3,"div",3),f()()()),2&e){const t=E(2).$implicit,r=E(3);m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.outputs.length,""),m(8),x("",r.getTotalValue(t.outputs).toFixed(6)," YDA"),m(4),S("ngForOf",t.outputs)}}function oj(e,n){if(1&e&&(h(0,"div"),A(1,rj,28,7,"div",13),f()),2&e){const t=E().index,r=E(2).index,o=E();m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}function ij(e,n){if(1&e&&(h(0,"div")(1,"div",14)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",10),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",10),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Relationship Identifier:"),f(),p(15),f(),h(16,"div",28)(17,"h4",29),p(18,"Relationship DATA:"),f(),h(19,"textarea",30),p(20),f()(),h(21,"div",18)(22,"div",26)(23,"button",31),p(24,"Newly created Address"),f(),h(25,"p",32)(26,"a",10),p(27),f()()()()()()),2&e){const t=E(2).$implicit;m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.rid,""),m(5),T(t.relationship),m(6),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),m(1),T(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function sj(e,n){if(1&e&&(h(0,"div"),A(1,ij,28,8,"div",13),f()),2&e){const t=E().index,r=E(2).index,o=E();m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}function aj(e,n){if(1&e&&(h(0,"div")(1,"div",14)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",10),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",10),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Relationship Identifier:"),f(),p(15),f(),h(16,"div",28)(17,"h4",29),p(18,"Relationship DATA:"),f(),h(19,"textarea",30),p(20),f()()()()),2&e){const t=E(2).$implicit;m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.rid,""),m(5),T(t.relationship)}}function uj(e,n){if(1&e&&(h(0,"div"),A(1,aj,21,6,"div",13),f()),2&e){const t=E().index,r=E(2).index,o=E();m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}function cj(e,n){if(1&e&&(h(0,"div")(1,"div",14)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",10),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",10),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Relationship Identifier:"),f(),p(15),f(),h(16,"div",28)(17,"h4",29),p(18,"Relationship DATA:"),f(),h(19,"textarea",30),p(20),f()()()()),2&e){const t=E(2).$implicit;m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.rid,""),m(5),T(t.relationship)}}function lj(e,n){if(1&e&&(h(0,"div"),A(1,cj,21,6,"div",13),f()),2&e){const t=E().index,r=E(2).index,o=E();m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}const dj=function(e,n,t,r,o){return{coinbase:e,transfer:n,"create-identity":t,"encrypted-message":r,message:o}};function fj(e,n){if(1&e){const t=Rt();h(0,"li")(1,"button",12),re("click",function(){const i=Tt(t).index,s=E(2).index;return At(E().showTransactionDetails(s,i))}),p(2),f(),A(3,tj,2,1,"div",13),A(4,oj,2,1,"div",13),A(5,sj,2,1,"div",13),A(6,uj,2,1,"div",13),A(7,lj,2,1,"div",13),f()}if(2&e){const t=n.$implicit,r=E(3);m(1),S("ngClass",Ba(7,dj,r.transactionUtilsService.isCoinbaseTransaction(t),r.transactionUtilsService.isTransferTransaction(t),r.transactionUtilsService.isCreateIdentityTransaction(t),r.transactionUtilsService.isEncryptedMessageTransaction(t),r.transactionUtilsService.isMessageTransaction(t))),m(1),x(" ",r.transactionUtilsService.getTransactionType(t)," "),m(1),S("ngIf",r.transactionUtilsService.isTransferTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isCoinbaseTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isCreateIdentityTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isEncryptedMessageTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isMessageTransaction(t))}}function hj(e,n){if(1&e&&(h(0,"tr",6)(1,"td",7)(2,"div")(3,"h2",8),p(4,"Block Details"),f(),h(5,"p")(6,"strong",9),p(7,"Index: "),f(),h(8,"a",10),p(9),f()(),h(10,"p")(11,"strong",9),p(12,"Time:"),f(),p(13),f(),h(14,"p")(15,"strong",9),p(16,"Hash: "),f(),h(17,"a",10),p(18),f()(),h(19,"p")(20,"strong",9),p(21,"Previous Hash: "),f(),h(22,"a",10),p(23),f()(),h(24,"p")(25,"strong",9),p(26,"Nonce:"),f(),p(27),f(),h(28,"p")(29,"strong",9),p(30,"Target:"),f(),p(31),f(),h(32,"p")(33,"strong",9),p(34,"ID: "),f(),h(35,"a",10),p(36),f()(),h(37,"h3",11),p(38,"Transactions"),f(),h(39,"ul"),A(40,fj,8,13,"li",3),f()()()()),2&e){const t=E().$implicit,r=E();m(8),F("href","/explorer?term=",t.index,"",L),m(1),T(t.index),m(4),x(" ",r.dateFormatService.formatTransactionTime(t.time),""),m(4),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.prevHash,"",L),m(1),T(t.prevHash),m(4),x(" ",t.nonce,""),m(4),x(" ",t.target,""),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),S("ngForOf",t.transactions)}}function pj(e,n){if(1&e){const t=Rt();$n(0),h(1,"tr",4),re("click",function(){const i=Tt(t).$implicit;return At(E().toggleDetails(i))}),h(2,"td"),p(3),f(),h(4,"td"),p(5),f(),h(6,"td"),p(7),f(),h(8,"td"),p(9),f()(),A(10,hj,41,12,"tr",5),Hn()}if(2&e){const t=n.$implicit,r=E();m(3),T(t.index),m(2),T(r.dateFormatService.formatTransactionTime(t.time)),m(2),T(t.hash),m(2),T(t.transactions.length),m(1),S("ngIf",t.expanded)}}let gj=(()=>{class e{constructor(t,r,o){this.httpClient=t,this.dateFormatService=r,this.transactionUtilsService=o,this.blocks=[],this.showBlockTransactions=!1,this.showBlockTransactionDetails=[],this.searching=!1,this.showAccordion=null}ngOnInit(){this.blocks.length||this.loadLatestBlocks()}loadLatestBlocks(){this.httpClient.get("/explorer-latest").subscribe(t=>{this.blocks=t.result||[],this.searching=!1},t=>{console.error("Error fetching latest blocks:",t),alert("Something went wrong while fetching latest blocks!")})}showBlockDetails(t){console.log("Clicked block:",t),this.selectedBlock=t}toggleDetails(t){if(t.expanded)t.expanded=!1;else{this.blocks.forEach(o=>o.expanded=!1),t.expanded=!0;const r=this.blocks.indexOf(t);this.showBlockTransactionDetails[r]=[],this.selectedBlock=t}}showTransactions(){this.showBlockTransactions=!this.showBlockTransactions,this.showBlockTransactionDetails=[]}showTransactionDetails(t,r){this.showBlockTransactionDetails[t][r]=!this.showBlockTransactionDetails[t][r]}numberWithCommas(t){return t.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")}getTotalValue(t){return t.reduce((r,o)=>r+o.value,0)}toggleAccordion(t){this.showAccordion=this.showAccordion===t?null:t}static#e=this.\u0275fac=function(r){return new(r||e)(b(Zi),b(Nu),b(Ru))};static#t=this.\u0275cmp=Tr({type:e,selectors:[["app-latest-blocks"]],decls:16,vars:1,consts:[[2,"text-transform","uppercase","margin","10px","margin-top","20px"],[1,"latestblocks-container"],[1,"latestblocks-table"],[4,"ngFor","ngForOf"],[3,"click"],["class","expanded-row",4,"ngIf"],[1,"expanded-row"],["colspan","4"],[2,"text-transform","uppercase","margin","20px","margin-top","10px"],[2,"text-transform","uppercase","margin-left","30px"],[3,"href"],[2,"text-transform","uppercase","margin","20px","margin-top","20px"],[1,"transaction-type-button",3,"ngClass","click"],[4,"ngIf"],[1,"transaction-details"],[1,"input-section",2,"width","100%","display","inline-block","margin-top","5px"],[1,"accordion",3,"click"],["class","panel",4,"ngIf"],[1,"in-section",2,"width","44%","display","inline-block","margin-top","5px"],[1,"transfer-in-info-box"],[2,"margin-left","10px"],[1,"transaction-value-button"],[1,"arrow-box",2,"width","10%","display","inline-block","vertical-align","top"],["src","yadacoinstatic/explorer/assets/arrow-right.png","alt","Arrow Right",1,"arrow-icon"],[1,"out-section",2,"width","44%","display","inline-block","float","right","margin-top","5px"],[1,"panel"],[1,"transfer-out-info-box"],[1,"transaction-type-button","coinbase"],[1,"relationship-data-box"],[2,"text-transform","uppercase","margin","10px"],["rows","4","readonly","",2,"width","98%"],[1,"transaction-type-button","create-identity"],[2,"margin-left","15px"]],template:function(r,o){1&r&&(h(0,"h2",0),p(1,"Latest 10 Blocks"),f(),h(2,"div",1)(3,"table",2)(4,"thead")(5,"tr")(6,"th"),p(7,"Index"),f(),h(8,"th"),p(9,"Time"),f(),h(10,"th"),p(11,"Hash"),f(),h(12,"th"),p(13,"Transactions"),f()()(),h(14,"tbody"),A(15,pj,11,5,"ng-container",3),f()()()),2&r&&(m(15),S("ngForOf",o.blocks))},dependencies:[du,fu,Ui],styles:[".latestblocks-container[_ngcontent-%COMP%]{margin:10px;padding:20px;background-color:#424242;border-radius:5px;color:#fff}.latestblocks-table[_ngcontent-%COMP%]{width:100%;margin-top:10px;border-radius:5px}.latestblocks-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .latestblocks-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border:1px solid #ddd;padding:8px;text-align:left;border-radius:5px}.latestblocks-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{background-color:#303030;color:#fff;border-radius:5px}.latestblocks-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover{background-color:#3498db;color:#fff;cursor:pointer}.latestblocks-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr.expanded-row[_ngcontent-%COMP%]{cursor:default}.transaction-table[_ngcontent-%COMP%]{width:80%;margin:0 auto}.transaction-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .transaction-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border:1px solid #ddd;padding:8px;text-align:left}.transaction-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{background-color:#424242}.expanded-row[_ngcontent-%COMP%]{background-color:transparent!important;color:inherit!important}"]})}return e})(),mj=(()=>{class e{transform(t){return"string"==typeof t?t.replace(/,/g," "):t.toString().replace(/,/g," ")}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275pipe=Ze({name:"replaceComma",type:e,pure:!0})}return e})();function vj(e,n){1&e&&(h(0,"div")(1,"h1",13),p(2,"This is the alpha version of the Yadacoin block explorer."),f(),h(3,"h1",13),p(4,"Most functions should be operational. Please feel free to report any bugs or provide suggestions."),f(),h(5,"h1",13),p(6,"Thank you!"),f()())}function _j(e,n){1&e&&($n(0),h(1,"div",14)(2,"h2",15),p(3,"No results for searched phrase"),f()(),Hn())}function yj(e,n){1&e&&(h(0,"a",27),p(1,"Previous Block"),f()),2&e&&F("href","/explorer?term=",E().$implicit.index-1,"",L)}function Dj(e,n){1&e&&(h(0,"a",28),p(1,"Next Block"),f()),2&e&&F("href","/explorer?term=",E().$implicit.index+1,"",L)}function Cj(e,n){if(1&e&&(h(0,"li"),p(1),f()),2&e){const t=n.$implicit;m(1),T(t.id)}}function wj(e,n){if(1&e&&(h(0,"div",42)(1,"ul"),A(2,Cj,2,1,"li",19),f()()),2&e){const t=E(3).$implicit;m(2),S("ngForOf",t.inputs)}}function bj(e,n){if(1&e&&(h(0,"div")(1,"div",43)(2,"p",37)(3,"a",25),p(4),f(),h(5,"button",38),p(6),f()()()()),2&e){const t=n.$implicit;m(3),F("href","/explorer?term=",t.to,"",L),m(1),T(t.to),m(2),x("",t.value.toFixed(6)," YDA")}}function Ej(e,n){if(1&e){const t=Rt();h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",25),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",25),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Inputs:"),f(),p(15),f(),h(16,"div",32)(17,"button",33),re("click",function(){return Tt(t),At(E(6).toggleAccordion("inputsAccordion"))}),p(18,"Show Inputs"),f(),A(19,wj,3,1,"div",34),f(),h(20,"p")(21,"strong"),p(22,"Outputs:"),f(),p(23),f(),h(24,"div",35)(25,"div",36)(26,"p",37)(27,"a",25),p(28),f(),h(29,"button",38),p(30),f()()()(),h(31,"div",39),Pe(32,"img",40),f(),h(33,"div",41),A(34,bj,7,3,"div",19),f()()()}if(2&e){const t=E(2).$implicit,r=E(4);m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.inputs.length,""),m(4),S("ngIf","inputsAccordion"===r.showAccordion),m(4),x(" ",t.outputs.length,""),m(4),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),m(1),T(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to),m(2),x("",r.getTotalValue(t.outputs).toFixed(6)," YDA"),m(4),S("ngForOf",t.outputs)}}function Ij(e,n){if(1&e&&(h(0,"div"),A(1,Ej,35,11,"div",12),f()),2&e){const t=E().index,r=E().index,o=E(3);m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}function Mj(e,n){if(1&e&&(h(0,"div")(1,"div",43)(2,"p",37)(3,"a",25),p(4),f(),h(5,"button",38),p(6),f()()()()),2&e){const t=n.$implicit;m(3),F("href","/explorer?term=",t.to,"",L),m(1),T(t.to),m(2),x("",t.value.toFixed(6)," YDA")}}function Sj(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",25),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",25),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Outputs:"),f(),p(15),f(),h(16,"div",35)(17,"div",36)(18,"button",44),p(19,"Coinbase"),f(),h(20,"p",37),p(21," (Newly Generated Coins) "),h(22,"button",38),p(23),f()()()(),h(24,"div",39),Pe(25,"img",40),f(),h(26,"div",41),A(27,Mj,7,3,"div",19),f()()()),2&e){const t=E(2).$implicit,r=E(4);m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.outputs.length,""),m(8),x("",r.getTotalValue(t.outputs).toFixed(6)," YDA"),m(4),S("ngForOf",t.outputs)}}function Tj(e,n){if(1&e&&(h(0,"div"),A(1,Sj,28,7,"div",12),f()),2&e){const t=E().index,r=E().index,o=E(3);m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}function Aj(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",25),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",25),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Relationship Identifier:"),f(),p(15),f(),h(16,"div",45)(17,"h4",46),p(18,"Relationship DATA:"),f(),h(19,"textarea",47),p(20),f()(),h(21,"div",35)(22,"div",43)(23,"button",48),p(24,"Newly created Address"),f(),h(25,"p",49)(26,"a",25),p(27),f()()()()()()),2&e){const t=E(2).$implicit;m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.rid,""),m(5),T(t.relationship),m(6),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),m(1),T(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function xj(e,n){if(1&e&&(h(0,"div"),A(1,Aj,28,8,"div",12),f()),2&e){const t=E().index,r=E().index,o=E(3);m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}function Nj(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",25),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",25),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Relationship Identifier:"),f(),p(15),f(),h(16,"div",45)(17,"h4",46),p(18,"Relationship DATA:"),f(),h(19,"textarea",47),p(20),f()()()()),2&e){const t=E(2).$implicit;m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.rid,""),m(5),T(t.relationship)}}function Rj(e,n){if(1&e&&(h(0,"div"),A(1,Nj,21,6,"div",12),f()),2&e){const t=E().index,r=E().index,o=E(3);m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}function Oj(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",25),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",25),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Relationship Identifier:"),f(),p(15),f(),h(16,"div",45)(17,"h4",46),p(18,"Relationship DATA:"),f(),h(19,"textarea",47),p(20),f()()()()),2&e){const t=E(2).$implicit;m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.rid,""),m(5),T(t.relationship)}}function Pj(e,n){if(1&e&&(h(0,"div"),A(1,Oj,21,6,"div",12),f()),2&e){const t=E().index,r=E().index,o=E(3);m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}const lE=function(e,n,t,r,o){return{coinbase:e,transfer:n,"create-identity":t,"encrypted-message":r,message:o}};function Fj(e,n){if(1&e){const t=Rt();h(0,"li")(1,"div",29)(2,"button",30),re("click",function(){const i=Tt(t).index,s=E().index;return At(E(3).showTransactionDetails(s,i))}),p(3),f(),A(4,Ij,2,1,"div",12),A(5,Tj,2,1,"div",12),A(6,xj,2,1,"div",12),A(7,Rj,2,1,"div",12),A(8,Pj,2,1,"div",12),f()()}if(2&e){const t=n.$implicit,r=E(4);m(2),S("ngClass",Ba(7,lE,r.transactionUtilsService.isCoinbaseTransaction(t),r.transactionUtilsService.isTransferTransaction(t),r.transactionUtilsService.isCreateIdentityTransaction(t),r.transactionUtilsService.isEncryptedMessageTransaction(t),r.transactionUtilsService.isMessageTransaction(t))),m(1),x(" ",r.transactionUtilsService.getTransactionType(t)," "),m(1),S("ngIf",r.transactionUtilsService.isTransferTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isCoinbaseTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isCreateIdentityTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isEncryptedMessageTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isMessageTransaction(t))}}function kj(e,n){if(1&e&&(h(0,"li")(1,"div",14)(2,"div",20),A(3,yj,2,1,"a",21),h(4,"h2",22),p(5,"Block Details"),f(),A(6,Dj,2,1,"a",23),f(),h(7,"p")(8,"strong",24),p(9,"Index: "),f(),h(10,"a",25),p(11),f()(),h(12,"p")(13,"strong",24),p(14,"Time:"),f(),p(15),f(),h(16,"p")(17,"strong",24),p(18,"Hash: "),f(),h(19,"a",25),p(20),f()(),h(21,"p")(22,"strong",24),p(23,"Previous Hash: "),f(),h(24,"a",25),p(25),f()(),h(26,"p")(27,"strong",24),p(28,"Nonce:"),f(),p(29),f(),h(30,"p")(31,"strong",24),p(32,"Target:"),f(),p(33),f(),h(34,"p")(35,"strong",24),p(36,"ID: "),f(),h(37,"a",25),p(38),f()(),h(39,"h3",26),p(40,"Transactions"),f(),h(41,"ul"),A(42,Fj,9,13,"li",19),f()()()),2&e){const t=n.$implicit,r=E(3);m(3),S("ngIf",0!==t.index),m(3),S("ngIf",t.index!==r.current_height),m(4),F("href","/explorer?term=",t.index,"",L),m(1),T(t.index),m(4),x(" ",t.time,""),m(4),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.prevHash,"",L),m(1),T(t.prevHash),m(4),x(" ",t.nonce,""),m(4),x(" ",t.target,""),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),S("ngForOf",t.transactions)}}function Lj(e,n){if(1&e&&(h(0,"div")(1,"div",14)(2,"h2",16),p(3),f(),h(4,"h3",17),p(5),f()(),h(6,"ul",18),A(7,kj,43,14,"li",19),f()()),2&e){const t=E(2);m(3),x(" search result for ","block_height"===t.resultType?"block index":"block_hash"===t.resultType?"block hash":"block_id"===t.resultType?"block id":"",": "),m(2),x(" ","block_height"===t.resultType?t.result[0].index:"block_hash"===t.resultType?t.result[0].hash:"block_id"===t.resultType?t.result[0].id:""," "),m(2),S("ngForOf",t.result)}}function Vj(e,n){if(1&e&&(h(0,"li"),p(1),f()),2&e){const t=n.$implicit;m(1),T(t.id)}}function jj(e,n){if(1&e&&(h(0,"div",42)(1,"ul"),A(2,Vj,2,1,"li",19),f()()),2&e){const t=E(3).$implicit;m(2),S("ngForOf",t.inputs)}}function Bj(e,n){if(1&e&&(h(0,"div")(1,"div",43)(2,"p",37)(3,"a",25),p(4),f(),h(5,"button",38),p(6),f()()()()),2&e){const t=n.$implicit;m(3),F("href","/explorer?term=",t.to,"",L),m(1),T(t.to),m(2),x("",t.value.toFixed(6)," YDA")}}function $j(e,n){if(1&e){const t=Rt();h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Inputs:"),f(),p(5),f(),h(6,"div",32)(7,"button",33),re("click",function(){return Tt(t),At(E(5).toggleAccordion("inputsAccordion"))}),p(8,"Show Inputs"),f(),A(9,jj,3,1,"div",34),f(),h(10,"p")(11,"strong"),p(12,"Outputs:"),f(),p(13),f(),h(14,"div",35)(15,"div",36)(16,"p",37)(17,"a",25),p(18),f(),h(19,"button",38),p(20),f()()()(),h(21,"div",39),Pe(22,"img",40),f(),h(23,"div",41),A(24,Bj,7,3,"div",19),f()()()}if(2&e){const t=E(2).$implicit,r=E(3);m(5),x(" ",t.inputs.length,""),m(4),S("ngIf","inputsAccordion"===r.showAccordion),m(4),x(" ",t.outputs.length,""),m(4),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),m(1),T(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to),m(2),x("",r.getTotalValue(t.outputs).toFixed(6)," YDA"),m(4),S("ngForOf",t.outputs)}}function Hj(e,n){if(1&e&&(h(0,"div")(1,"div",43)(2,"p",37)(3,"a",25),p(4),f(),h(5,"button",38),p(6),f()()()()),2&e){const t=n.$implicit;m(3),F("href","/explorer?term=",t.to,"",L),m(1),T(t.to),m(2),x("",t.value.toFixed(6)," YDA")}}function Uj(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Outputs:"),f(),p(5),f(),h(6,"div",35)(7,"div",36)(8,"button",44),p(9,"Coinbase"),f(),h(10,"p",37),p(11," (Newly Generated Coins) "),h(12,"button",38),p(13),f()()()(),h(14,"div",39),Pe(15,"img",40),f(),h(16,"div",41),A(17,Hj,7,3,"div",19),f()()()),2&e){const t=E(2).$implicit,r=E(3);m(5),x(" ",t.outputs.length,""),m(8),x("",r.getTotalValue(t.outputs).toFixed(6)," YDA"),m(4),S("ngForOf",t.outputs)}}function zj(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Relationship Identifier:"),f(),p(5),f(),h(6,"div",45)(7,"h4",46),p(8,"Relationship DATA:"),f(),h(9,"textarea",47),p(10),f()(),h(11,"div",35)(12,"div",43)(13,"button",48),p(14,"Newly created Address"),f(),h(15,"p",49)(16,"a",25),p(17),f()()()()()()),2&e){const t=E(2).$implicit;m(5),x(" ",t.rid,""),m(5),T(t.relationship),m(6),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),m(1),T(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function Gj(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Relationship Identifier:"),f(),p(5),f(),h(6,"div",45)(7,"h4",46),p(8,"Relationship DATA:"),f(),h(9,"textarea",47),p(10),f()()()()),2&e){const t=E(2).$implicit;m(5),x(" ",t.rid,""),m(5),T(t.relationship)}}function qj(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Relationship Identifier:"),f(),p(5),f(),h(6,"div",45)(7,"h4",46),p(8,"Relationship DATA:"),f(),h(9,"textarea",47),p(10),f()()()()),2&e){const t=E(2).$implicit;m(5),x(" ",t.rid,""),m(5),T(t.relationship)}}function Wj(e,n){if(1&e&&(h(0,"tr",53)(1,"td",54)(2,"div")(3,"h2",22),p(4,"Transaction Details"),f(),h(5,"div",31)(6,"p")(7,"strong"),p(8,"Transaction Hash: "),f(),h(9,"a",25),p(10),f()(),h(11,"p")(12,"strong"),p(13,"Transaction ID: "),f(),h(14,"a",25),p(15),f()(),h(16,"p")(17,"strong"),p(18,"Time: "),f(),p(19),f(),h(20,"p")(21,"strong"),p(22,"Fee: "),f(),p(23),f(),A(24,$j,25,7,"div",12),A(25,Uj,18,3,"div",12),A(26,zj,18,4,"div",12),A(27,Gj,11,2,"div",12),A(28,qj,11,2,"div",12),f()()()()),2&e){const t=E().$implicit,r=E(3);m(9),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",r.dateFormatService.formatTransactionTime(t.time),""),m(4),x(" ",t.fee," YDA"),m(1),S("ngIf",r.transactionUtilsService.isTransferTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isCoinbaseTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isCreateIdentityTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isEncryptedMessageTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isMessageTransaction(t))}}function Zj(e,n){if(1&e){const t=Rt();$n(0),h(1,"tr",51),re("click",function(){const i=Tt(t).$implicit;return At(E(3).toggleDetails(i))}),h(2,"td"),p(3),f(),h(4,"td"),p(5),f(),h(6,"td"),p(7),f(),h(8,"td"),p(9),f()(),A(10,Wj,29,11,"tr",52),Hn()}if(2&e){const t=n.$implicit,r=E(3);m(3),T(r.dateFormatService.formatTransactionTime(t.time)),m(2),T(t.hash),m(2),T(t.inputs.length),m(2),T(t.outputs.length),m(1),S("ngIf",t.expanded)}}function Yj(e,n){if(1&e&&(h(0,"div")(1,"h2",16),p(2),f(),h(3,"h3",17),p(4),f(),h(5,"div",14)(6,"table",50)(7,"thead")(8,"tr")(9,"th"),p(10,"Time"),f(),h(11,"th"),p(12,"Hash"),f(),h(13,"th"),p(14,"Inputs"),f(),h(15,"th"),p(16,"Outputs"),f()()(),h(17,"tbody"),A(18,Zj,11,5,"ng-container",19),f()()()()),2&e){const t=E(2);m(2),x(" Search result for ","txn_id"===t.resultType?"transaction ID":"txn_hash"===t.resultType?"transaction hash":"mempool_hash"===t.resultType?"mempool hash":"mempool_id"===t.resultType?"mempool ID":"",": "),m(2),x(" ",t.searchedId," "),m(14),S("ngForOf",t.result)}}function Qj(e,n){if(1&e&&(h(0,"li"),p(1),f()),2&e){const t=n.$implicit;m(1),T(t.id)}}function Xj(e,n){if(1&e&&(h(0,"div",42)(1,"ul"),A(2,Qj,2,1,"li",19),f()()),2&e){const t=E(2).$implicit;m(2),S("ngForOf",t.inputs)}}const Xu=function(e){return{"searched-address":e}};function Jj(e,n){if(1&e&&(h(0,"div")(1,"div",43)(2,"p",37)(3,"a",58),p(4),f(),h(5,"button",38),p(6),f()()()()),2&e){const t=n.$implicit,r=E(7);m(3),F("href","/explorer?term=",t.to,"",L),S("ngClass",Fi(4,Xu,r.isSearchedAddress(t.to))),m(1),x(" ",t.to," "),m(2),x("",t.value.toFixed(6)," YDA")}}function Kj(e,n){if(1&e){const t=Rt();h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Inputs:"),f(),p(5),f(),h(6,"div",32)(7,"button",33),re("click",function(){return Tt(t),At(E(6).toggleAccordion("inputsAccordion"))}),p(8,"Show Inputs"),f(),A(9,Xj,3,1,"div",34),f(),h(10,"p")(11,"strong"),p(12,"Outputs:"),f(),p(13),f(),h(14,"div",35)(15,"div",36)(16,"p",37)(17,"a",58),p(18),f(),h(19,"button",38),p(20),f()()()(),h(21,"div",39),Pe(22,"img",40),f(),h(23,"div",41),A(24,Jj,7,6,"div",19),f()()()}if(2&e){const t=E().$implicit,r=E(5);m(5),x(" ",t.inputs.length,""),m(4),S("ngIf","inputsAccordion"===r.showAccordion),m(4),x(" ",t.outputs.length,""),m(4),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),S("ngClass",Fi(8,Xu,r.isSearchedAddress(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to))),m(1),x(" ",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to," "),m(2),x("",r.getTotalValue(t.outputs).toFixed(6)," YDA"),m(4),S("ngForOf",t.outputs)}}function eB(e,n){if(1&e&&(h(0,"div")(1,"div",43)(2,"p",37)(3,"a",58),p(4),f(),h(5,"button",38),p(6),f()()()()),2&e){const t=n.$implicit,r=E(7);m(3),F("href","/explorer?term=",t.to,"",L),S("ngClass",Fi(4,Xu,r.isSearchedAddress(t.to))),m(1),x(" ",t.to," "),m(2),x("",t.value.toFixed(6)," YDA")}}function tB(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Outputs:"),f(),p(5),f(),h(6,"div",35)(7,"div",36)(8,"button",44),p(9,"Coinbase"),f(),h(10,"p",37),p(11," (Newly Generated Coins) "),h(12,"button",38),p(13),f()()()(),h(14,"div",39),Pe(15,"img",40),f(),h(16,"div",41),A(17,eB,7,6,"div",19),f()()()),2&e){const t=E().$implicit,r=E(5);m(5),x(" ",t.outputs.length,""),m(8),x("",r.getTotalValue(t.outputs).toFixed(6)," YDA"),m(4),S("ngForOf",t.outputs)}}function nB(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Relationship Identifier:"),f(),p(5),f(),h(6,"div",45)(7,"h4",46),p(8,"Relationship DATA:"),f(),h(9,"textarea",47),p(10),f()(),h(11,"div",35)(12,"div",43)(13,"button",48),p(14,"Newly created Address"),f(),h(15,"p",49)(16,"a",25),p(17),f()()()()()()),2&e){const t=E().$implicit;m(5),x(" ",t.rid,""),m(5),T(t.relationship),m(6),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),m(1),T(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function rB(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Relationship Identifier:"),f(),p(5),f(),h(6,"div",45)(7,"h4",46),p(8,"Relationship DATA:"),f(),h(9,"textarea",47),p(10),f()()()()),2&e){const t=E().$implicit;m(5),x(" ",t.rid,""),m(5),T(t.relationship)}}function oB(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Relationship Identifier:"),f(),p(5),f(),h(6,"div",45)(7,"h4",46),p(8,"Relationship DATA:"),f(),h(9,"textarea",47),p(10),f()()()()),2&e){const t=E().$implicit;m(5),x(" ",t.rid,""),m(5),T(t.relationship)}}function iB(e,n){if(1&e&&(h(0,"div",31)(1,"p")(2,"strong"),p(3,"Transaction Hash: "),f(),h(4,"a",25),p(5),f()(),h(6,"p")(7,"strong"),p(8,"Transaction ID: "),f(),h(9,"a",25),p(10),f()(),h(11,"p")(12,"strong"),p(13,"Time: "),f(),p(14),f(),h(15,"p")(16,"strong"),p(17,"Fee: "),f(),p(18),f(),A(19,Kj,25,10,"div",12),A(20,tB,18,3,"div",12),A(21,nB,18,4,"div",12),A(22,rB,11,2,"div",12),A(23,oB,11,2,"div",12),f()),2&e){const t=n.$implicit,r=E(5);m(4),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",r.dateFormatService.formatTransactionTime(t.time),""),m(4),x(" ",t.fee," YDA"),m(1),S("ngIf",r.transactionUtilsService.isTransferTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isCoinbaseTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isCreateIdentityTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isEncryptedMessageTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isMessageTransaction(t))}}function sB(e,n){if(1&e&&(h(0,"tr",53)(1,"td",54)(2,"div")(3,"h2",22),p(4),f(),A(5,iB,24,11,"div",57),f()()()),2&e){const t=E().$implicit;m(4),x("Transactions in Block ",t.index,""),m(1),S("ngForOf",t.transactions)}}function aB(e,n){if(1&e){const t=Rt();$n(0),h(1,"tr",51),re("click",function(){const i=Tt(t).$implicit;return At(E(3).toggleDetails(i))}),h(2,"td"),p(3),f(),h(4,"td"),p(5),f(),h(6,"td",55),p(7),f(),h(8,"td")(9,"button",56),p(10),f()()(),A(11,sB,6,2,"tr",52),Hn()}if(2&e){const t=n.$implicit,r=E(3);m(3),T(t.index),m(2),T(r.dateFormatService.formatTransactionTime(t.time)),m(1),S("ngClass",Fi(7,Xu,r.isSearchedAddress(t.hash))),m(1),T(t.hash),m(2),S("ngClass",Ba(9,lE,r.transactionUtilsService.isCoinbaseTransaction(t.transactions[0]),r.transactionUtilsService.isTransferTransaction(t.transactions[0]),r.transactionUtilsService.isCreateIdentityTransaction(t.transactions[0]),r.transactionUtilsService.isEncryptedMessageTransaction(t.transactions[0]),r.transactionUtilsService.isMessageTransaction(t.transactions[0]))),m(1),x(" ",r.transactionUtilsService.getTransactionType(t.transactions[0])," "),m(1),S("ngIf",t.expanded)}}function uB(e,n){if(1&e&&(h(0,"div")(1,"h2",16),p(2),f(),h(3,"h3",17),p(4),f(),h(5,"div",14)(6,"table",50)(7,"thead")(8,"tr")(9,"th"),p(10,"Block Index"),f(),h(11,"th"),p(12,"Time"),f(),h(13,"th"),p(14,"Hash"),f(),h(15,"th"),p(16,"Type"),f()()(),h(17,"tbody"),A(18,aB,12,15,"ng-container",19),f()()()()),2&e){const t=E(2);m(2),x(" Search result for ","txn_outputs_to"===t.resultType?"transaction outputs to":"",": "),m(2),x(" ",t.searchedId," "),m(14),S("ngForOf",t.result)}}function cB(e,n){if(1&e&&(h(0,"div"),A(1,_j,4,0,"ng-container",12),A(2,Lj,8,3,"div",12),A(3,Yj,19,3,"div",12),A(4,uB,19,3,"div",12),f()),2&e){const t=E();m(1),S("ngIf",!t.result||t.result&&0===t.result.length),m(1),S("ngIf",("block_height"===t.resultType||"block_hash"===t.resultType||"block_id"===t.resultType)&&t.result&&t.result.length>0),m(1),S("ngIf",("txn_id"===t.resultType||"txn_hash"===t.resultType||"mempool_hash"===t.resultType||"mempool_id"===t.resultType)&&t.result&&t.result.length>0),m(1),S("ngIf","txn_outputs_to"===t.resultType&&t.result&&t.result.length>0)}}function lB(e,n){1&e&&Pe(0,"app-latest-blocks")}function dB(e,n){1&e&&Pe(0,"app-address-balance")}function fB(e,n){1&e&&Pe(0,"app-mempool")}let hB=(()=>{class e{constructor(t,r,o,i){this.httpClient=t,this.route=r,this.dateFormatService=o,this.transactionUtilsService=i,this.title="explorer",this.model=new cE,this.result=[],this.searchedId="",this.blocks=[],this.showBlockTransactions=!1,this.showBlockTransactionDetails=[[]],this.resultType="",this.balance=0,this.searching=!1,this.submitted=!1,this.current_height="",this.circulating="",this.hashrate="",this.difficulty="",this.selectedOption="Main Page",this.showAccordion=null,this.httpClient.get("/api-stats").subscribe(s=>{this.difficulty=this.numberWithCommas(s.stats.difficulty),this.hashrate=this.formatHashrate(s.stats.network_hash_rate),this.current_height=this.numberWithCommas(s.stats.height),this.circulating=this.numberWithCommas(s.stats.circulating)},s=>{console.error("Error fetching API stats:",s),alert("Something went wrong while fetching API stats!")}),this.route.queryParams.subscribe(s=>{const a=s.term;a&&(this.model=new cE({term:a}),this.onSubmit(),this.selectedOption="SearchResults")}),window.location.search&&"SearchResults"!==this.selectedOption&&(this.searching=!0,this.submitted=!0,this.httpClient.get("/explorer-search"+window.location.search).subscribe(s=>{this.result=s.result||[],this.resultType=s.resultType,this.balance=s.balance,this.searchedId=s.searchedId,this.searching=!1,this.selectedOption="SearchResults"},s=>{console.error("Error fetching explorer search:",s),alert("Something went wrong while fetching explorer search results!")}))}ngOnInit(){}onSubmit(){this.searching=!0,this.submitted=!0;const r=`/explorer-search?term=${encodeURIComponent(this.model.term)}`;this.httpClient.get(r).subscribe(o=>{this.result=o.result||[],this.resultType=o.resultType,this.balance=o.balance,this.searchedId=o.searchedId,this.searching=!1,this.selectedOption="SearchResults"},o=>{console.error("Error fetching explorer search:",o),alert("Something went wrong while fetching explorer search results!"),this.searching=!1})}showBlockDetails(t){console.log("Clicked block:",t),this.selectedBlock=t}toggleAccordion(t){this.showAccordion=this.showAccordion===t?null:t}toggleDetails(t){if(t.expanded)t.expanded=!1;else{this.blocks.forEach(o=>o.expanded=!1),t.expanded=!0;const r=this.blocks.indexOf(t);this.showBlockTransactionDetails[r]=this.showBlockTransactionDetails[r]||[],this.selectedBlock=t}}showTransactions(){this.showBlockTransactions=!this.showBlockTransactions,this.showBlockTransactionDetails=[]}showTransactionDetails(t,r){this.showBlockTransactionDetails[t]||(this.showBlockTransactionDetails[t]=[]),this.showBlockTransactionDetails[t][r]=!this.showBlockTransactionDetails[t][r]}numberWithCommas(t){return t.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")}formatHashrate(t){return t<1e3?`${t.toFixed(0)} h/s`:t<1e6?`${(t/1e3).toFixed(2)} kh/s`:`${(t/1e6).toFixed(2)} mh/s`}calculateAge(t){const r=(new Date).getTime(),o=new Date(t).getTime(),s=Math.floor((r-o)/6e4);return s<60?`${s} minutes ago`:`${Math.floor(s/60)} hours ago`}getTotalValue(t){return t.reduce((r,o)=>r+o.value,0)}selectOption(t){this.selectedOption=t}isSearchedAddress(t){return t.toLowerCase()===this.searchedId.toLowerCase()}static#e=this.\u0275fac=function(r){return new(r||e)(b(Zi),b(Er),b(Nu),b(Ru))};static#t=this.\u0275cmp=Tr({type:e,selectors:[["app-root"]],decls:48,vars:16,consts:[[1,"top-bar"],["href","#",1,"button",3,"click"],[3,"ngSubmit"],["searchForm","ngForm"],["name","term","placeholder","Wallet address, Transaction Id, Block height, Block hash...",1,"form-control",3,"ngModel","ngModelChange"],[1,"button","btn-success"],[1,"box-container"],[1,"result-box"],["src","yadacoinstatic/explorer/assets/network-height.png","alt","Network Height",1,"watermark"],["src","yadacoinstatic/explorer/assets/hashrate.png","alt","Network Hashrate",1,"watermark"],["src","yadacoinstatic/explorer/assets/difficulty.png","alt","Network Difficulty",1,"watermark"],["src","yadacoinstatic/explorer/assets/circulating-supply.png","alt","Circulating Supply",1,"watermark"],[4,"ngIf"],[2,"text-transform","uppercase","margin","20px","margin-top","25px","text-align","center"],[1,"blocks-container"],[2,"text-transform","uppercase","margin","20px","margin-top","25px","color","red"],[2,"text-transform","uppercase","margin","20px","margin-top","25px"],[2,"margin","20px","margin-top","10px"],[2,"list-style-type","none","padding","0","margin","0"],[4,"ngFor","ngForOf"],[1,"block-details"],["class","previous-button",3,"href",4,"ngIf"],[2,"text-transform","uppercase","margin","20px","margin-top","10px"],["class","next-button",3,"href",4,"ngIf"],[2,"text-transform","uppercase","margin-left","30px"],[3,"href"],[2,"text-transform","uppercase","margin","20px","margin-top","20px"],[1,"previous-button",3,"href"],[1,"next-button",3,"href"],[1,"transaction-container"],[1,"transaction-type-button",3,"ngClass","click"],[1,"transaction-details"],[1,"input-section",2,"width","100%","display","inline-block","margin-top","5px"],[1,"accordion",3,"click"],["class","panel",4,"ngIf"],[1,"in-section",2,"width","44%","display","inline-block","margin-top","5px"],[1,"transfer-in-info-box"],[2,"margin-left","10px"],[1,"transaction-value-button"],[1,"arrow-box",2,"width","10%","display","inline-block","vertical-align","top"],["src","yadacoinstatic/explorer/assets/arrow-right.png","alt","Arrow Right",1,"arrow-icon"],[1,"out-section",2,"width","44%","display","inline-block","float","right","margin-top","5px"],[1,"panel"],[1,"transfer-out-info-box"],[1,"transaction-type-button","coinbase"],[1,"relationship-data-box"],[2,"text-transform","uppercase","margin","10px"],["rows","4","readonly","",2,"width","98%"],[1,"transaction-type-button","create-identity"],[2,"margin-left","15px"],[1,"blocks-table"],[3,"click"],["class","expanded-row",4,"ngIf"],[1,"expanded-row"],["colspan","5"],[3,"ngClass"],[1,"transaction-type-button",3,"ngClass"],["class","transaction-details",4,"ngFor","ngForOf"],[3,"ngClass","href"]],template:function(r,o){1&r&&(h(0,"body")(1,"div",0)(2,"a",1),re("click",function(){return o.selectOption("Main Page")}),p(3,"Main Page"),f(),h(4,"a",1),re("click",function(){return o.selectOption("Latest Blocks")}),p(5,"Latest Blocks"),f(),h(6,"a",1),re("click",function(){return o.selectOption("Mempool")}),p(7,"Mempool"),f(),h(8,"a",1),re("click",function(){return o.selectOption("Address Balance")}),p(9,"Address Balance"),f(),h(10,"form",2,3),re("ngSubmit",function(){return o.onSubmit()}),h(12,"input",4),re("ngModelChange",function(s){return o.model.term=s}),f(),h(13,"button",5),p(14,"Search"),f()()(),h(15,"div",6)(16,"div",7),Pe(17,"img",8),h(18,"h5"),p(19,"Network Height"),f(),h(20,"h3"),p(21),$a(22,"replaceComma"),f()(),h(23,"div",7),Pe(24,"img",9),h(25,"h5"),p(26,"Network Hashrate"),f(),h(27,"h3"),p(28),f()(),h(29,"div",7),Pe(30,"img",10),h(31,"h5"),p(32,"Network Difficulty"),f(),h(33,"h3"),p(34),$a(35,"replaceComma"),f()(),h(36,"div",7),Pe(37,"img",11),h(38,"h5"),p(39,"Circulating Supply"),f(),h(40,"h3"),p(41),$a(42,"replaceComma"),f()()(),A(43,vj,7,0,"div",12),A(44,cB,5,4,"div",12),A(45,lB,1,0,"app-latest-blocks",12),A(46,dB,1,0,"app-address-balance",12),A(47,fB,1,0,"app-mempool",12),f()),2&r&&(m(12),S("ngModel",o.model.term),m(9),T(Ha(22,10,o.current_height)),m(7),T(o.hashrate),m(6),T(Ha(35,12,o.difficulty)),m(7),x("",Ha(42,14,o.circulating)," YDA"),m(2),S("ngIf","Main Page"===o.selectedOption),m(1),S("ngIf","SearchResults"===o.selectedOption),m(1),S("ngIf","Latest Blocks"===o.selectedOption),m(1),S("ngIf","Address Balance"===o.selectedOption),m(1),S("ngIf","Mempool"===o.selectedOption))},dependencies:[du,fu,Ui,kw,Qi,Pf,ww,xu,Au,WV,QV,gj,mj],styles:["body[_ngcontent-%COMP%]{background-color:silver;margin:30px 10%;color:#303030}.top-bar[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:10px}.top-bar[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#fff;text-decoration:none;padding:10px;margin-right:10px;border-radius:5px}.top-bar[_ngcontent-%COMP%] form[_ngcontent-%COMP%]{display:flex;align-items:center;flex:1}.form-control[_ngcontent-%COMP%]{margin-right:10px;flex:1;height:30px}.button.btn-success[_ngcontent-%COMP%]{background-color:green;color:#fff}.box-container[_ngcontent-%COMP%]{display:flex;height:110px;justify-content:space-between;margin-top:10px;margin-left:10px}.result-box[_ngcontent-%COMP%]{flex:1;background-color:#424242;padding:5px;margin-right:10px;border-radius:5px;color:#fff;text-align:left;position:relative}.result-box[_ngcontent-%COMP%] h5[_ngcontent-%COMP%]{margin:10px;text-transform:uppercase;z-index:1}.result-box[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:10px;font-size:24px;font-weight:700;text-transform:uppercase;z-index:1}.watermark[_ngcontent-%COMP%]{width:auto;height:100%;position:absolute;top:0;right:0}.button[_ngcontent-%COMP%]{background:#424242;color:#303030;border:none;padding:10px 20px;cursor:pointer;transition:background .3s ease;border-radius:5px}.button[_ngcontent-%COMP%]:hover{background:#3498db}.uppercase-heading[_ngcontent-%COMP%]{text-transform:uppercase;margin:10px 20px 20px}.search-container[_ngcontent-%COMP%]{margin-top:20px}.result-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-top:20px}"]})}return e})(),pB=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=It({type:e,bootstrap:[hB]});static#n=this.\u0275inj=ht({providers:[Nu,Ru],imports:[EF,ek,u2,kV,c2]})}return e})();wF().bootstrapModule(pB).catch(e=>console.error(e))}},le=>{le(le.s=90)}]); \ No newline at end of file +"use strict";(self.webpackChunkexplorer=self.webpackChunkexplorer||[]).push([[179],{90:()=>{function le(e){return"function"==typeof e}function Vo(e){const t=e(r=>{Error.call(r),r.stack=(new Error).stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}const _s=Vo(e=>function(t){e(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((r,o)=>`${o+1}) ${r.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t});function jo(e,n){if(e){const t=e.indexOf(n);0<=t&&e.splice(t,1)}}class lt{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;const{_parentage:t}=this;if(t)if(this._parentage=null,Array.isArray(t))for(const i of t)i.remove(this);else t.remove(this);const{initialTeardown:r}=this;if(le(r))try{r()}catch(i){n=i instanceof _s?i.errors:[i]}const{_finalizers:o}=this;if(o){this._finalizers=null;for(const i of o)try{Ih(i)}catch(s){n=n??[],s instanceof _s?n=[...n,...s.errors]:n.push(s)}}if(n)throw new _s(n)}}add(n){var t;if(n&&n!==this)if(this.closed)Ih(n);else{if(n instanceof lt){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=null!==(t=this._finalizers)&&void 0!==t?t:[]).push(n)}}_hasParent(n){const{_parentage:t}=this;return t===n||Array.isArray(t)&&t.includes(n)}_addParent(n){const{_parentage:t}=this;this._parentage=Array.isArray(t)?(t.push(n),t):t?[t,n]:n}_removeParent(n){const{_parentage:t}=this;t===n?this._parentage=null:Array.isArray(t)&&jo(t,n)}remove(n){const{_finalizers:t}=this;t&&jo(t,n),n instanceof lt&&n._removeParent(this)}}lt.EMPTY=(()=>{const e=new lt;return e.closed=!0,e})();const bh=lt.EMPTY;function Eh(e){return e instanceof lt||e&&"closed"in e&&le(e.remove)&&le(e.add)&&le(e.unsubscribe)}function Ih(e){le(e)?e():e.unsubscribe()}const er={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},ys={setTimeout(e,n,...t){const{delegate:r}=ys;return r?.setTimeout?r.setTimeout(e,n,...t):setTimeout(e,n,...t)},clearTimeout(e){const{delegate:n}=ys;return(n?.clearTimeout||clearTimeout)(e)},delegate:void 0};function Mh(e){ys.setTimeout(()=>{const{onUnhandledError:n}=er;if(!n)throw e;n(e)})}function Ju(){}const dE=Ku("C",void 0,void 0);function Ku(e,n,t){return{kind:e,value:n,error:t}}let tr=null;function Ds(e){if(er.useDeprecatedSynchronousErrorHandling){const n=!tr;if(n&&(tr={errorThrown:!1,error:null}),e(),n){const{errorThrown:t,error:r}=tr;if(tr=null,t)throw r}}else e()}class ec extends lt{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,Eh(n)&&n.add(this)):this.destination=_E}static create(n,t,r){return new Bo(n,t,r)}next(n){this.isStopped?nc(function hE(e){return Ku("N",e,void 0)}(n),this):this._next(n)}error(n){this.isStopped?nc(function fE(e){return Ku("E",void 0,e)}(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?nc(dE,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(n){this.destination.next(n)}_error(n){try{this.destination.error(n)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const gE=Function.prototype.bind;function tc(e,n){return gE.call(e,n)}class mE{constructor(n){this.partialObserver=n}next(n){const{partialObserver:t}=this;if(t.next)try{t.next(n)}catch(r){Cs(r)}}error(n){const{partialObserver:t}=this;if(t.error)try{t.error(n)}catch(r){Cs(r)}else Cs(n)}complete(){const{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(t){Cs(t)}}}class Bo extends ec{constructor(n,t,r){let o;if(super(),le(n)||!n)o={next:n??void 0,error:t??void 0,complete:r??void 0};else{let i;this&&er.useDeprecatedNextContext?(i=Object.create(n),i.unsubscribe=()=>this.unsubscribe(),o={next:n.next&&tc(n.next,i),error:n.error&&tc(n.error,i),complete:n.complete&&tc(n.complete,i)}):o=n}this.destination=new mE(o)}}function Cs(e){er.useDeprecatedSynchronousErrorHandling?function pE(e){er.useDeprecatedSynchronousErrorHandling&&tr&&(tr.errorThrown=!0,tr.error=e)}(e):Mh(e)}function nc(e,n){const{onStoppedNotification:t}=er;t&&ys.setTimeout(()=>t(e,n))}const _E={closed:!0,next:Ju,error:function vE(e){throw e},complete:Ju},rc="function"==typeof Symbol&&Symbol.observable||"@@observable";function Nn(e){return e}function Sh(e){return 0===e.length?Nn:1===e.length?e[0]:function(t){return e.reduce((r,o)=>o(r),t)}}let Ee=(()=>{class e{constructor(t){t&&(this._subscribe=t)}lift(t){const r=new e;return r.source=this,r.operator=t,r}subscribe(t,r,o){const i=function CE(e){return e&&e instanceof ec||function DE(e){return e&&le(e.next)&&le(e.error)&&le(e.complete)}(e)&&Eh(e)}(t)?t:new Bo(t,r,o);return Ds(()=>{const{operator:s,source:a}=this;i.add(s?s.call(i,a):a?this._subscribe(i):this._trySubscribe(i))}),i}_trySubscribe(t){try{return this._subscribe(t)}catch(r){t.error(r)}}forEach(t,r){return new(r=Th(r))((o,i)=>{const s=new Bo({next:a=>{try{t(a)}catch(u){i(u),s.unsubscribe()}},error:i,complete:o});this.subscribe(s)})}_subscribe(t){var r;return null===(r=this.source)||void 0===r?void 0:r.subscribe(t)}[rc](){return this}pipe(...t){return Sh(t)(this)}toPromise(t){return new(t=Th(t))((r,o)=>{let i;this.subscribe(s=>i=s,s=>o(s),()=>r(i))})}}return e.create=n=>new e(n),e})();function Th(e){var n;return null!==(n=e??er.Promise)&&void 0!==n?n:Promise}const wE=Vo(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let kt=(()=>{class e extends Ee{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const r=new Ah(this,this);return r.operator=t,r}_throwIfClosed(){if(this.closed)throw new wE}next(t){Ds(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const r of this.currentObservers)r.next(t)}})}error(t){Ds(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;const{observers:r}=this;for(;r.length;)r.shift().error(t)}})}complete(){Ds(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:t}=this;for(;t.length;)t.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){const{hasError:r,isStopped:o,observers:i}=this;return r||o?bh:(this.currentObservers=null,i.push(t),new lt(()=>{this.currentObservers=null,jo(i,t)}))}_checkFinalizedStatuses(t){const{hasError:r,thrownError:o,isStopped:i}=this;r?t.error(o):i&&t.complete()}asObservable(){const t=new Ee;return t.source=this,t}}return e.create=(n,t)=>new Ah(n,t),e})();class Ah extends kt{constructor(n,t){super(),this.destination=n,this.source=t}next(n){var t,r;null===(r=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===r||r.call(t,n)}error(n){var t,r;null===(r=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===r||r.call(t,n)}complete(){var n,t;null===(t=null===(n=this.destination)||void 0===n?void 0:n.complete)||void 0===t||t.call(n)}_subscribe(n){var t,r;return null!==(r=null===(t=this.source)||void 0===t?void 0:t.subscribe(n))&&void 0!==r?r:bh}}function xh(e){return le(e?.lift)}function xe(e){return n=>{if(xh(n))return n.lift(function(t){try{return e(t,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}function Te(e,n,t,r,o){return new bE(e,n,t,r,o)}class bE extends ec{constructor(n,t,r,o,i,s){super(n),this.onFinalize=i,this.shouldUnsubscribe=s,this._next=t?function(a){try{t(a)}catch(u){n.error(u)}}:super._next,this._error=o?function(a){try{o(a)}catch(u){n.error(u)}finally{this.unsubscribe()}}:super._error,this._complete=r?function(){try{r()}catch(a){n.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:t}=this;super.unsubscribe(),!t&&(null===(n=this.onFinalize)||void 0===n||n.call(this))}}}function ne(e,n){return xe((t,r)=>{let o=0;t.subscribe(Te(r,i=>{r.next(e.call(n,i,o++))}))})}function Rn(e){return this instanceof Rn?(this.v=e,this):new Rn(e)}function Ph(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=function ac(e){var n="function"==typeof Symbol&&Symbol.iterator,t=n&&e[n],r=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(i){t[i]=e[i]&&function(s){return new Promise(function(a,u){!function o(i,s,a,u){Promise.resolve(u).then(function(c){i({value:c,done:a})},s)}(a,u,(s=e[i](s)).done,s.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const Fh=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function kh(e){return le(e?.then)}function Lh(e){return le(e[rc])}function Vh(e){return Symbol.asyncIterator&&le(e?.[Symbol.asyncIterator])}function jh(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const Bh=function GE(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function $h(e){return le(e?.[Bh])}function Hh(e){return function Oh(e,n,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var o,r=t.apply(e,n||[]),i=[];return o={},s("next"),s("throw"),s("return"),o[Symbol.asyncIterator]=function(){return this},o;function s(g){r[g]&&(o[g]=function(v){return new Promise(function(_,y){i.push([g,v,_,y])>1||a(g,v)})})}function a(g,v){try{!function u(g){g.value instanceof Rn?Promise.resolve(g.value.v).then(c,l):d(i[0][2],g)}(r[g](v))}catch(_){d(i[0][3],_)}}function c(g){a("next",g)}function l(g){a("throw",g)}function d(g,v){g(v),i.shift(),i.length&&a(i[0][0],i[0][1])}}(this,arguments,function*(){const t=e.getReader();try{for(;;){const{value:r,done:o}=yield Rn(t.read());if(o)return yield Rn(void 0);yield yield Rn(r)}}finally{t.releaseLock()}})}function Uh(e){return le(e?.getReader)}function dt(e){if(e instanceof Ee)return e;if(null!=e){if(Lh(e))return function qE(e){return new Ee(n=>{const t=e[rc]();if(le(t.subscribe))return t.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Fh(e))return function WE(e){return new Ee(n=>{for(let t=0;t{e.then(t=>{n.closed||(n.next(t),n.complete())},t=>n.error(t)).then(null,Mh)})}(e);if(Vh(e))return zh(e);if($h(e))return function YE(e){return new Ee(n=>{for(const t of e)if(n.next(t),n.closed)return;n.complete()})}(e);if(Uh(e))return function QE(e){return zh(Hh(e))}(e)}throw jh(e)}function zh(e){return new Ee(n=>{(function XE(e,n){var t,r,o,i;return function Nh(e,n,t,r){return new(t||(t=Promise))(function(i,s){function a(l){try{c(r.next(l))}catch(d){s(d)}}function u(l){try{c(r.throw(l))}catch(d){s(d)}}function c(l){l.done?i(l.value):function o(i){return i instanceof t?i:new t(function(s){s(i)})}(l.value).then(a,u)}c((r=r.apply(e,n||[])).next())})}(this,void 0,void 0,function*(){try{for(t=Ph(e);!(r=yield t.next()).done;)if(n.next(r.value),n.closed)return}catch(s){o={error:s}}finally{try{r&&!r.done&&(i=t.return)&&(yield i.call(t))}finally{if(o)throw o.error}}n.complete()})})(e,n).catch(t=>n.error(t))})}function fn(e,n,t,r=0,o=!1){const i=n.schedule(function(){t(),o?e.add(this.schedule(null,r)):this.unsubscribe()},r);if(e.add(i),!o)return i}function Le(e,n,t=1/0){return le(n)?Le((r,o)=>ne((i,s)=>n(r,i,o,s))(dt(e(r,o))),t):("number"==typeof n&&(t=n),xe((r,o)=>function JE(e,n,t,r,o,i,s,a){const u=[];let c=0,l=0,d=!1;const g=()=>{d&&!u.length&&!c&&n.complete()},v=y=>c{i&&n.next(y),c++;let C=!1;dt(t(y,l++)).subscribe(Te(n,M=>{o?.(M),i?v(M):n.next(M)},()=>{C=!0},void 0,()=>{if(C)try{for(c--;u.length&&c_(M)):_(M)}g()}catch(M){n.error(M)}}))};return e.subscribe(Te(n,v,()=>{d=!0,g()})),()=>{a?.()}}(r,o,e,t)))}function Mr(e=1/0){return Le(Nn,e)}const Zt=new Ee(e=>e.complete());function uc(e){return e[e.length-1]}function Gh(e){return le(uc(e))?e.pop():void 0}function $o(e){return function e0(e){return e&&le(e.schedule)}(uc(e))?e.pop():void 0}function qh(e,n=0){return xe((t,r)=>{t.subscribe(Te(r,o=>fn(r,e,()=>r.next(o),n),()=>fn(r,e,()=>r.complete(),n),o=>fn(r,e,()=>r.error(o),n)))})}function Wh(e,n=0){return xe((t,r)=>{r.add(e.schedule(()=>t.subscribe(r),n))})}function Zh(e,n){if(!e)throw new Error("Iterable cannot be null");return new Ee(t=>{fn(t,n,()=>{const r=e[Symbol.asyncIterator]();fn(t,n,()=>{r.next().then(o=>{o.done?t.complete():t.next(o.value)})},0,!0)})})}function Ne(e,n){return n?function u0(e,n){if(null!=e){if(Lh(e))return function n0(e,n){return dt(e).pipe(Wh(n),qh(n))}(e,n);if(Fh(e))return function o0(e,n){return new Ee(t=>{let r=0;return n.schedule(function(){r===e.length?t.complete():(t.next(e[r++]),t.closed||this.schedule())})})}(e,n);if(kh(e))return function r0(e,n){return dt(e).pipe(Wh(n),qh(n))}(e,n);if(Vh(e))return Zh(e,n);if($h(e))return function s0(e,n){return new Ee(t=>{let r;return fn(t,n,()=>{r=e[Bh](),fn(t,n,()=>{let o,i;try{({value:o,done:i}=r.next())}catch(s){return void t.error(s)}i?t.complete():t.next(o)},0,!0)}),()=>le(r?.return)&&r.return()})}(e,n);if(Uh(e))return function a0(e,n){return Zh(Hh(e),n)}(e,n)}throw jh(e)}(e,n):dt(e)}class bt extends kt{constructor(n){super(),this._value=n}get value(){return this.getValue()}_subscribe(n){const t=super._subscribe(n);return!t.closed&&n.next(this._value),t}getValue(){const{hasError:n,thrownError:t,_value:r}=this;if(n)throw t;return this._throwIfClosed(),r}next(n){super.next(this._value=n)}}function B(...e){return Ne(e,$o(e))}function Yh(e={}){const{connector:n=(()=>new kt),resetOnError:t=!0,resetOnComplete:r=!0,resetOnRefCountZero:o=!0}=e;return i=>{let s,a,u,c=0,l=!1,d=!1;const g=()=>{a?.unsubscribe(),a=void 0},v=()=>{g(),s=u=void 0,l=d=!1},_=()=>{const y=s;v(),y?.unsubscribe()};return xe((y,C)=>{c++,!d&&!l&&g();const M=u=u??n();C.add(()=>{c--,0===c&&!d&&!l&&(a=cc(_,o))}),M.subscribe(C),!s&&c>0&&(s=new Bo({next:D=>M.next(D),error:D=>{d=!0,g(),a=cc(v,t,D),M.error(D)},complete:()=>{l=!0,g(),a=cc(v,r),M.complete()}}),dt(y).subscribe(s))})(i)}}function cc(e,n,...t){if(!0===n)return void e();if(!1===n)return;const r=new Bo({next:()=>{r.unsubscribe(),e()}});return dt(n(...t)).subscribe(r)}function Lt(e,n){return xe((t,r)=>{let o=null,i=0,s=!1;const a=()=>s&&!o&&r.complete();t.subscribe(Te(r,u=>{o?.unsubscribe();let c=0;const l=i++;dt(e(u,l)).subscribe(o=Te(r,d=>r.next(n?n(u,d,l,c++):d),()=>{o=null,a()}))},()=>{s=!0,a()}))})}function d0(e,n){return e===n}function ae(e){for(let n in e)if(e[n]===ae)return n;throw Error("Could not find renamed property on target object.")}function ws(e,n){for(const t in n)n.hasOwnProperty(t)&&!e.hasOwnProperty(t)&&(e[t]=n[t])}function Re(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(Re).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const n=e.toString();if(null==n)return""+n;const t=n.indexOf("\n");return-1===t?n:n.substring(0,t)}function lc(e,n){return null==e||""===e?null===n?"":n:null==n||""===n?e:e+" "+n}const f0=ae({__forward_ref__:ae});function fe(e){return e.__forward_ref__=fe,e.toString=function(){return Re(this())},e}function U(e){return dc(e)?e():e}function dc(e){return"function"==typeof e&&e.hasOwnProperty(f0)&&e.__forward_ref__===fe}function fc(e){return e&&!!e.\u0275providers}const Qh="https://g.co/ng/security#xss";class I extends Error{constructor(n,t){super(function bs(e,n){return`NG0${Math.abs(e)}${n?": "+n:""}`}(n,t)),this.code=n}}function G(e){return"string"==typeof e?e:null==e?"":String(e)}function hc(e,n){throw new I(-201,!1)}function Et(e,n){null==e&&function $(e,n,t,r){throw new Error(`ASSERTION ERROR: ${e}`+(null==r?"":` [Expected=> ${t} ${r} ${n} <=Actual]`))}(n,e,null,"!=")}function V(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function ht(e){return{providers:e.providers||[],imports:e.imports||[]}}function Es(e){return Xh(e,Ms)||Xh(e,Jh)}function Xh(e,n){return e.hasOwnProperty(n)?e[n]:null}function Is(e){return e&&(e.hasOwnProperty(pc)||e.hasOwnProperty(D0))?e[pc]:null}const Ms=ae({\u0275prov:ae}),pc=ae({\u0275inj:ae}),Jh=ae({ngInjectableDef:ae}),D0=ae({ngInjectorDef:ae});var X=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(X||{});let gc;function ot(e){const n=gc;return gc=e,n}function ep(e,n,t){const r=Es(e);return r&&"root"==r.providedIn?void 0===r.value?r.value=r.factory():r.value:t&X.Optional?null:void 0!==n?n:void hc(Re(e))}const he=globalThis;class P{constructor(n,t){this._desc=n,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=V({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const Ho={},Dc="__NG_DI_FLAG__",Ss="ngTempTokenPath",b0=/\n/gm,np="__source";let Sr;function On(e){const n=Sr;return Sr=e,n}function M0(e,n=X.Default){if(void 0===Sr)throw new I(-203,!1);return null===Sr?ep(e,void 0,n):Sr.get(e,n&X.Optional?null:void 0,n)}function k(e,n=X.Default){return(function Kh(){return gc}()||M0)(U(e),n)}function R(e,n=X.Default){return k(e,Ts(n))}function Ts(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Cc(e){const n=[];for(let t=0;tn){s=i-1;break}}}for(;ii?"":o[d+1].toLowerCase();const v=8&r?g:null;if(v&&-1!==sp(v,c,0)||2&r&&c!==g){if(jt(r))return!1;s=!0}}}}else{if(!s&&!jt(r)&&!jt(u))return!1;if(s&&jt(u))continue;s=!1,r=u|1&r}}return jt(r)||s}function jt(e){return 0==(1&e)}function O0(e,n,t,r){if(null===n)return-1;let o=0;if(r||!t){let i=!1;for(;o-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&r?o+="."+s:4&r&&(o+=" "+s);else""!==o&&!jt(s)&&(n+=hp(i,o),o=""),r=s,i=i||!jt(r);t++}return""!==o&&(n+=hp(i,o)),n}function Tr(e){return hn(()=>{const n=gp(e),t={...n,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===As.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||Vt.Emulated,styles:e.styles||te,_:null,schemas:e.schemas||null,tView:null,id:""};mp(t);const r=e.dependencies;return t.directiveDefs=Ns(r,!1),t.pipeDefs=Ns(r,!0),t.id=function q0(e){let n=0;const t=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery].join("|");for(const o of t)n=Math.imul(31,n)+o.charCodeAt(0)<<0;return n+=2147483648,"c"+n}(t),t})}function H0(e){return K(e)||Ve(e)}function U0(e){return null!==e}function It(e){return hn(()=>({type:e.type,bootstrap:e.bootstrap||te,declarations:e.declarations||te,imports:e.imports||te,exports:e.exports||te,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function pp(e,n){if(null==e)return Yt;const t={};for(const r in e)if(e.hasOwnProperty(r)){let o=e[r],i=o;Array.isArray(o)&&(i=o[1],o=o[0]),t[o]=r,n&&(n[o]=i)}return t}function z(e){return hn(()=>{const n=gp(e);return mp(n),n})}function Ze(e){return{type:e.type,name:e.name,factory:null,pure:!1!==e.pure,standalone:!0===e.standalone,onDestroy:e.type.prototype.ngOnDestroy||null}}function K(e){return e[xs]||null}function Ve(e){return e[wc]||null}function Ye(e){return e[bc]||null}function pt(e,n){const t=e[op]||null;if(!t&&!0===n)throw new Error(`Type ${Re(e)} does not have '\u0275mod' property.`);return t}function gp(e){const n={};return{type:e.type,providersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:n,inputTransforms:null,inputConfig:e.inputs||Yt,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||te,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:pp(e.inputs,n),outputs:pp(e.outputs)}}function mp(e){e.features?.forEach(n=>n(e))}function Ns(e,n){if(!e)return null;const t=n?Ye:H0;return()=>("function"==typeof e?e():e).map(r=>t(r)).filter(U0)}const Ce=0,N=1,Z=2,_e=3,Bt=4,qo=5,Ue=6,xr=7,Ie=8,Pn=9,Nr=10,q=11,Wo=12,vp=13,Rr=14,Me=15,Zo=16,Or=17,Qt=18,Yo=19,_p=20,Fn=21,gn=22,Qo=23,Xo=24,J=25,Ic=1,yp=2,Xt=7,Pr=9,je=11;function it(e){return Array.isArray(e)&&"object"==typeof e[Ic]}function Qe(e){return Array.isArray(e)&&!0===e[Ic]}function Mc(e){return 0!=(4&e.flags)}function rr(e){return e.componentOffset>-1}function Os(e){return 1==(1&e.flags)}function $t(e){return!!e.template}function Sc(e){return 0!=(512&e[Z])}function or(e,n){return e.hasOwnProperty(pn)?e[pn]:null}let Be=null,Ps=!1;function Mt(e){const n=Be;return Be=e,n}const wp={version:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{}};function Ep(e){if(!Ko(e)||e.dirty){if(!e.producerMustRecompute(e)&&!Sp(e))return void(e.dirty=!1);e.producerRecomputeValue(e),e.dirty=!1}}function Mp(e){e.dirty=!0,function Ip(e){if(void 0===e.liveConsumerNode)return;const n=Ps;Ps=!0;try{for(const t of e.liveConsumerNode)t.dirty||Mp(t)}finally{Ps=n}}(e),e.consumerMarkedDirty?.(e)}function Ac(e){return e&&(e.nextProducerIndex=0),Mt(e)}function xc(e,n){if(Mt(n),e&&void 0!==e.producerNode&&void 0!==e.producerIndexOfThis&&void 0!==e.producerLastReadVersion){if(Ko(e))for(let t=e.nextProducerIndex;te.nextProducerIndex;)e.producerNode.pop(),e.producerLastReadVersion.pop(),e.producerIndexOfThis.pop()}}function Sp(e){Fr(e);for(let n=0;n0}function Fr(e){e.producerNode??=[],e.producerIndexOfThis??=[],e.producerLastReadVersion??=[]}let Np=null;const Fp=()=>{},iI=(()=>({...wp,consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!1,consumerMarkedDirty:e=>{e.schedule(e.ref)},hasRun:!1,cleanupFn:Fp}))();class sI{constructor(n,t,r){this.previousValue=n,this.currentValue=t,this.firstChange=r}isFirstChange(){return this.firstChange}}function St(){return kp}function kp(e){return e.type.prototype.ngOnChanges&&(e.setInput=uI),aI}function aI(){const e=Vp(this),n=e?.current;if(n){const t=e.previous;if(t===Yt)e.previous=n;else for(let r in n)t[r]=n[r];e.current=null,this.ngOnChanges(n)}}function uI(e,n,t,r){const o=this.declaredInputs[t],i=Vp(e)||function cI(e,n){return e[Lp]=n}(e,{previous:Yt,current:null}),s=i.current||(i.current={}),a=i.previous,u=a[o];s[o]=new sI(u&&u.currentValue,n,a===Yt),e[r]=n}St.ngInherit=!0;const Lp="__ngSimpleChanges__";function Vp(e){return e[Lp]||null}const Jt=function(e,n,t){};function pe(e){for(;Array.isArray(e);)e=e[Ce];return e}function ks(e,n){return pe(n[e])}function st(e,n){return pe(n[e.index])}function $p(e,n){return e.data[n]}function gt(e,n){const t=n[e];return it(t)?t:t[Ce]}function Ln(e,n){return null==n?null:e[n]}function Hp(e){e[Or]=0}function gI(e){1024&e[Z]||(e[Z]|=1024,zp(e,1))}function Up(e){1024&e[Z]&&(e[Z]&=-1025,zp(e,-1))}function zp(e,n){let t=e[_e];if(null===t)return;t[qo]+=n;let r=t;for(t=t[_e];null!==t&&(1===n&&1===r[qo]||-1===n&&0===r[qo]);)t[qo]+=n,r=t,t=t[_e]}const H={lFrame:tg(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function Wp(){return H.bindingsEnabled}function w(){return H.lFrame.lView}function ee(){return H.lFrame.tView}function Tt(e){return H.lFrame.contextLView=e,e[Ie]}function At(e){return H.lFrame.contextLView=null,e}function $e(){let e=Zp();for(;null!==e&&64===e.type;)e=e.parent;return e}function Zp(){return H.lFrame.currentTNode}function Kt(e,n){const t=H.lFrame;t.currentTNode=e,t.isParent=n}function Fc(){return H.lFrame.isParent}function kc(){H.lFrame.isParent=!1}function Xe(){const e=H.lFrame;let n=e.bindingRootIndex;return-1===n&&(n=e.bindingRootIndex=e.tView.bindingStartIndex),n}function Vr(){return H.lFrame.bindingIndex++}function SI(e,n){const t=H.lFrame;t.bindingIndex=t.bindingRootIndex=e,Lc(n)}function Lc(e){H.lFrame.currentDirectiveIndex=e}function jc(e){H.lFrame.currentQueryIndex=e}function AI(e){const n=e[N];return 2===n.type?n.declTNode:1===n.type?e[Ue]:null}function Kp(e,n,t){if(t&X.SkipSelf){let o=n,i=e;for(;!(o=o.parent,null!==o||t&X.Host||(o=AI(i),null===o||(i=i[Rr],10&o.type))););if(null===o)return!1;n=o,e=i}const r=H.lFrame=eg();return r.currentTNode=n,r.lView=e,!0}function Bc(e){const n=eg(),t=e[N];H.lFrame=n,n.currentTNode=t.firstChild,n.lView=e,n.tView=t,n.contextLView=e,n.bindingIndex=t.bindingStartIndex,n.inI18n=!1}function eg(){const e=H.lFrame,n=null===e?null:e.child;return null===n?tg(e):n}function tg(e){const n={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return null!==e&&(e.child=n),n}function ng(){const e=H.lFrame;return H.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const rg=ng;function $c(){const e=ng();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function Je(){return H.lFrame.selectedIndex}function ir(e){H.lFrame.selectedIndex=e}function De(){const e=H.lFrame;return $p(e.tView,e.selectedIndex)}let ig=!0;function Ls(){return ig}function Vn(e){ig=e}function Vs(e,n){for(let t=n.directiveStart,r=n.directiveEnd;t=r)break}else n[u]<0&&(e[Or]+=65536),(a>13>16&&(3&e[Z])===n&&(e[Z]+=8192,ag(a,i)):ag(a,i)}const jr=-1;class ti{constructor(n,t,r){this.factory=n,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=r}}function zc(e){return e!==jr}function ni(e){return 32767&e}function ri(e,n){let t=function $I(e){return e>>16}(e),r=n;for(;t>0;)r=r[Rr],t--;return r}let Gc=!0;function $s(e){const n=Gc;return Gc=e,n}const ug=255,cg=5;let HI=0;const en={};function Hs(e,n){const t=lg(e,n);if(-1!==t)return t;const r=n[N];r.firstCreatePass&&(e.injectorIndex=n.length,qc(r.data,e),qc(n,null),qc(r.blueprint,null));const o=Us(e,n),i=e.injectorIndex;if(zc(o)){const s=ni(o),a=ri(o,n),u=a[N].data;for(let c=0;c<8;c++)n[i+c]=a[s+c]|u[s+c]}return n[i+8]=o,i}function qc(e,n){e.push(0,0,0,0,0,0,0,0,n)}function lg(e,n){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===n[e.injectorIndex+8]?-1:e.injectorIndex}function Us(e,n){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let t=0,r=null,o=n;for(;null!==o;){if(r=vg(o),null===r)return jr;if(t++,o=o[Rr],-1!==r.injectorIndex)return r.injectorIndex|t<<16}return jr}function Wc(e,n,t){!function UI(e,n,t){let r;"string"==typeof t?r=t.charCodeAt(0)||0:t.hasOwnProperty(zo)&&(r=t[zo]),null==r&&(r=t[zo]=HI++);const o=r&ug;n.data[e+(o>>cg)]|=1<=0?n&ug:ZI:n}(t);if("function"==typeof i){if(!Kp(n,e,r))return r&X.Host?dg(o,0,r):fg(n,t,r,o);try{let s;if(s=i(r),null!=s||r&X.Optional)return s;hc()}finally{rg()}}else if("number"==typeof i){let s=null,a=lg(e,n),u=jr,c=r&X.Host?n[Me][Ue]:null;for((-1===a||r&X.SkipSelf)&&(u=-1===a?Us(e,n):n[a+8],u!==jr&&mg(r,!1)?(s=n[N],a=ni(u),n=ri(u,n)):a=-1);-1!==a;){const l=n[N];if(gg(i,a,l.data)){const d=GI(a,n,t,s,r,c);if(d!==en)return d}u=n[a+8],u!==jr&&mg(r,n[N].data[a+8]===c)&&gg(i,a,n)?(s=l,a=ni(u),n=ri(u,n)):a=-1}}return o}function GI(e,n,t,r,o,i){const s=n[N],a=s.data[e+8],l=function zs(e,n,t,r,o){const i=e.providerIndexes,s=n.data,a=1048575&i,u=e.directiveStart,l=i>>20,g=o?a+l:e.directiveEnd;for(let v=r?a:a+l;v=u&&_.type===t)return v}if(o){const v=s[u];if(v&&$t(v)&&v.type===t)return u}return null}(a,s,t,null==r?rr(a)&&Gc:r!=s&&0!=(3&a.type),o&X.Host&&i===a);return null!==l?sr(n,s,l,a):en}function sr(e,n,t,r){let o=e[t];const i=n.data;if(function VI(e){return e instanceof ti}(o)){const s=o;s.resolving&&function h0(e,n){const t=n?`. Dependency path: ${n.join(" > ")} > ${e}`:"";throw new I(-200,`Circular dependency in DI detected for ${e}${t}`)}(function se(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():G(e)}(i[t]));const a=$s(s.canSeeViewProviders);s.resolving=!0;const c=s.injectImpl?ot(s.injectImpl):null;Kp(e,r,X.Default);try{o=e[t]=s.factory(void 0,i,e,r),n.firstCreatePass&&t>=r.directiveStart&&function kI(e,n,t){const{ngOnChanges:r,ngOnInit:o,ngDoCheck:i}=n.type.prototype;if(r){const s=kp(n);(t.preOrderHooks??=[]).push(e,s),(t.preOrderCheckHooks??=[]).push(e,s)}o&&(t.preOrderHooks??=[]).push(0-e,o),i&&((t.preOrderHooks??=[]).push(e,i),(t.preOrderCheckHooks??=[]).push(e,i))}(t,i[t],n)}finally{null!==c&&ot(c),$s(a),s.resolving=!1,rg()}}return o}function gg(e,n,t){return!!(t[n+(e>>cg)]&1<{const n=e.prototype.constructor,t=n[pn]||Zc(n),r=Object.prototype;let o=Object.getPrototypeOf(e.prototype).constructor;for(;o&&o!==r;){const i=o[pn]||Zc(o);if(i&&i!==t)return i;o=Object.getPrototypeOf(o)}return i=>new i})}function Zc(e){return dc(e)?()=>{const n=Zc(U(e));return n&&n()}:or(e)}function vg(e){const n=e[N],t=n.type;return 2===t?n.declTNode:1===t?e[Ue]:null}const $r="__parameters__";function Ur(e,n,t){return hn(()=>{const r=function Yc(e){return function(...t){if(e){const r=e(...t);for(const o in r)this[o]=r[o]}}}(n);function o(...i){if(this instanceof o)return r.apply(this,i),this;const s=new o(...i);return a.annotation=s,a;function a(u,c,l){const d=u.hasOwnProperty($r)?u[$r]:Object.defineProperty(u,$r,{value:[]})[$r];for(;d.length<=l;)d.push(null);return(d[l]=d[l]||[]).push(s),u}}return t&&(o.prototype=Object.create(t.prototype)),o.prototype.ngMetadataName=e,o.annotationCls=o,o})}function Gr(e,n){e.forEach(t=>Array.isArray(t)?Gr(t,n):n(t))}function yg(e,n,t){n>=e.length?e.push(t):e.splice(n,0,t)}function qs(e,n){return n>=e.length-1?e.pop():e.splice(n,1)[0]}function mt(e,n,t){let r=qr(e,n);return r>=0?e[1|r]=t:(r=~r,function n1(e,n,t,r){let o=e.length;if(o==n)e.push(t,r);else if(1===o)e.push(r,e[0]),e[0]=t;else{for(o--,e.push(e[o-1],e[o]);o>n;)e[o]=e[o-2],o--;e[n]=t,e[n+1]=r}}(e,r,n,t)),r}function Qc(e,n){const t=qr(e,n);if(t>=0)return e[1|t]}function qr(e,n){return function Dg(e,n,t){let r=0,o=e.length>>t;for(;o!==r;){const i=r+(o-r>>1),s=e[i<n?o=i:r=i+1}return~(o<|^->||--!>|)/g,I1="\u200b$1\u200b";const tl=new Map;let M1=0;const rl="__ngContext__";function ze(e,n){it(n)?(e[rl]=n[Yo],function T1(e){tl.set(e[Yo],e)}(n)):e[rl]=n}let ol;function il(e,n){return ol(e,n)}function ci(e){const n=e[_e];return Qe(n)?n[_e]:n}function Bg(e){return Hg(e[Wo])}function $g(e){return Hg(e[Bt])}function Hg(e){for(;null!==e&&!Qe(e);)e=e[Bt];return e}function Yr(e,n,t,r,o){if(null!=r){let i,s=!1;Qe(r)?i=r:it(r)&&(s=!0,r=r[Ce]);const a=pe(r);0===e&&null!==t?null==o?qg(n,t,a):ar(n,t,a,o||null,!0):1===e&&null!==t?ar(n,t,a,o||null,!0):2===e?function aa(e,n,t){const r=ia(e,n);r&&function W1(e,n,t,r){e.removeChild(n,t,r)}(e,r,n,t)}(n,a,s):3===e&&n.destroyNode(a),null!=i&&function Q1(e,n,t,r,o){const i=t[Xt];i!==pe(t)&&Yr(n,e,r,i,o);for(let a=je;an.replace(E1,I1))}(n))}function ra(e,n,t){return e.createElement(n,t)}function zg(e,n){const t=e[Pr],r=t.indexOf(n);Up(n),t.splice(r,1)}function oa(e,n){if(e.length<=je)return;const t=je+n,r=e[t];if(r){const o=r[Zo];null!==o&&o!==e&&zg(o,r),n>0&&(e[t-1][Bt]=r[Bt]);const i=qs(e,je+n);!function j1(e,n){di(e,n,n[q],2,null,null),n[Ce]=null,n[Ue]=null}(r[N],r);const s=i[Qt];null!==s&&s.detachView(i[N]),r[_e]=null,r[Bt]=null,r[Z]&=-129}return r}function al(e,n){if(!(256&n[Z])){const t=n[q];n[Qo]&&Tp(n[Qo]),n[Xo]&&Tp(n[Xo]),t.destroyNode&&di(e,n,t,3,null,null),function H1(e){let n=e[Wo];if(!n)return ul(e[N],e);for(;n;){let t=null;if(it(n))t=n[Wo];else{const r=n[je];r&&(t=r)}if(!t){for(;n&&!n[Bt]&&n!==e;)it(n)&&ul(n[N],n),n=n[_e];null===n&&(n=e),it(n)&&ul(n[N],n),t=n&&n[Bt]}n=t}}(n)}}function ul(e,n){if(!(256&n[Z])){n[Z]&=-129,n[Z]|=256,function q1(e,n){let t;if(null!=e&&null!=(t=e.destroyHooks))for(let r=0;r=0?r[s]():r[-s].unsubscribe(),i+=2}else t[i].call(r[t[i+1]]);null!==r&&(n[xr]=null);const o=n[Fn];if(null!==o){n[Fn]=null;for(let i=0;i-1){const{encapsulation:i}=e.data[r.directiveStart+o];if(i===Vt.None||i===Vt.Emulated)return null}return st(r,t)}}(e,n.parent,t)}function ar(e,n,t,r,o){e.insertBefore(n,t,r,o)}function qg(e,n,t){e.appendChild(n,t)}function Wg(e,n,t,r,o){null!==r?ar(e,n,t,r,o):qg(e,n,t)}function ia(e,n){return e.parentNode(n)}let ll,pl,Qg=function Yg(e,n,t){return 40&e.type?st(e,t):null};function sa(e,n,t,r){const o=cl(e,r,n),i=n[q],a=function Zg(e,n,t){return Qg(e,n,t)}(r.parent||n[Ue],r,n);if(null!=o)if(Array.isArray(t))for(let u=0;u{t.push(s)};return Gr(n,s=>{const a=s;da(a,i,[],r)&&(o||=[],o.push(a))}),void 0!==o&&_m(o,i),t}function _m(e,n){for(let t=0;t{n(i,r)})}}function da(e,n,t,r){if(!(e=U(e)))return!1;let o=null,i=Is(e);const s=!i&&K(e);if(i||s){if(s&&!s.standalone)return!1;o=e}else{const u=e.ngModule;if(i=Is(u),!i)return!1;o=u}const a=r.has(o);if(s){if(a)return!1;if(r.add(o),s.dependencies){const u="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const c of u)da(c,n,t,r)}}else{if(!i)return!1;{if(null!=i.imports&&!a){let c;r.add(o);try{Gr(i.imports,l=>{da(l,n,t,r)&&(c||=[],c.push(l))})}finally{}void 0!==c&&_m(c,n)}if(!a){const c=or(o)||(()=>new o);n({provide:o,useFactory:c,deps:te},o),n({provide:mm,useValue:o,multi:!0},o),n({provide:gi,useValue:()=>k(o),multi:!0},o)}const u=i.providers;if(null!=u&&!a){const c=e;wl(u,l=>{n(l,c)})}}}return o!==e&&void 0!==e.providers}function wl(e,n){for(let t of e)fc(t)&&(t=t.\u0275providers),Array.isArray(t)?wl(t,n):n(t)}const MM=ae({provide:String,useValue:ae});function bl(e){return null!==e&&"object"==typeof e&&MM in e}function ur(e){return"function"==typeof e}const El=new P("Set Injector scope."),fa={},TM={};let Il;function ha(){return void 0===Il&&(Il=new Dl),Il}class vt{}class Kr extends vt{get destroyed(){return this._destroyed}constructor(n,t,r,o){super(),this.parent=t,this.source=r,this.scopes=o,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,Sl(n,s=>this.processProvider(s)),this.records.set(gm,eo(void 0,this)),o.has("environment")&&this.records.set(vt,eo(void 0,this));const i=this.records.get(El);null!=i&&"string"==typeof i.value&&this.scopes.add(i.value),this.injectorDefTypes=new Set(this.get(mm.multi,te,X.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const t of this._ngOnDestroyHooks)t.ngOnDestroy();const n=this._onDestroyHooks;this._onDestroyHooks=[];for(const t of n)t()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(n){return this.assertNotDestroyed(),this._onDestroyHooks.push(n),()=>this.removeOnDestroy(n)}runInContext(n){this.assertNotDestroyed();const t=On(this),r=ot(void 0);try{return n()}finally{On(t),ot(r)}}get(n,t=Ho,r=X.Default){if(this.assertNotDestroyed(),n.hasOwnProperty(ip))return n[ip](this);r=Ts(r);const i=On(this),s=ot(void 0);try{if(!(r&X.SkipSelf)){let u=this.records.get(n);if(void 0===u){const c=function OM(e){return"function"==typeof e||"object"==typeof e&&e instanceof P}(n)&&Es(n);u=c&&this.injectableDefInScope(c)?eo(Ml(n),fa):null,this.records.set(n,u)}if(null!=u)return this.hydrate(n,u)}return(r&X.Self?ha():this.parent).get(n,t=r&X.Optional&&t===Ho?null:t)}catch(a){if("NullInjectorError"===a.name){if((a[Ss]=a[Ss]||[]).unshift(Re(n)),i)throw a;return function T0(e,n,t,r){const o=e[Ss];throw n[np]&&o.unshift(n[np]),e.message=function A0(e,n,t,r=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let o=Re(n);if(Array.isArray(n))o=n.map(Re).join(" -> ");else if("object"==typeof n){let i=[];for(let s in n)if(n.hasOwnProperty(s)){let a=n[s];i.push(s+":"+("string"==typeof a?JSON.stringify(a):Re(a)))}o=`{${i.join(", ")}}`}return`${t}${r?"("+r+")":""}[${o}]: ${e.replace(b0,"\n ")}`}("\n"+e.message,o,t,r),e.ngTokenPath=o,e[Ss]=null,e}(a,n,"R3InjectorError",this.source)}throw a}finally{ot(s),On(i)}}resolveInjectorInitializers(){const n=On(this),t=ot(void 0);try{const o=this.get(gi.multi,te,X.Self);for(const i of o)i()}finally{On(n),ot(t)}}toString(){const n=[],t=this.records;for(const r of t.keys())n.push(Re(r));return`R3Injector[${n.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new I(205,!1)}processProvider(n){let t=ur(n=U(n))?n:U(n&&n.provide);const r=function xM(e){return bl(e)?eo(void 0,e.useValue):eo(Cm(e),fa)}(n);if(ur(n)||!0!==n.multi)this.records.get(t);else{let o=this.records.get(t);o||(o=eo(void 0,fa,!0),o.factory=()=>Cc(o.multi),this.records.set(t,o)),t=n,o.multi.push(n)}this.records.set(t,r)}hydrate(n,t){return t.value===fa&&(t.value=TM,t.value=t.factory()),"object"==typeof t.value&&t.value&&function RM(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}injectableDefInScope(n){if(!n.providedIn)return!1;const t=U(n.providedIn);return"string"==typeof t?"any"===t||this.scopes.has(t):this.injectorDefTypes.has(t)}removeOnDestroy(n){const t=this._onDestroyHooks.indexOf(n);-1!==t&&this._onDestroyHooks.splice(t,1)}}function Ml(e){const n=Es(e),t=null!==n?n.factory:or(e);if(null!==t)return t;if(e instanceof P)throw new I(204,!1);if(e instanceof Function)return function AM(e){const n=e.length;if(n>0)throw function si(e,n){const t=[];for(let r=0;rt.factory(e):()=>new e}(e);throw new I(204,!1)}function Cm(e,n,t){let r;if(ur(e)){const o=U(e);return or(o)||Ml(o)}if(bl(e))r=()=>U(e.useValue);else if(function Dm(e){return!(!e||!e.useFactory)}(e))r=()=>e.useFactory(...Cc(e.deps||[]));else if(function ym(e){return!(!e||!e.useExisting)}(e))r=()=>k(U(e.useExisting));else{const o=U(e&&(e.useClass||e.provide));if(!function NM(e){return!!e.deps}(e))return or(o)||Ml(o);r=()=>new o(...Cc(e.deps))}return r}function eo(e,n,t=!1){return{factory:e,value:n,multi:t?[]:void 0}}function Sl(e,n){for(const t of e)Array.isArray(t)?Sl(t,n):t&&fc(t)?Sl(t.\u0275providers,n):n(t)}const pa=new P("AppId",{providedIn:"root",factory:()=>PM}),PM="ng",wm=new P("Platform Initializer"),cr=new P("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),bm=new P("CSP nonce",{providedIn:"root",factory:()=>function Xr(){if(void 0!==pl)return pl;if(typeof document<"u")return document;throw new I(210,!1)}().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let Em=(e,n,t)=>null;function Fl(e,n,t=!1){return Em(e,n,t)}class zM{}class Sm{}class qM{resolveComponentFactory(n){throw function GM(e){const n=Error(`No component factory found for ${Re(e)}.`);return n.ngComponent=e,n}(n)}}let Da=(()=>{class e{static#e=this.NULL=new qM}return e})();function WM(){return ro($e(),w())}function ro(e,n){return new _t(st(e,n))}let _t=(()=>{class e{constructor(t){this.nativeElement=t}static#e=this.__NG_ELEMENT_ID__=WM}return e})();class Am{}let yn=(()=>{class e{constructor(){this.destroyNode=null}static#e=this.__NG_ELEMENT_ID__=()=>function YM(){const e=w(),t=gt($e().index,e);return(it(t)?t:e)[q]}()}return e})(),QM=(()=>{class e{static#e=this.\u0275prov=V({token:e,providedIn:"root",factory:()=>null})}return e})();class _i{constructor(n){this.full=n,this.major=n.split(".")[0],this.minor=n.split(".")[1],this.patch=n.split(".").slice(2).join(".")}}const XM=new _i("16.2.12"),Vl={};function Om(e,n=null,t=null,r){const o=Pm(e,n,t,r);return o.resolveInjectorInitializers(),o}function Pm(e,n=null,t=null,r,o=new Set){const i=[t||te,IM(e)];return r=r||("object"==typeof e?void 0:Re(e)),new Kr(i,n||ha(),r||null,o)}let yt=(()=>{class e{static#e=this.THROW_IF_NOT_FOUND=Ho;static#t=this.NULL=new Dl;static create(t,r){if(Array.isArray(t))return Om({name:""},r,t,"");{const o=t.name??"";return Om({name:o},t.parent,t.providers,o)}}static#n=this.\u0275prov=V({token:e,providedIn:"any",factory:()=>k(gm)});static#r=this.__NG_ELEMENT_ID__=-1}return e})();function Bl(e){return e.ngOriginalError}class Dn{constructor(){this._console=console}handleError(n){const t=this._findOriginalError(n);this._console.error("ERROR",n),t&&this._console.error("ORIGINAL ERROR",t)}_findOriginalError(n){let t=n&&Bl(n);for(;t&&Bl(t);)t=Bl(t);return t||null}}function Hl(e){return n=>{setTimeout(e,void 0,n)}}const we=class oS extends kt{constructor(n=!1){super(),this.__isAsync=n}emit(n){super.next(n)}subscribe(n,t,r){let o=n,i=t||(()=>null),s=r;if(n&&"object"==typeof n){const u=n;o=u.next?.bind(u),i=u.error?.bind(u),s=u.complete?.bind(u)}this.__isAsync&&(i=Hl(i),o&&(o=Hl(o)),s&&(s=Hl(s)));const a=super.subscribe({next:o,error:i,complete:s});return n instanceof lt&&n.add(a),a}};function km(...e){}class ge{constructor({enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:r=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new we(!1),this.onMicrotaskEmpty=new we(!1),this.onStable=new we(!1),this.onError=new we(!1),typeof Zone>"u")throw new I(908,!1);Zone.assertZonePatched();const o=this;o._nesting=0,o._outer=o._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(o._inner=o._inner.fork(new Zone.TaskTrackingZoneSpec)),n&&Zone.longStackTraceZoneSpec&&(o._inner=o._inner.fork(Zone.longStackTraceZoneSpec)),o.shouldCoalesceEventChangeDetection=!r&&t,o.shouldCoalesceRunChangeDetection=r,o.lastRequestAnimationFrameId=-1,o.nativeRequestAnimationFrame=function iS(){const e="function"==typeof he.requestAnimationFrame;let n=he[e?"requestAnimationFrame":"setTimeout"],t=he[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&n&&t){const r=n[Zone.__symbol__("OriginalDelegate")];r&&(n=r);const o=t[Zone.__symbol__("OriginalDelegate")];o&&(t=o)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:t}}().nativeRequestAnimationFrame,function uS(e){const n=()=>{!function aS(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(he,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,zl(e),e.isCheckStableRunning=!0,Ul(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),zl(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,r,o,i,s,a)=>{if(function lS(e){return!(!Array.isArray(e)||1!==e.length)&&!0===e[0].data?.__ignore_ng_zone__}(a))return t.invokeTask(o,i,s,a);try{return Lm(e),t.invokeTask(o,i,s,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===i.type||e.shouldCoalesceRunChangeDetection)&&n(),Vm(e)}},onInvoke:(t,r,o,i,s,a,u)=>{try{return Lm(e),t.invoke(o,i,s,a,u)}finally{e.shouldCoalesceRunChangeDetection&&n(),Vm(e)}},onHasTask:(t,r,o,i)=>{t.hasTask(o,i),r===o&&("microTask"==i.change?(e._hasPendingMicrotasks=i.microTask,zl(e),Ul(e)):"macroTask"==i.change&&(e.hasPendingMacrotasks=i.macroTask))},onHandleError:(t,r,o,i)=>(t.handleError(o,i),e.runOutsideAngular(()=>e.onError.emit(i)),!1)})}(o)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!ge.isInAngularZone())throw new I(909,!1)}static assertNotInAngularZone(){if(ge.isInAngularZone())throw new I(909,!1)}run(n,t,r){return this._inner.run(n,t,r)}runTask(n,t,r,o){const i=this._inner,s=i.scheduleEventTask("NgZoneEvent: "+o,n,sS,km,km);try{return i.runTask(s,t,r)}finally{i.cancelTask(s)}}runGuarded(n,t,r){return this._inner.runGuarded(n,t,r)}runOutsideAngular(n){return this._outer.run(n)}}const sS={};function Ul(e){if(0==e._nesting&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function zl(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function Lm(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function Vm(e){e._nesting--,Ul(e)}class cS{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new we,this.onMicrotaskEmpty=new we,this.onStable=new we,this.onError=new we}run(n,t,r){return n.apply(t,r)}runGuarded(n,t,r){return n.apply(t,r)}runOutsideAngular(n){return n()}runTask(n,t,r,o){return n.apply(t,r)}}const jm=new P("",{providedIn:"root",factory:Bm});function Bm(){const e=R(ge);let n=!0;return function c0(...e){const n=$o(e),t=function t0(e,n){return"number"==typeof uc(e)?e.pop():n}(e,1/0),r=e;return r.length?1===r.length?dt(r[0]):Mr(t)(Ne(r,n)):Zt}(new Ee(o=>{n=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{o.next(n),o.complete()})}),new Ee(o=>{let i;e.runOutsideAngular(()=>{i=e.onStable.subscribe(()=>{ge.assertNotInAngularZone(),queueMicrotask(()=>{!n&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(n=!0,o.next(!0))})})});const s=e.onUnstable.subscribe(()=>{ge.assertInAngularZone(),n&&(n=!1,e.runOutsideAngular(()=>{o.next(!1)}))});return()=>{i.unsubscribe(),s.unsubscribe()}}).pipe(Yh()))}function Cn(e){return e instanceof Function?e():e}let Gl=(()=>{class e{constructor(){this.renderDepth=0,this.handler=null}begin(){this.handler?.validateBegin(),this.renderDepth++}end(){this.renderDepth--,0===this.renderDepth&&this.handler?.execute()}ngOnDestroy(){this.handler?.destroy(),this.handler=null}static#e=this.\u0275prov=V({token:e,providedIn:"root",factory:()=>new e})}return e})();function yi(e){for(;e;){e[Z]|=64;const n=ci(e);if(Sc(e)&&!n)return e;e=n}return null}const Gm=new P("",{providedIn:"root",factory:()=>!1});let wa=null;function Ym(e,n){return e[n]??Jm()}function Qm(e,n){const t=Jm();t.producerNode?.length&&(e[n]=wa,t.lView=e,wa=Xm())}const DS={...wp,consumerIsAlwaysLive:!0,consumerMarkedDirty:e=>{yi(e.lView)},lView:null};function Xm(){return Object.create(DS)}function Jm(){return wa??=Xm(),wa}const W={};function m(e){Km(ee(),w(),Je()+e,!1)}function Km(e,n,t,r){if(!r)if(3==(3&n[Z])){const i=e.preOrderCheckHooks;null!==i&&js(n,i,t)}else{const i=e.preOrderHooks;null!==i&&Bs(n,i,0,t)}ir(t)}function b(e,n=X.Default){const t=w();return null===t?k(e,n):hg($e(),t,U(e),n)}function ba(e,n,t,r,o,i,s,a,u,c,l){const d=n.blueprint.slice();return d[Ce]=o,d[Z]=140|r,(null!==c||e&&2048&e[Z])&&(d[Z]|=2048),Hp(d),d[_e]=d[Rr]=e,d[Ie]=t,d[Nr]=s||e&&e[Nr],d[q]=a||e&&e[q],d[Pn]=u||e&&e[Pn]||null,d[Ue]=i,d[Yo]=function S1(){return M1++}(),d[gn]=l,d[_p]=c,d[Me]=2==n.type?e[Me]:d,d}function so(e,n,t,r,o){let i=e.data[n];if(null===i)i=function ql(e,n,t,r,o){const i=Zp(),s=Fc(),u=e.data[n]=function TS(e,n,t,r,o,i){let s=n?n.injectorIndex:-1,a=0;return function Lr(){return null!==H.skipHydrationRootTNode}()&&(a|=128),{type:t,index:r,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:o,attrs:i,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:n,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,s?i:i&&i.parent,t,n,r,o);return null===e.firstChild&&(e.firstChild=u),null!==i&&(s?null==i.child&&null!==u.parent&&(i.child=u):null===i.next&&(i.next=u,u.prev=i)),u}(e,n,t,r,o),function MI(){return H.lFrame.inI18n}()&&(i.flags|=32);else if(64&i.type){i.type=t,i.value=r,i.attrs=o;const s=function ei(){const e=H.lFrame,n=e.currentTNode;return e.isParent?n:n.parent}();i.injectorIndex=null===s?-1:s.injectorIndex}return Kt(i,!0),i}function Di(e,n,t,r){if(0===t)return-1;const o=n.length;for(let i=0;iJ&&Km(e,n,J,!1),Jt(a?2:0,o);const c=a?i:null,l=Ac(c);try{null!==c&&(c.dirty=!1),t(r,o)}finally{xc(c,l)}}finally{a&&null===n[Qo]&&Qm(n,Qo),ir(s),Jt(a?3:1,o)}}function Wl(e,n,t){if(Mc(n)){const r=Mt(null);try{const i=n.directiveEnd;for(let s=n.directiveStart;snull;function ov(e,n,t,r){for(let o in e)if(e.hasOwnProperty(o)){t=null===t?{}:t;const i=e[o];null===r?iv(t,n,o,i):r.hasOwnProperty(o)&&iv(t,n,r[o],i)}return t}function iv(e,n,t,r){e.hasOwnProperty(t)?e[t].push(n,r):e[t]=[n,r]}function Dt(e,n,t,r,o,i,s,a){const u=st(n,t);let l,c=n.inputs;!a&&null!=c&&(l=c[r])?(td(e,t,l,r,o),rr(n)&&function NS(e,n){const t=gt(n,e);16&t[Z]||(t[Z]|=64)}(t,n.index)):3&n.type&&(r=function xS(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(r),o=null!=s?s(o,n.value||"",r):o,i.setProperty(u,r,o))}function Xl(e,n,t,r){if(Wp()){const o=null===r?null:{"":-1},i=function LS(e,n){const t=e.directiveRegistry;let r=null,o=null;if(t)for(let i=0;i0;){const t=e[--n];if("number"==typeof t&&t<0)return t}return 0})(s)!=a&&s.push(a),s.push(t,r,i)}}(e,n,r,Di(e,t,o.hostVars,W),o)}function US(e,n,t,r,o,i){const s=i[n];if(null!==s)for(let a=0;a{class e{constructor(){this.all=new Set,this.queue=new Map}create(t,r,o){const i=typeof Zone>"u"?null:Zone.current,s=function oI(e,n,t){const r=Object.create(iI);t&&(r.consumerAllowSignalWrites=!0),r.fn=e,r.schedule=n;const o=s=>{r.cleanupFn=s};return r.ref={notify:()=>Mp(r),run:()=>{if(r.dirty=!1,r.hasRun&&!Sp(r))return;r.hasRun=!0;const s=Ac(r);try{r.cleanupFn(),r.cleanupFn=Fp,r.fn(o)}finally{xc(r,s)}},cleanup:()=>r.cleanupFn()},r.ref}(t,c=>{this.all.has(c)&&this.queue.set(c,i)},o);let a;this.all.add(s),s.notify();const u=()=>{s.cleanup(),a?.(),this.all.delete(s),this.queue.delete(s)};return a=r?.onDestroy(u),{destroy:u}}flush(){if(0!==this.queue.size)for(const[t,r]of this.queue)this.queue.delete(t),r?r.run(()=>t.run()):t.run()}get isQueueEmpty(){return 0===this.queue.size}static#e=this.\u0275prov=V({token:e,providedIn:"root",factory:()=>new e})}return e})();function Ia(e,n,t){let r=t?e.styles:null,o=t?e.classes:null,i=0;if(null!==n)for(let s=0;s0){_v(e,1);const o=t.components;null!==o&&Dv(e,o,1)}}function Dv(e,n,t){for(let r=0;r-1&&(oa(n,r),qs(t,r))}this._attachedToViewContainer=!1}al(this._lView[N],this._lView)}onDestroy(n){!function Gp(e,n){if(256==(256&e[Z]))throw new I(911,!1);null===e[Fn]&&(e[Fn]=[]),e[Fn].push(n)}(this._lView,n)}markForCheck(){yi(this._cdRefInjectingView||this._lView)}detach(){this._lView[Z]&=-129}reattach(){this._lView[Z]|=128}detectChanges(){Ma(this._lView[N],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new I(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function $1(e,n){di(e,n,n[q],2,null,null)}(this._lView[N],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new I(902,!1);this._appRef=n}}class JS extends wi{constructor(n){super(n),this._view=n}detectChanges(){const n=this._view;Ma(n[N],n,n[Ie],!1)}checkNoChanges(){}get context(){return null}}class Cv extends Da{constructor(n){super(),this.ngModule=n}resolveComponentFactory(n){const t=K(n);return new bi(t,this.ngModule)}}function wv(e){const n=[];for(let t in e)e.hasOwnProperty(t)&&n.push({propName:e[t],templateName:t});return n}class eT{constructor(n,t){this.injector=n,this.parentInjector=t}get(n,t,r){r=Ts(r);const o=this.injector.get(n,Vl,r);return o!==Vl||t===Vl?o:this.parentInjector.get(n,t,r)}}class bi extends Sm{get inputs(){const n=this.componentDef,t=n.inputTransforms,r=wv(n.inputs);if(null!==t)for(const o of r)t.hasOwnProperty(o.propName)&&(o.transform=t[o.propName]);return r}get outputs(){return wv(this.componentDef.outputs)}constructor(n,t){super(),this.componentDef=n,this.ngModule=t,this.componentType=n.type,this.selector=function j0(e){return e.map(V0).join(",")}(n.selectors),this.ngContentSelectors=n.ngContentSelectors?n.ngContentSelectors:[],this.isBoundToModule=!!t}create(n,t,r,o){let i=(o=o||this.ngModule)instanceof vt?o:o?.injector;i&&null!==this.componentDef.getStandaloneInjector&&(i=this.componentDef.getStandaloneInjector(i)||i);const s=i?new eT(n,i):n,a=s.get(Am,null);if(null===a)throw new I(407,!1);const d={rendererFactory:a,sanitizer:s.get(QM,null),effectManager:s.get(gv,null),afterRenderEventManager:s.get(Gl,null)},g=a.createRenderer(null,this.componentDef),v=this.componentDef.selectors[0][0]||"div",_=r?function bS(e,n,t,r){const i=r.get(Gm,!1)||t===Vt.ShadowDom,s=e.selectRootElement(n,i);return function ES(e){rv(e)}(s),s}(g,r,this.componentDef.encapsulation,s):ra(g,v,function KS(e){const n=e.toLowerCase();return"svg"===n?"svg":"math"===n?"math":null}(v)),M=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let D=null;null!==_&&(D=Fl(_,s,!0));const O=Ql(0,null,null,1,0,null,null,null,null,null,null),j=ba(null,O,null,M,null,null,d,g,s,null,D);let Q,ke;Bc(j);try{const dn=this.componentDef;let Ir,wh=null;dn.findHostDirectiveDefs?(Ir=[],wh=new Map,dn.findHostDirectiveDefs(dn,Ir,wh),Ir.push(dn)):Ir=[dn];const gB=function nT(e,n){const t=e[N],r=J;return e[r]=n,so(t,r,2,"#host",null)}(j,_),mB=function rT(e,n,t,r,o,i,s){const a=o[N];!function oT(e,n,t,r){for(const o of e)n.mergedAttrs=Go(n.mergedAttrs,o.hostAttrs);null!==n.mergedAttrs&&(Ia(n,n.mergedAttrs,!0),null!==t&&nm(r,t,n))}(r,e,n,s);let u=null;null!==n&&(u=Fl(n,o[Pn]));const c=i.rendererFactory.createRenderer(n,t);let l=16;t.signals?l=4096:t.onPush&&(l=64);const d=ba(o,nv(t),null,l,o[e.index],e,i,c,null,null,u);return a.firstCreatePass&&Jl(a,e,r.length-1),Ea(o,d),o[e.index]=d}(gB,_,dn,Ir,j,d,g);ke=$p(O,J),_&&function sT(e,n,t,r){if(r)Ec(e,t,["ng-version",XM.full]);else{const{attrs:o,classes:i}=function B0(e){const n=[],t=[];let r=1,o=2;for(;r0&&tm(e,t,i.join(" "))}}(g,dn,_,r),void 0!==t&&function aT(e,n,t){const r=e.projection=[];for(let o=0;o=0;r--){const o=e[r];o.hostVars=n+=o.hostVars,o.hostAttrs=Go(o.hostAttrs,t=Go(t,o.hostAttrs))}}(r)}function Sa(e){return e===Yt?{}:e===te?[]:e}function lT(e,n){const t=e.viewQuery;e.viewQuery=t?(r,o)=>{n(r,o),t(r,o)}:n}function dT(e,n){const t=e.contentQueries;e.contentQueries=t?(r,o,i)=>{n(r,o,i),t(r,o,i)}:n}function fT(e,n){const t=e.hostBindings;e.hostBindings=t?(r,o)=>{n(r,o),t(r,o)}:n}function Ta(e){return!!rd(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function rd(e){return null!==e&&("function"==typeof e||"object"==typeof e)}function nn(e,n,t){return e[n]=t}function Ge(e,n,t){return!Object.is(e[n],t)&&(e[n]=t,!0)}function lr(e,n,t,r){const o=Ge(e,n,t);return Ge(e,n+1,r)||o}function Nt(e,n,t,r,o,i){const s=lr(e,n,t,r);return lr(e,n+2,o,i)||s}function uo(e,n,t,r){return Ge(e,Vr(),t)?n+G(t)+r:W}function A(e,n,t,r,o,i,s,a){const u=w(),c=ee(),l=e+J,d=c.firstCreatePass?function LT(e,n,t,r,o,i,s,a,u){const c=n.consts,l=so(n,e,4,s||null,Ln(c,a));Xl(n,t,l,Ln(c,u)),Vs(n,l);const d=l.tView=Ql(2,l,r,o,i,n.directiveRegistry,n.pipeRegistry,null,n.schemas,c,null);return null!==n.queries&&(n.queries.template(n,l),d.queries=n.queries.embeddedTView(l)),l}(l,c,u,n,t,r,o,i,s):c.data[l];Kt(d,!1);const g=Bv(c,u,d,e);Ls()&&sa(c,u,g,d),ze(g,u),Ea(u,u[l]=cv(g,u,g,d)),Os(d)&&Zl(c,u,d),null!=s&&Yl(u,d,a)}let Bv=function $v(e,n,t,r){return Vn(!0),n[q].createComment("")};function S(e,n,t){const r=w();return Ge(r,Vr(),n)&&Dt(ee(),De(),r,e,n,r[q],t,!1),S}function cd(e,n,t,r,o){const s=o?"class":"style";td(e,t,n.inputs[s],s,r)}function h(e,n,t,r){const o=w(),i=ee(),s=J+e,a=o[q],u=i.firstCreatePass?function HT(e,n,t,r,o,i){const s=n.consts,u=so(n,e,2,r,Ln(s,o));return Xl(n,t,u,Ln(s,i)),null!==u.attrs&&Ia(u,u.attrs,!1),null!==u.mergedAttrs&&Ia(u,u.mergedAttrs,!0),null!==n.queries&&n.queries.elementStart(n,u),u}(s,i,o,n,t,r):i.data[s],c=Hv(i,o,u,a,n,e);o[s]=c;const l=Os(u);return Kt(u,!0),nm(a,c,u),32!=(32&u.flags)&&Ls()&&sa(i,o,c,u),0===function vI(){return H.lFrame.elementDepthCount}()&&ze(c,o),function _I(){H.lFrame.elementDepthCount++}(),l&&(Zl(i,o,u),Wl(i,u,o)),null!==r&&Yl(o,u),h}function f(){let e=$e();Fc()?kc():(e=e.parent,Kt(e,!1));const n=e;(function DI(e){return H.skipHydrationRootTNode===e})(n)&&function EI(){H.skipHydrationRootTNode=null}(),function yI(){H.lFrame.elementDepthCount--}();const t=ee();return t.firstCreatePass&&(Vs(t,e),Mc(e)&&t.queries.elementEnd(e)),null!=n.classesWithoutHost&&function jI(e){return 0!=(8&e.flags)}(n)&&cd(t,n,w(),n.classesWithoutHost,!0),null!=n.stylesWithoutHost&&function BI(e){return 0!=(16&e.flags)}(n)&&cd(t,n,w(),n.stylesWithoutHost,!1),f}function Pe(e,n,t,r){return h(e,n,t,r),f(),Pe}let Hv=(e,n,t,r,o,i)=>(Vn(!0),ra(r,o,function og(){return H.lFrame.currentNamespace}()));function $n(e,n,t){const r=w(),o=ee(),i=e+J,s=o.firstCreatePass?function GT(e,n,t,r,o){const i=n.consts,s=Ln(i,r),a=so(n,e,8,"ng-container",s);return null!==s&&Ia(a,s,!0),Xl(n,t,a,Ln(i,o)),null!==n.queries&&n.queries.elementStart(n,a),a}(i,o,r,n,t):o.data[i];Kt(s,!0);const a=zv(o,r,s,e);return r[i]=a,Ls()&&sa(o,r,a,s),ze(a,r),Os(s)&&(Zl(o,r,s),Wl(o,s,r)),null!=t&&Yl(r,s),$n}function Hn(){let e=$e();const n=ee();return Fc()?kc():(e=e.parent,Kt(e,!1)),n.firstCreatePass&&(Vs(n,e),Mc(e)&&n.queries.elementEnd(e)),Hn}let zv=(e,n,t,r)=>(Vn(!0),sl(n[q],""));function Rt(){return w()}function Ti(e){return!!e&&"function"==typeof e.then}function Gv(e){return!!e&&"function"==typeof e.subscribe}function re(e,n,t,r){const o=w(),i=ee(),s=$e();return function Wv(e,n,t,r,o,i,s){const a=Os(r),c=e.firstCreatePass&&function fv(e){return e.cleanup||(e.cleanup=[])}(e),l=n[Ie],d=function dv(e){return e[xr]||(e[xr]=[])}(n);let g=!0;if(3&r.type||s){const y=st(r,n),C=s?s(y):y,M=d.length,D=s?j=>s(pe(j[r.index])):r.index;let O=null;if(!s&&a&&(O=function ZT(e,n,t,r){const o=e.cleanup;if(null!=o)for(let i=0;iu?a[u]:null}"string"==typeof s&&(i+=2)}return null}(e,n,o,r.index)),null!==O)(O.__ngLastListenerFn__||O).__ngNextListenerFn__=i,O.__ngLastListenerFn__=i,g=!1;else{i=Yv(r,n,l,i,!1);const j=t.listen(C,o,i);d.push(i,j),c&&c.push(o,D,M,M+1)}}else i=Yv(r,n,l,i,!1);const v=r.outputs;let _;if(g&&null!==v&&(_=v[o])){const y=_.length;if(y)for(let C=0;C-1?gt(e.index,n):n);let u=Zv(n,t,r,s),c=i.__ngNextListenerFn__;for(;c;)u=Zv(n,t,c,s)&&u,c=c.__ngNextListenerFn__;return o&&!1===u&&s.preventDefault(),u}}function E(e=1){return function xI(e){return(H.lFrame.contextLView=function NI(e,n){for(;e>0;)n=n[Rr],e--;return n}(e,H.lFrame.contextLView))[Ie]}(e)}function F(e,n,t,r,o){const i=w(),s=uo(i,n,t,r);return s!==W&&Dt(ee(),De(),i,e,s,i[q],o,!1),F}function Oa(e,n){return e<<17|n<<2}function Un(e){return e>>17&32767}function ld(e){return 2|e}function dr(e){return(131068&e)>>2}function dd(e,n){return-131069&e|n<<2}function fd(e){return 1|e}function i_(e,n,t,r,o){const i=e[t+1],s=null===n;let a=r?Un(i):dr(i),u=!1;for(;0!==a&&(!1===u||s);){const l=e[a+1];rA(e[a],n)&&(u=!0,e[a+1]=r?fd(l):ld(l)),a=r?Un(l):dr(l)}u&&(e[t+1]=r?ld(i):fd(i))}function rA(e,n){return null===e||null==n||(Array.isArray(e)?e[1]:e)===n||!(!Array.isArray(e)||"string"!=typeof n)&&qr(e,n)>=0}function Pa(e,n){return function Ht(e,n,t,r){const o=w(),i=ee(),s=function vn(e){const n=H.lFrame,t=n.bindingIndex;return n.bindingIndex=n.bindingIndex+e,t}(2);i.firstUpdatePass&&function p_(e,n,t,r){const o=e.data;if(null===o[t+1]){const i=o[Je()],s=function h_(e,n){return n>=e.expandoStartIndex}(e,t);(function __(e,n){return 0!=(e.flags&(n?8:16))})(i,r)&&null===n&&!s&&(n=!1),n=function fA(e,n,t,r){const o=function Vc(e){const n=H.lFrame.currentDirectiveIndex;return-1===n?null:e[n]}(e);let i=r?n.residualClasses:n.residualStyles;if(null===o)0===(r?n.classBindings:n.styleBindings)&&(t=Ai(t=hd(null,e,n,t,r),n.attrs,r),i=null);else{const s=n.directiveStylingLast;if(-1===s||e[s]!==o)if(t=hd(o,e,n,t,r),null===i){let u=function hA(e,n,t){const r=t?n.classBindings:n.styleBindings;if(0!==dr(r))return e[Un(r)]}(e,n,r);void 0!==u&&Array.isArray(u)&&(u=hd(null,e,n,u[1],r),u=Ai(u,n.attrs,r),function pA(e,n,t,r){e[Un(t?n.classBindings:n.styleBindings)]=r}(e,n,r,u))}else i=function gA(e,n,t){let r;const o=n.directiveEnd;for(let i=1+n.directiveStylingLast;i0)&&(c=!0)):l=t,o)if(0!==u){const g=Un(e[a+1]);e[r+1]=Oa(g,a),0!==g&&(e[g+1]=dd(e[g+1],r)),e[a+1]=function KT(e,n){return 131071&e|n<<17}(e[a+1],r)}else e[r+1]=Oa(a,0),0!==a&&(e[a+1]=dd(e[a+1],r)),a=r;else e[r+1]=Oa(u,0),0===a?a=r:e[u+1]=dd(e[u+1],r),u=r;c&&(e[r+1]=ld(e[r+1])),i_(e,l,r,!0),i_(e,l,r,!1),function nA(e,n,t,r,o){const i=o?e.residualClasses:e.residualStyles;null!=i&&"string"==typeof n&&qr(i,n)>=0&&(t[r+1]=fd(t[r+1]))}(n,l,e,r,i),s=Oa(a,u),i?n.classBindings=s:n.styleBindings=s}(o,i,n,t,s,r)}}(i,e,s,r),n!==W&&Ge(o,s,n)&&function m_(e,n,t,r,o,i,s,a){if(!(3&n.type))return;const u=e.data,c=u[a+1],l=function eA(e){return 1==(1&e)}(c)?v_(u,n,t,o,dr(c),s):void 0;Fa(l)||(Fa(i)||function JT(e){return 2==(2&e)}(c)&&(i=v_(u,null,t,o,a,s)),function X1(e,n,t,r,o){if(n)o?e.addClass(t,r):e.removeClass(t,r);else{let i=-1===r.indexOf("-")?void 0:jn.DashCase;null==o?e.removeStyle(t,r,i):("string"==typeof o&&o.endsWith("!important")&&(o=o.slice(0,-10),i|=jn.Important),e.setStyle(t,r,o,i))}}(r,s,ks(Je(),t),o,i))}(i,i.data[Je()],o,o[q],e,o[s+1]=function yA(e,n){return null==e||""===e||("string"==typeof n?e+=n:"object"==typeof e&&(e=Re(Bn(e)))),e}(n,t),r,s)}(e,n,null,!0),Pa}function hd(e,n,t,r,o){let i=null;const s=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const u=e[o],c=Array.isArray(u),l=c?u[1]:u,d=null===l;let g=t[o+1];g===W&&(g=d?te:void 0);let v=d?Qc(g,r):l===r?g:void 0;if(c&&!Fa(v)&&(v=Qc(u,r)),Fa(v)&&(a=v,s))return a;const _=e[o+1];o=s?Un(_):dr(_)}if(null!==n){let u=i?n.residualClasses:n.residualStyles;null!=u&&(a=Qc(u,r))}return a}function Fa(e){return void 0!==e}function p(e,n=""){const t=w(),r=ee(),o=e+J,i=r.firstCreatePass?so(r,o,1,n,null):r.data[o],s=y_(r,t,i,n,e);t[o]=s,Ls()&&sa(r,t,s,i),Kt(i,!1)}let y_=(e,n,t,r,o)=>(Vn(!0),function na(e,n){return e.createText(n)}(n[q],r));function T(e){return x("",e,""),T}function x(e,n,t){const r=w(),o=uo(r,e,n,t);return o!==W&&function wn(e,n,t){const r=ks(n,e);!function Ug(e,n,t){e.setValue(n,t)}(e[q],r,t)}(r,Je(),o),x}const yo="en-US";let $_=yo;function md(e,n,t,r,o){if(e=U(e),Array.isArray(e))for(let i=0;i>20;if(ur(e)||!e.multi){const v=new ti(c,o,b),_=_d(u,n,o?l:l+g,d);-1===_?(Wc(Hs(a,s),i,u),vd(i,e,n.length),n.push(u),a.directiveStart++,a.directiveEnd++,o&&(a.providerIndexes+=1048576),t.push(v),s.push(v)):(t[_]=v,s[_]=v)}else{const v=_d(u,n,l+g,d),_=_d(u,n,l,l+g),C=_>=0&&t[_];if(o&&!C||!o&&!(v>=0&&t[v])){Wc(Hs(a,s),i,u);const M=function Bx(e,n,t,r,o){const i=new ti(e,t,b);return i.multi=[],i.index=n,i.componentProviders=0,fy(i,o,r&&!t),i}(o?jx:Vx,t.length,o,r,c);!o&&C&&(t[_].providerFactory=M),vd(i,e,n.length,0),n.push(u),a.directiveStart++,a.directiveEnd++,o&&(a.providerIndexes+=1048576),t.push(M),s.push(M)}else vd(i,e,v>-1?v:_,fy(t[o?_:v],c,!o&&r));!o&&r&&C&&t[_].componentProviders++}}}function vd(e,n,t,r){const o=ur(n),i=function SM(e){return!!e.useClass}(n);if(o||i){const u=(i?U(n.useClass):n).prototype.ngOnDestroy;if(u){const c=e.destroyHooks||(e.destroyHooks=[]);if(!o&&n.multi){const l=c.indexOf(t);-1===l?c.push(t,[r,u]):c[l+1].push(r,u)}else c.push(t,u)}}}function fy(e,n,t){return t&&e.componentProviders++,e.multi.push(n)-1}function _d(e,n,t,r){for(let o=t;o{t.providersResolver=(r,o)=>function Lx(e,n,t){const r=ee();if(r.firstCreatePass){const o=$t(e);md(t,r.data,r.blueprint,o,!0),md(n,r.data,r.blueprint,o,!1)}}(r,o?o(e):e,n)}}class hr{}class hy{}class Dd extends hr{constructor(n,t,r){super(),this._parent=t,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new Cv(this);const o=pt(n);this._bootstrapComponents=Cn(o.bootstrap),this._r3Injector=Pm(n,t,[{provide:hr,useValue:this},{provide:Da,useValue:this.componentFactoryResolver},...r],Re(n),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(n)}get injector(){return this._r3Injector}destroy(){const n=this._r3Injector;!n.destroyed&&n.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}}class Cd extends hy{constructor(n){super(),this.moduleType=n}create(n){return new Dd(this.moduleType,n,[])}}class py extends hr{constructor(n){super(),this.componentFactoryResolver=new Cv(this),this.instance=null;const t=new Kr([...n.providers,{provide:hr,useValue:this},{provide:Da,useValue:this.componentFactoryResolver}],n.parent||ha(),n.debugName,new Set(["environment"]));this.injector=t,n.runEnvironmentInitializers&&t.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(n){this.injector.onDestroy(n)}}function wd(e,n,t=null){return new py({providers:e,parent:n,debugName:t,runEnvironmentInitializers:!0}).injector}let Ux=(()=>{class e{constructor(t){this._injector=t,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(t){if(!t.standalone)return null;if(!this.cachedInjectors.has(t)){const r=vm(0,t.type),o=r.length>0?wd([r],this._injector,`Standalone[${t.type.name}]`):null;this.cachedInjectors.set(t,o)}return this.cachedInjectors.get(t)}ngOnDestroy(){try{for(const t of this.cachedInjectors.values())null!==t&&t.destroy()}finally{this.cachedInjectors.clear()}}static#e=this.\u0275prov=V({token:e,providedIn:"environment",factory:()=>new e(k(vt))})}return e})();function gy(e){e.getStandaloneInjector=n=>n.get(Ux).getOrCreateStandaloneInjector(e)}function Fi(e,n,t,r){return by(w(),Xe(),e,n,t,r)}function wy(e,n,t,r,o,i,s){return function My(e,n,t,r,o,i,s,a,u){const c=n+t;return Nt(e,c,o,i,s,a)?nn(e,c+4,u?r.call(u,o,i,s,a):r(o,i,s,a)):ki(e,c+4)}(w(),Xe(),e,n,t,r,o,i,s)}function Ba(e,n,t,r,o,i,s,a){const u=Xe()+e,c=w(),l=Nt(c,u,t,r,o,i);return Ge(c,u+4,s)||l?nn(c,u+5,a?n.call(a,t,r,o,i,s):n(t,r,o,i,s)):function Ei(e,n){return e[n]}(c,u+5)}function ki(e,n){const t=e[n];return t===W?void 0:t}function by(e,n,t,r,o,i){const s=n+t;return Ge(e,s,o)?nn(e,s+1,i?r.call(i,o):r(o)):ki(e,s+1)}function $a(e,n){const t=ee();let r;const o=e+J;t.firstCreatePass?(r=function iN(e,n){if(n)for(let t=n.length-1;t>=0;t--){const r=n[t];if(e===r.name)return r}}(n,t.pipeRegistry),t.data[o]=r,r.onDestroy&&(t.destroyHooks??=[]).push(o,r.onDestroy)):r=t.data[o];const i=r.factory||(r.factory=or(r.type)),a=ot(b);try{const u=$s(!1),c=i();return $s(u),function BT(e,n,t,r){t>=e.data.length&&(e.data[t]=null,e.blueprint[t]=null),n[t]=r}(t,w(),o,c),c}finally{ot(a)}}function Ha(e,n,t){const r=e+J,o=w(),i=function kr(e,n){return e[n]}(o,r);return function Li(e,n){return e[N].data[n].pure}(o,r)?by(o,Xe(),n,i.transform,t,i):i.transform(t)}function fN(e,n,t,r=!0){const o=n[N];if(function U1(e,n,t,r){const o=je+r,i=t.length;r>0&&(t[o-1][Bt]=n),r{class e{static#e=this.__NG_ELEMENT_ID__=gN}return e})();const hN=bn,pN=class extends hN{constructor(n,t,r){super(),this._declarationLView=n,this._declarationTContainer=t,this.elementRef=r}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(n,t){return this.createEmbeddedViewImpl(n,t)}createEmbeddedViewImpl(n,t,r){const o=function dN(e,n,t,r){const o=n.tView,a=ba(e,o,t,4096&e[Z]?4096:16,null,n,null,null,null,r?.injector??null,r?.hydrationInfo??null);a[Zo]=e[n.index];const c=e[Qt];return null!==c&&(a[Qt]=c.createEmbeddedView(o)),nd(o,a,t),a}(this._declarationLView,this._declarationTContainer,n,{injector:t,hydrationInfo:r});return new wi(o)}};function gN(){return function Ua(e,n){return 4&e.type?new pN(n,e,ro(e,n)):null}($e(),w())}let zt=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=CN}return e})();function CN(){return function Py(e,n){let t;const r=n[e.index];return Qe(r)?t=r:(t=cv(r,n,null,e),n[e.index]=t,Ea(n,t)),Fy(t,n,e,r),new Ry(t,e,n)}($e(),w())}const wN=zt,Ry=class extends wN{constructor(n,t,r){super(),this._lContainer=n,this._hostTNode=t,this._hostLView=r}get element(){return ro(this._hostTNode,this._hostLView)}get injector(){return new Ke(this._hostTNode,this._hostLView)}get parentInjector(){const n=Us(this._hostTNode,this._hostLView);if(zc(n)){const t=ri(n,this._hostLView),r=ni(n);return new Ke(t[N].data[r+8],t)}return new Ke(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){const t=Oy(this._lContainer);return null!==t&&t[n]||null}get length(){return this._lContainer.length-je}createEmbeddedView(n,t,r){let o,i;"number"==typeof r?o=r:null!=r&&(o=r.index,i=r.injector);const a=n.createEmbeddedViewImpl(t||{},i,null);return this.insertImpl(a,o,false),a}createComponent(n,t,r,o,i){const s=n&&!function ii(e){return"function"==typeof e}(n);let a;if(s)a=t;else{const y=t||{};a=y.index,r=y.injector,o=y.projectableNodes,i=y.environmentInjector||y.ngModuleRef}const u=s?n:new bi(K(n)),c=r||this.parentInjector;if(!i&&null==u.ngModule){const C=(s?c:this.parentInjector).get(vt,null);C&&(i=C)}K(u.componentType??{});const v=u.create(c,o,null,i);return this.insertImpl(v.hostView,a,false),v}insert(n,t){return this.insertImpl(n,t,!1)}insertImpl(n,t,r){const o=n._lView;if(function pI(e){return Qe(e[_e])}(o)){const u=this.indexOf(n);if(-1!==u)this.detach(u);else{const c=o[_e],l=new Ry(c,c[Ue],c[_e]);l.detach(l.indexOf(n))}}const s=this._adjustIndex(t),a=this._lContainer;return fN(a,o,s,!r),n.attachToViewContainerRef(),yg(Id(a),s,n),n}move(n,t){return this.insert(n,t)}indexOf(n){const t=Oy(this._lContainer);return null!==t?t.indexOf(n):-1}remove(n){const t=this._adjustIndex(n,-1),r=oa(this._lContainer,t);r&&(qs(Id(this._lContainer),t),al(r[N],r))}detach(n){const t=this._adjustIndex(n,-1),r=oa(this._lContainer,t);return r&&null!=qs(Id(this._lContainer),t)?new wi(r):null}_adjustIndex(n,t=0){return n??this.length+t}};function Oy(e){return e[8]}function Id(e){return e[8]||(e[8]=[])}let Fy=function ky(e,n,t,r){if(e[Xt])return;let o;o=8&t.type?pe(r):function bN(e,n){const t=e[q],r=t.createComment(""),o=st(n,e);return ar(t,ia(t,o),r,function Z1(e,n){return e.nextSibling(n)}(t,o),!1),r}(n,t),e[Xt]=o};const kd=new P("Application Initializer");let Ld=(()=>{class e{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,r)=>{this.resolve=t,this.reject=r}),this.appInits=R(kd,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const t=[];for(const o of this.appInits){const i=o();if(Ti(i))t.push(i);else if(Gv(i)){const s=new Promise((a,u)=>{i.subscribe({complete:a,error:u})});t.push(s)}}const r=()=>{this.done=!0,this.resolve()};Promise.all(t).then(()=>{r()}).catch(o=>{this.reject(o)}),0===t.length&&r(),this.initialized=!0}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),aD=(()=>{class e{log(t){console.log(t)}warn(t){console.warn(t)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();const En=new P("LocaleId",{providedIn:"root",factory:()=>R(En,X.Optional|X.SkipSelf)||function eR(){return typeof $localize<"u"&&$localize.locale||yo}()});let qa=(()=>{class e{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new bt(!1)}add(){this.hasPendingTasks.next(!0);const t=this.taskId++;return this.pendingTasks.add(t),t}remove(t){this.pendingTasks.delete(t),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();class rR{constructor(n,t){this.ngModuleFactory=n,this.componentFactories=t}}let uD=(()=>{class e{compileModuleSync(t){return new Cd(t)}compileModuleAsync(t){return Promise.resolve(this.compileModuleSync(t))}compileModuleAndAllComponentsSync(t){const r=this.compileModuleSync(t),i=Cn(pt(t).declarations).reduce((s,a)=>{const u=K(a);return u&&s.push(new bi(u)),s},[]);return new rR(r,i)}compileModuleAndAllComponentsAsync(t){return Promise.resolve(this.compileModuleAndAllComponentsSync(t))}clearCache(){}clearCacheFor(t){}getModuleId(t){}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const fD=new P(""),Za=new P("");let Hd,Bd=(()=>{class e{constructor(t,r,o){this._ngZone=t,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Hd||(function IR(e){Hd=e}(o),o.addToWindow(r)),this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{ge.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(t)||(clearTimeout(r.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,r,o){let i=-1;r&&r>0&&(i=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==i),t(this._didWork,this.getPendingTasks())},r)),this._callbacks.push({doneCb:t,timeoutId:i,updateCb:o})}whenStable(t,r,o){if(o&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,r,o),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(t){this.registry.registerApplication(t,this)}unregisterApplication(t){this.registry.unregisterApplication(t)}findProviders(t,r,o){return[]}static#e=this.\u0275fac=function(r){return new(r||e)(k(ge),k($d),k(Za))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})(),$d=(()=>{class e{constructor(){this._applications=new Map}registerApplication(t,r){this._applications.set(t,r)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,r=!0){return Hd?.findTestabilityInTree(this,t,r)??null}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})(),zn=null;const hD=new P("AllowMultipleToken"),Ud=new P("PlatformDestroyListeners"),zd=new P("appBootstrapListener");class gD{constructor(n,t){this.name=n,this.token=t}}function vD(e,n,t=[]){const r=`Platform: ${n}`,o=new P(r);return(i=[])=>{let s=Gd();if(!s||s.injector.get(hD,!1)){const a=[...t,...i,{provide:o,useValue:!0}];e?e(a):function TR(e){if(zn&&!zn.get(hD,!1))throw new I(400,!1);(function pD(){!function K0(e){Np=e}(()=>{throw new I(600,!1)})})(),zn=e;const n=e.get(yD);(function mD(e){e.get(wm,null)?.forEach(t=>t())})(e)}(function _D(e=[],n){return yt.create({name:n,providers:[{provide:El,useValue:"platform"},{provide:Ud,useValue:new Set([()=>zn=null])},...e]})}(a,r))}return function xR(e){const n=Gd();if(!n)throw new I(401,!1);return n}()}}function Gd(){return zn?.get(yD)??null}let yD=(()=>{class e{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,r){const o=function NR(e="zone.js",n){return"noop"===e?new cS:"zone.js"===e?new ge(n):e}(r?.ngZone,function DD(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}({eventCoalescing:r?.ngZoneEventCoalescing,runCoalescing:r?.ngZoneRunCoalescing}));return o.run(()=>{const i=function Hx(e,n,t){return new Dd(e,n,t)}(t.moduleType,this.injector,function ID(e){return[{provide:ge,useFactory:e},{provide:gi,multi:!0,useFactory:()=>{const n=R(OR,{optional:!0});return()=>n.initialize()}},{provide:ED,useFactory:RR},{provide:jm,useFactory:Bm}]}(()=>o)),s=i.injector.get(Dn,null);return o.runOutsideAngular(()=>{const a=o.onError.subscribe({next:u=>{s.handleError(u)}});i.onDestroy(()=>{Ya(this._modules,i),a.unsubscribe()})}),function CD(e,n,t){try{const r=t();return Ti(r)?r.catch(o=>{throw n.runOutsideAngular(()=>e.handleError(o)),o}):r}catch(r){throw n.runOutsideAngular(()=>e.handleError(r)),r}}(s,o,()=>{const a=i.injector.get(Ld);return a.runInitializers(),a.donePromise.then(()=>(function H_(e){Et(e,"Expected localeId to be defined"),"string"==typeof e&&($_=e.toLowerCase().replace(/_/g,"-"))}(i.injector.get(En,yo)||yo),this._moduleDoBootstrap(i),i))})})}bootstrapModule(t,r=[]){const o=wD({},r);return function MR(e,n,t){const r=new Cd(t);return Promise.resolve(r)}(0,0,t).then(i=>this.bootstrapModuleFactory(i,o))}_moduleDoBootstrap(t){const r=t.injector.get(wo);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(o=>r.bootstrap(o));else{if(!t.instance.ngDoBootstrap)throw new I(-403,!1);t.instance.ngDoBootstrap(r)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new I(404,!1);this._modules.slice().forEach(r=>r.destroy()),this._destroyListeners.forEach(r=>r());const t=this._injector.get(Ud,null);t&&(t.forEach(r=>r()),t.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}static#e=this.\u0275fac=function(r){return new(r||e)(k(yt))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();function wD(e,n){return Array.isArray(n)?n.reduce(wD,e):{...e,...n}}let wo=(()=>{class e{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=R(ED),this.zoneIsStable=R(jm),this.componentTypes=[],this.components=[],this.isStable=R(qa).hasPendingTasks.pipe(Lt(t=>t?B(!1):this.zoneIsStable),function l0(e,n=Nn){return e=e??d0,xe((t,r)=>{let o,i=!0;t.subscribe(Te(r,s=>{const a=n(s);(i||!e(o,a))&&(i=!1,o=a,r.next(s))}))})}(),Yh()),this._injector=R(vt)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(t,r){const o=t instanceof Sm;if(!this._injector.get(Ld).done)throw!o&&function Ar(e){const n=K(e)||Ve(e)||Ye(e);return null!==n&&n.standalone}(t),new I(405,!1);let s;s=o?t:this._injector.get(Da).resolveComponentFactory(t),this.componentTypes.push(s.componentType);const a=function SR(e){return e.isBoundToModule}(s)?void 0:this._injector.get(hr),c=s.create(yt.NULL,[],r||s.selector,a),l=c.location.nativeElement,d=c.injector.get(fD,null);return d?.registerApplication(l),c.onDestroy(()=>{this.detachView(c.hostView),Ya(this.components,c),d?.unregisterApplication(l)}),this._loadComponent(c),c}tick(){if(this._runningTick)throw new I(101,!1);try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this.internalErrorHandler(t)}finally{this._runningTick=!1}}attachView(t){const r=t;this._views.push(r),r.attachToAppRef(this)}detachView(t){const r=t;Ya(this._views,r),r.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t);const r=this._injector.get(zd,[]);r.push(...this._bootstrapListeners),r.forEach(o=>o(t))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(t=>t()),this._views.slice().forEach(t=>t.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(t){return this._destroyListeners.push(t),()=>Ya(this._destroyListeners,t)}destroy(){if(this._destroyed)throw new I(406,!1);const t=this._injector;t.destroy&&!t.destroyed&&t.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Ya(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}const ED=new P("",{providedIn:"root",factory:()=>R(Dn).handleError.bind(void 0)});function RR(){const e=R(ge),n=R(Dn);return t=>e.runOutsideAngular(()=>n.handleError(t))}let OR=(()=>{class e{constructor(){this.zone=R(ge),this.applicationRef=R(wo)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();let Qa=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=FR}return e})();function FR(e){return function kR(e,n,t){if(rr(e)&&!t){const r=gt(e.index,n);return new wi(r,r)}return 47&e.type?new wi(n[Me],n):null}($e(),w(),16==(16&e))}class AD{constructor(){}supports(n){return Ta(n)}create(n){return new HR(n)}}const $R=(e,n)=>n;class HR{constructor(n){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=n||$R}forEachItem(n){let t;for(t=this._itHead;null!==t;t=t._next)n(t)}forEachOperation(n){let t=this._itHead,r=this._removalsHead,o=0,i=null;for(;t||r;){const s=!r||t&&t.currentIndex{s=this._trackByFn(o,a),null!==t&&Object.is(t.trackById,s)?(r&&(t=this._verifyReinsertion(t,a,s,o)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,s,o),r=!0),t=t._next,o++}),this.length=o;return this._truncate(t),this.collection=n,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let n;for(n=this._previousItHead=this._itHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._additionsHead;null!==n;n=n._nextAdded)n.previousIndex=n.currentIndex;for(this._additionsHead=this._additionsTail=null,n=this._movesHead;null!==n;n=n._nextMoved)n.previousIndex=n.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(n,t,r,o){let i;return null===n?i=this._itTail:(i=n._prev,this._remove(n)),null!==(n=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._reinsertAfter(n,i,o)):null!==(n=null===this._linkedRecords?null:this._linkedRecords.get(r,o))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._moveAfter(n,i,o)):n=this._addAfter(new UR(t,r),i,o),n}_verifyReinsertion(n,t,r,o){let i=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null);return null!==i?n=this._reinsertAfter(i,n._prev,o):n.currentIndex!=o&&(n.currentIndex=o,this._addToMoves(n,o)),n}_truncate(n){for(;null!==n;){const t=n._next;this._addToRemovals(this._unlink(n)),n=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(n,t,r){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(n);const o=n._prevRemoved,i=n._nextRemoved;return null===o?this._removalsHead=i:o._nextRemoved=i,null===i?this._removalsTail=o:i._prevRemoved=o,this._insertAfter(n,t,r),this._addToMoves(n,r),n}_moveAfter(n,t,r){return this._unlink(n),this._insertAfter(n,t,r),this._addToMoves(n,r),n}_addAfter(n,t,r){return this._insertAfter(n,t,r),this._additionsTail=null===this._additionsTail?this._additionsHead=n:this._additionsTail._nextAdded=n,n}_insertAfter(n,t,r){const o=null===t?this._itHead:t._next;return n._next=o,n._prev=t,null===o?this._itTail=n:o._prev=n,null===t?this._itHead=n:t._next=n,null===this._linkedRecords&&(this._linkedRecords=new xD),this._linkedRecords.put(n),n.currentIndex=r,n}_remove(n){return this._addToRemovals(this._unlink(n))}_unlink(n){null!==this._linkedRecords&&this._linkedRecords.remove(n);const t=n._prev,r=n._next;return null===t?this._itHead=r:t._next=r,null===r?this._itTail=t:r._prev=t,n}_addToMoves(n,t){return n.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=n:this._movesTail._nextMoved=n),n}_addToRemovals(n){return null===this._unlinkedRecords&&(this._unlinkedRecords=new xD),this._unlinkedRecords.put(n),n.currentIndex=null,n._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=n,n._prevRemoved=null):(n._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=n),n}_addIdentityChange(n,t){return n.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=n:this._identityChangesTail._nextIdentityChange=n,n}}class UR{constructor(n,t){this.item=n,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class zR{constructor(){this._head=null,this._tail=null}add(n){null===this._head?(this._head=this._tail=n,n._nextDup=null,n._prevDup=null):(this._tail._nextDup=n,n._prevDup=this._tail,n._nextDup=null,this._tail=n)}get(n,t){let r;for(r=this._head;null!==r;r=r._nextDup)if((null===t||t<=r.currentIndex)&&Object.is(r.trackById,n))return r;return null}remove(n){const t=n._prevDup,r=n._nextDup;return null===t?this._head=r:t._nextDup=r,null===r?this._tail=t:r._prevDup=t,null===this._head}}class xD{constructor(){this.map=new Map}put(n){const t=n.trackById;let r=this.map.get(t);r||(r=new zR,this.map.set(t,r)),r.add(n)}get(n,t){const o=this.map.get(n);return o?o.get(n,t):null}remove(n){const t=n.trackById;return this.map.get(t).remove(n)&&this.map.delete(t),n}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function ND(e,n,t){const r=e.previousIndex;if(null===r)return r;let o=0;return t&&r{if(t&&t.key===o)this._maybeAddToChanges(t,r),this._appendAfter=t,t=t._next;else{const i=this._getOrCreateRecordForKey(o,r);t=this._insertBeforeOrAppend(t,i)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let r=t;null!==r;r=r._nextRemoved)r===this._mapHead&&(this._mapHead=null),this._records.delete(r.key),r._nextRemoved=r._next,r.previousValue=r.currentValue,r.currentValue=null,r._prev=null,r._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(n,t){if(n){const r=n._prev;return t._next=n,t._prev=r,n._prev=t,r&&(r._next=t),n===this._mapHead&&(this._mapHead=t),this._appendAfter=n,n}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(n,t){if(this._records.has(n)){const o=this._records.get(n);this._maybeAddToChanges(o,t);const i=o._prev,s=o._next;return i&&(i._next=s),s&&(s._prev=i),o._next=null,o._prev=null,o}const r=new qR(n);return this._records.set(n,r),r.currentValue=t,this._addToAdditions(r),r}_reset(){if(this.isDirty){let n;for(this._previousMapHead=this._mapHead,n=this._previousMapHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._changesHead;null!==n;n=n._nextChanged)n.previousValue=n.currentValue;for(n=this._additionsHead;null!=n;n=n._nextAdded)n.previousValue=n.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(n,t){Object.is(t,n.currentValue)||(n.previousValue=n.currentValue,n.currentValue=t,this._addToChanges(n))}_addToAdditions(n){null===this._additionsHead?this._additionsHead=this._additionsTail=n:(this._additionsTail._nextAdded=n,this._additionsTail=n)}_addToChanges(n){null===this._changesHead?this._changesHead=this._changesTail=n:(this._changesTail._nextChanged=n,this._changesTail=n)}_forEach(n,t){n instanceof Map?n.forEach(t):Object.keys(n).forEach(r=>t(n[r],r))}}class qR{constructor(n){this.key=n,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function OD(){return new Ka([new AD])}let Ka=(()=>{class e{static#e=this.\u0275prov=V({token:e,providedIn:"root",factory:OD});constructor(t){this.factories=t}static create(t,r){if(null!=r){const o=r.factories.slice();t=t.concat(o)}return new e(t)}static extend(t){return{provide:e,useFactory:r=>e.create(t,r||OD()),deps:[[e,new Ys,new Zs]]}}find(t){const r=this.factories.find(o=>o.supports(t));if(null!=r)return r;throw new I(901,!1)}}return e})();function PD(){return new Bi([new RD])}let Bi=(()=>{class e{static#e=this.\u0275prov=V({token:e,providedIn:"root",factory:PD});constructor(t){this.factories=t}static create(t,r){if(r){const o=r.factories.slice();t=t.concat(o)}return new e(t)}static extend(t){return{provide:e,useFactory:r=>e.create(t,r||PD()),deps:[[e,new Ys,new Zs]]}}find(t){const r=this.factories.find(o=>o.supports(t));if(r)return r;throw new I(901,!1)}}return e})();const YR=vD(null,"core",[]);let QR=(()=>{class e{constructor(t){}static#e=this.\u0275fac=function(r){return new(r||e)(k(wo))};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({})}return e})();let Xd=null;function Gn(){return Xd}class lO{}const Ct=new P("DocumentToken");let Jd=(()=>{class e{historyGo(t){throw new Error("Not implemented")}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:function(){return R(fO)},providedIn:"platform"})}return e})();const dO=new P("Location Initialized");let fO=(()=>{class e extends Jd{constructor(){super(),this._doc=R(Ct),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Gn().getBaseHref(this._doc)}onPopState(t){const r=Gn().getGlobalEventTarget(this._doc,"window");return r.addEventListener("popstate",t,!1),()=>r.removeEventListener("popstate",t)}onHashChange(t){const r=Gn().getGlobalEventTarget(this._doc,"window");return r.addEventListener("hashchange",t,!1),()=>r.removeEventListener("hashchange",t)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(t){this._location.pathname=t}pushState(t,r,o){this._history.pushState(t,r,o)}replaceState(t,r,o){this._history.replaceState(t,r,o)}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:function(){return new e},providedIn:"platform"})}return e})();function Kd(e,n){if(0==e.length)return n;if(0==n.length)return e;let t=0;return e.endsWith("/")&&t++,n.startsWith("/")&&t++,2==t?e+n.substring(1):1==t?e+n:e+"/"+n}function UD(e){const n=e.match(/#|\?|$/),t=n&&n.index||e.length;return e.slice(0,t-("/"===e[t-1]?1:0))+e.slice(t)}function In(e){return e&&"?"!==e[0]?"?"+e:e}let gr=(()=>{class e{historyGo(t){throw new Error("Not implemented")}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:function(){return R(GD)},providedIn:"root"})}return e})();const zD=new P("appBaseHref");let GD=(()=>{class e extends gr{constructor(t,r){super(),this._platformLocation=t,this._removeListenerFns=[],this._baseHref=r??this._platformLocation.getBaseHrefFromDOM()??R(Ct).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return Kd(this._baseHref,t)}path(t=!1){const r=this._platformLocation.pathname+In(this._platformLocation.search),o=this._platformLocation.hash;return o&&t?`${r}${o}`:r}pushState(t,r,o,i){const s=this.prepareExternalUrl(o+In(i));this._platformLocation.pushState(t,r,s)}replaceState(t,r,o,i){const s=this.prepareExternalUrl(o+In(i));this._platformLocation.replaceState(t,r,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(t=0){this._platformLocation.historyGo?.(t)}static#e=this.\u0275fac=function(r){return new(r||e)(k(Jd),k(zD,8))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),hO=(()=>{class e extends gr{constructor(t,r){super(),this._platformLocation=t,this._baseHref="",this._removeListenerFns=[],null!=r&&(this._baseHref=r)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}path(t=!1){let r=this._platformLocation.hash;return null==r&&(r="#"),r.length>0?r.substring(1):r}prepareExternalUrl(t){const r=Kd(this._baseHref,t);return r.length>0?"#"+r:r}pushState(t,r,o,i){let s=this.prepareExternalUrl(o+In(i));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.pushState(t,r,s)}replaceState(t,r,o,i){let s=this.prepareExternalUrl(o+In(i));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.replaceState(t,r,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(t=0){this._platformLocation.historyGo?.(t)}static#e=this.\u0275fac=function(r){return new(r||e)(k(Jd),k(zD,8))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})(),ef=(()=>{class e{constructor(t){this._subject=new we,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=t;const r=this._locationStrategy.getBaseHref();this._basePath=function mO(e){if(new RegExp("^(https?:)?//").test(e)){const[,t]=e.split(/\/\/[^\/]+/);return t}return e}(UD(qD(r))),this._locationStrategy.onPopState(o=>{this._subject.emit({url:this.path(!0),pop:!0,state:o.state,type:o.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(t=!1){return this.normalize(this._locationStrategy.path(t))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(t,r=""){return this.path()==this.normalize(t+In(r))}normalize(t){return e.stripTrailingSlash(function gO(e,n){if(!e||!n.startsWith(e))return n;const t=n.substring(e.length);return""===t||["/",";","?","#"].includes(t[0])?t:n}(this._basePath,qD(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._locationStrategy.prepareExternalUrl(t)}go(t,r="",o=null){this._locationStrategy.pushState(o,"",t,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+In(r)),o)}replaceState(t,r="",o=null){this._locationStrategy.replaceState(o,"",t,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+In(r)),o)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(t=0){this._locationStrategy.historyGo?.(t)}onUrlChange(t){return this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(r=>{this._notifyUrlChangeListeners(r.url,r.state)})),()=>{const r=this._urlChangeListeners.indexOf(t);this._urlChangeListeners.splice(r,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(t="",r){this._urlChangeListeners.forEach(o=>o(t,r))}subscribe(t,r,o){return this._subject.subscribe({next:t,error:r,complete:o})}static#e=this.normalizeQueryParams=In;static#t=this.joinWithSlash=Kd;static#n=this.stripTrailingSlash=UD;static#r=this.\u0275fac=function(r){return new(r||e)(k(gr))};static#o=this.\u0275prov=V({token:e,factory:function(){return function pO(){return new ef(k(gr))}()},providedIn:"root"})}return e})();function qD(e){return e.replace(/\/index.html$/,"")}function tC(e,n){n=encodeURIComponent(n);for(const t of e.split(";")){const r=t.indexOf("="),[o,i]=-1==r?[t,""]:[t.slice(0,r),t.slice(r+1)];if(o.trim()===n)return decodeURIComponent(i)}return null}const ff=/\s+/,nC=[];let du=(()=>{class e{constructor(t,r,o,i){this._iterableDiffers=t,this._keyValueDiffers=r,this._ngEl=o,this._renderer=i,this.initialClasses=nC,this.stateMap=new Map}set klass(t){this.initialClasses=null!=t?t.trim().split(ff):nC}set ngClass(t){this.rawClass="string"==typeof t?t.trim().split(ff):t}ngDoCheck(){for(const r of this.initialClasses)this._updateState(r,!0);const t=this.rawClass;if(Array.isArray(t)||t instanceof Set)for(const r of t)this._updateState(r,!0);else if(null!=t)for(const r of Object.keys(t))this._updateState(r,!!t[r]);this._applyStateDiff()}_updateState(t,r){const o=this.stateMap.get(t);void 0!==o?(o.enabled!==r&&(o.changed=!0,o.enabled=r),o.touched=!0):this.stateMap.set(t,{enabled:r,changed:!0,touched:!0})}_applyStateDiff(){for(const t of this.stateMap){const r=t[0],o=t[1];o.changed?(this._toggleClass(r,o.enabled),o.changed=!1):o.touched||(o.enabled&&this._toggleClass(r,!1),this.stateMap.delete(r)),o.touched=!1}}_toggleClass(t,r){(t=t.trim()).length>0&&t.split(ff).forEach(o=>{r?this._renderer.addClass(this._ngEl.nativeElement,o):this._renderer.removeClass(this._ngEl.nativeElement,o)})}static#e=this.\u0275fac=function(r){return new(r||e)(b(Ka),b(Bi),b(_t),b(yn))};static#t=this.\u0275dir=z({type:e,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"},standalone:!0})}return e})();class tP{constructor(n,t,r,o){this.$implicit=n,this.ngForOf=t,this.index=r,this.count=o}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let fu=(()=>{class e{set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}constructor(t,r,o){this._viewContainer=t,this._template=r,this._differs=o,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;!this._differ&&t&&(this._differ=this._differs.find(t).create(this.ngForTrackBy))}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const r=this._viewContainer;t.forEachOperation((o,i,s)=>{if(null==o.previousIndex)r.createEmbeddedView(this._template,new tP(o.item,this._ngForOf,-1,-1),null===s?void 0:s);else if(null==s)r.remove(null===i?void 0:i);else if(null!==i){const a=r.get(i);r.move(a,s),oC(a,o)}});for(let o=0,i=r.length;o{oC(r.get(o.currentIndex),o)})}static ngTemplateContextGuard(t,r){return!0}static#e=this.\u0275fac=function(r){return new(r||e)(b(zt),b(bn),b(Ka))};static#t=this.\u0275dir=z({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0})}return e})();function oC(e,n){e.context.$implicit=n.item}let Ui=(()=>{class e{constructor(t,r){this._viewContainer=t,this._context=new nP,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){iC("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){iC("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,r){return!0}static#e=this.\u0275fac=function(r){return new(r||e)(b(zt),b(bn))};static#t=this.\u0275dir=z({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0})}return e})();class nP{constructor(){this.$implicit=null,this.ngIf=null}}function iC(e,n){if(n&&!n.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${Re(n)}'.`)}let SP=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({})}return e})();function cC(e){return"server"===e}let NP=(()=>{class e{static#e=this.\u0275prov=V({token:e,providedIn:"root",factory:()=>new RP(k(Ct),window)})}return e})();class RP{constructor(n,t){this.document=n,this.window=t,this.offset=()=>[0,0]}setOffset(n){this.offset=Array.isArray(n)?()=>n:n}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(n){this.supportsScrolling()&&this.window.scrollTo(n[0],n[1])}scrollToAnchor(n){if(!this.supportsScrolling())return;const t=function OP(e,n){const t=e.getElementById(n)||e.getElementsByName(n)[0];if(t)return t;if("function"==typeof e.createTreeWalker&&e.body&&"function"==typeof e.body.attachShadow){const r=e.createTreeWalker(e.body,NodeFilter.SHOW_ELEMENT);let o=r.currentNode;for(;o;){const i=o.shadowRoot;if(i){const s=i.getElementById(n)||i.querySelector(`[name="${n}"]`);if(s)return s}o=r.nextNode()}}return null}(this.document,n);t&&(this.scrollToElement(t),t.focus())}setHistoryScrollRestoration(n){this.supportsScrolling()&&(this.window.history.scrollRestoration=n)}scrollToElement(n){const t=n.getBoundingClientRect(),r=t.left+this.window.pageXOffset,o=t.top+this.window.pageYOffset,i=this.offset();this.window.scrollTo(r-i[0],o-i[1])}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch{return!1}}}class lC{}class nF extends lO{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class yf extends nF{static makeCurrent(){!function cO(e){Xd||(Xd=e)}(new yf)}onAndCancel(n,t,r){return n.addEventListener(t,r),()=>{n.removeEventListener(t,r)}}dispatchEvent(n,t){n.dispatchEvent(t)}remove(n){n.parentNode&&n.parentNode.removeChild(n)}createElement(n,t){return(t=t||this.getDefaultDocument()).createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,t){return"window"===t?window:"document"===t?n:"body"===t?n.body:null}getBaseHref(n){const t=function rF(){return Gi=Gi||document.querySelector("base"),Gi?Gi.getAttribute("href"):null}();return null==t?null:function oF(e){gu=gu||document.createElement("a"),gu.setAttribute("href",e);const n=gu.pathname;return"/"===n.charAt(0)?n:`/${n}`}(t)}resetBaseElement(){Gi=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return tC(document.cookie,n)}}let gu,Gi=null,sF=(()=>{class e{build(){return new XMLHttpRequest}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();const Df=new P("EventManagerPlugins");let gC=(()=>{class e{constructor(t,r){this._zone=r,this._eventNameToPlugin=new Map,t.forEach(o=>{o.manager=this}),this._plugins=t.slice().reverse()}addEventListener(t,r,o){return this._findPluginFor(r).addEventListener(t,r,o)}getZone(){return this._zone}_findPluginFor(t){let r=this._eventNameToPlugin.get(t);if(r)return r;if(r=this._plugins.find(i=>i.supports(t)),!r)throw new I(5101,!1);return this._eventNameToPlugin.set(t,r),r}static#e=this.\u0275fac=function(r){return new(r||e)(k(Df),k(ge))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();class mC{constructor(n){this._doc=n}}const Cf="ng-app-id";let vC=(()=>{class e{constructor(t,r,o,i={}){this.doc=t,this.appId=r,this.nonce=o,this.platformId=i,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=cC(i),this.resetHostNodes()}addStyles(t){for(const r of t)1===this.changeUsageCount(r,1)&&this.onStyleAdded(r)}removeStyles(t){for(const r of t)this.changeUsageCount(r,-1)<=0&&this.onStyleRemoved(r)}ngOnDestroy(){const t=this.styleNodesInDOM;t&&(t.forEach(r=>r.remove()),t.clear());for(const r of this.getAllStyles())this.onStyleRemoved(r);this.resetHostNodes()}addHost(t){this.hostNodes.add(t);for(const r of this.getAllStyles())this.addStyleToHost(t,r)}removeHost(t){this.hostNodes.delete(t)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(t){for(const r of this.hostNodes)this.addStyleToHost(r,t)}onStyleRemoved(t){const r=this.styleRef;r.get(t)?.elements?.forEach(o=>o.remove()),r.delete(t)}collectServerRenderedStyles(){const t=this.doc.head?.querySelectorAll(`style[${Cf}="${this.appId}"]`);if(t?.length){const r=new Map;return t.forEach(o=>{null!=o.textContent&&r.set(o.textContent,o)}),r}return null}changeUsageCount(t,r){const o=this.styleRef;if(o.has(t)){const i=o.get(t);return i.usage+=r,i.usage}return o.set(t,{usage:r,elements:[]}),r}getStyleElement(t,r){const o=this.styleNodesInDOM,i=o?.get(r);if(i?.parentNode===t)return o.delete(r),i.removeAttribute(Cf),i;{const s=this.doc.createElement("style");return this.nonce&&s.setAttribute("nonce",this.nonce),s.textContent=r,this.platformIsServer&&s.setAttribute(Cf,this.appId),s}}addStyleToHost(t,r){const o=this.getStyleElement(t,r);t.appendChild(o);const i=this.styleRef,s=i.get(r)?.elements;s?s.push(o):i.set(r,{elements:[o],usage:1})}resetHostNodes(){const t=this.hostNodes;t.clear(),t.add(this.doc.head)}static#e=this.\u0275fac=function(r){return new(r||e)(k(Ct),k(pa),k(bm,8),k(cr))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();const wf={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},bf=/%COMP%/g,lF=new P("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function yC(e,n){return n.map(t=>t.replace(bf,e))}let DC=(()=>{class e{constructor(t,r,o,i,s,a,u,c=null){this.eventManager=t,this.sharedStylesHost=r,this.appId=o,this.removeStylesOnCompDestroy=i,this.doc=s,this.platformId=a,this.ngZone=u,this.nonce=c,this.rendererByCompId=new Map,this.platformIsServer=cC(a),this.defaultRenderer=new Ef(t,s,u,this.platformIsServer)}createRenderer(t,r){if(!t||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===Vt.ShadowDom&&(r={...r,encapsulation:Vt.Emulated});const o=this.getOrCreateRenderer(t,r);return o instanceof wC?o.applyToHost(t):o instanceof If&&o.applyStyles(),o}getOrCreateRenderer(t,r){const o=this.rendererByCompId;let i=o.get(r.id);if(!i){const s=this.doc,a=this.ngZone,u=this.eventManager,c=this.sharedStylesHost,l=this.removeStylesOnCompDestroy,d=this.platformIsServer;switch(r.encapsulation){case Vt.Emulated:i=new wC(u,c,r,this.appId,l,s,a,d);break;case Vt.ShadowDom:return new pF(u,c,t,r,s,a,this.nonce,d);default:i=new If(u,c,r,l,s,a,d)}o.set(r.id,i)}return i}ngOnDestroy(){this.rendererByCompId.clear()}static#e=this.\u0275fac=function(r){return new(r||e)(k(gC),k(vC),k(pa),k(lF),k(Ct),k(cr),k(ge),k(bm))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();class Ef{constructor(n,t,r,o){this.eventManager=n,this.doc=t,this.ngZone=r,this.platformIsServer=o,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(n,t){return t?this.doc.createElementNS(wf[t]||t,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,t){(CC(n)?n.content:n).appendChild(t)}insertBefore(n,t,r){n&&(CC(n)?n.content:n).insertBefore(t,r)}removeChild(n,t){n&&n.removeChild(t)}selectRootElement(n,t){let r="string"==typeof n?this.doc.querySelector(n):n;if(!r)throw new I(-5104,!1);return t||(r.textContent=""),r}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,t,r,o){if(o){t=o+":"+t;const i=wf[o];i?n.setAttributeNS(i,t,r):n.setAttribute(t,r)}else n.setAttribute(t,r)}removeAttribute(n,t,r){if(r){const o=wf[r];o?n.removeAttributeNS(o,t):n.removeAttribute(`${r}:${t}`)}else n.removeAttribute(t)}addClass(n,t){n.classList.add(t)}removeClass(n,t){n.classList.remove(t)}setStyle(n,t,r,o){o&(jn.DashCase|jn.Important)?n.style.setProperty(t,r,o&jn.Important?"important":""):n.style[t]=r}removeStyle(n,t,r){r&jn.DashCase?n.style.removeProperty(t):n.style[t]=""}setProperty(n,t,r){n[t]=r}setValue(n,t){n.nodeValue=t}listen(n,t,r){if("string"==typeof n&&!(n=Gn().getGlobalEventTarget(this.doc,n)))throw new Error(`Unsupported event target ${n} for event ${t}`);return this.eventManager.addEventListener(n,t,this.decoratePreventDefault(r))}decoratePreventDefault(n){return t=>{if("__ngUnwrap__"===t)return n;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>n(t)):n(t))&&t.preventDefault()}}}function CC(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class pF extends Ef{constructor(n,t,r,o,i,s,a,u){super(n,i,s,u),this.sharedStylesHost=t,this.hostEl=r,this.shadowRoot=r.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=yC(o.id,o.styles);for(const l of c){const d=document.createElement("style");a&&d.setAttribute("nonce",a),d.textContent=l,this.shadowRoot.appendChild(d)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,t){return super.appendChild(this.nodeOrShadowRoot(n),t)}insertBefore(n,t,r){return super.insertBefore(this.nodeOrShadowRoot(n),t,r)}removeChild(n,t){return super.removeChild(this.nodeOrShadowRoot(n),t)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class If extends Ef{constructor(n,t,r,o,i,s,a,u){super(n,i,s,a),this.sharedStylesHost=t,this.removeStylesOnCompDestroy=o,this.styles=u?yC(u,r.styles):r.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class wC extends If{constructor(n,t,r,o,i,s,a,u){const c=o+"-"+r.id;super(n,t,r,i,s,a,u,c),this.contentAttr=function dF(e){return"_ngcontent-%COMP%".replace(bf,e)}(c),this.hostAttr=function fF(e){return"_nghost-%COMP%".replace(bf,e)}(c)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,t){const r=super.createElement(n,t);return super.setAttribute(r,this.contentAttr,""),r}}let gF=(()=>{class e extends mC{constructor(t){super(t)}supports(t){return!0}addEventListener(t,r,o){return t.addEventListener(r,o,!1),()=>this.removeEventListener(t,r,o)}removeEventListener(t,r,o){return t.removeEventListener(r,o)}static#e=this.\u0275fac=function(r){return new(r||e)(k(Ct))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();const bC=["alt","control","meta","shift"],mF={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},vF={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let _F=(()=>{class e extends mC{constructor(t){super(t)}supports(t){return null!=e.parseEventName(t)}addEventListener(t,r,o){const i=e.parseEventName(r),s=e.eventCallback(i.fullKey,o,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Gn().onAndCancel(t,i.domEventName,s))}static parseEventName(t){const r=t.toLowerCase().split("."),o=r.shift();if(0===r.length||"keydown"!==o&&"keyup"!==o)return null;const i=e._normalizeKey(r.pop());let s="",a=r.indexOf("code");if(a>-1&&(r.splice(a,1),s="code."),bC.forEach(c=>{const l=r.indexOf(c);l>-1&&(r.splice(l,1),s+=c+".")}),s+=i,0!=r.length||0===i.length)return null;const u={};return u.domEventName=o,u.fullKey=s,u}static matchEventFullKeyCode(t,r){let o=mF[t.key]||t.key,i="";return r.indexOf("code.")>-1&&(o=t.code,i="code."),!(null==o||!o)&&(o=o.toLowerCase()," "===o?o="space":"."===o&&(o="dot"),bC.forEach(s=>{s!==o&&(0,vF[s])(t)&&(i+=s+".")}),i+=o,i===r)}static eventCallback(t,r,o){return i=>{e.matchEventFullKeyCode(i,t)&&o.runGuarded(()=>r(i))}}static _normalizeKey(t){return"esc"===t?"escape":t}static#e=this.\u0275fac=function(r){return new(r||e)(k(Ct))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();const wF=vD(YR,"browser",[{provide:cr,useValue:"browser"},{provide:wm,useValue:function yF(){yf.makeCurrent()},multi:!0},{provide:Ct,useFactory:function CF(){return function nM(e){pl=e}(document),document},deps:[]}]),bF=new P(""),MC=[{provide:Za,useClass:class iF{addToWindow(n){he.getAngularTestability=(r,o=!0)=>{const i=n.findTestabilityInTree(r,o);if(null==i)throw new I(5103,!1);return i},he.getAllAngularTestabilities=()=>n.getAllTestabilities(),he.getAllAngularRootElements=()=>n.getAllRootElements(),he.frameworkStabilizers||(he.frameworkStabilizers=[]),he.frameworkStabilizers.push(r=>{const o=he.getAllAngularTestabilities();let i=o.length,s=!1;const a=function(u){s=s||u,i--,0==i&&r(s)};o.forEach(u=>{u.whenStable(a)})})}findTestabilityInTree(n,t,r){return null==t?null:n.getTestability(t)??(r?Gn().isShadowRoot(t)?this.findTestabilityInTree(n,t.host,!0):this.findTestabilityInTree(n,t.parentElement,!0):null)}},deps:[]},{provide:fD,useClass:Bd,deps:[ge,$d,Za]},{provide:Bd,useClass:Bd,deps:[ge,$d,Za]}],SC=[{provide:El,useValue:"root"},{provide:Dn,useFactory:function DF(){return new Dn},deps:[]},{provide:Df,useClass:gF,multi:!0,deps:[Ct,ge,cr]},{provide:Df,useClass:_F,multi:!0,deps:[Ct]},DC,vC,gC,{provide:Am,useExisting:DC},{provide:lC,useClass:sF,deps:[]},[]];let EF=(()=>{class e{constructor(t){}static withServerTransition(t){return{ngModule:e,providers:[{provide:pa,useValue:t.appId}]}}static#e=this.\u0275fac=function(r){return new(r||e)(k(bF,12))};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({providers:[...SC,...MC],imports:[SP,QR]})}return e})(),TC=(()=>{class e{constructor(t){this._doc=t}getTitle(){return this._doc.title}setTitle(t){this._doc.title=t||""}static#e=this.\u0275fac=function(r){return new(r||e)(k(Ct))};static#t=this.\u0275prov=V({token:e,factory:function(r){let o=null;return o=r?new r:function MF(){return new TC(k(Ct))}(),o},providedIn:"root"})}return e})();function Io(e,n){return le(n)?Le(e,n,1):Le(e,1)}function Tn(e,n){return xe((t,r)=>{let o=0;t.subscribe(Te(r,i=>e.call(n,i,o++)&&r.next(i)))})}function qi(e){return xe((n,t)=>{try{n.subscribe(t)}finally{t.add(e)}})}typeof window<"u"&&window;class mu{}class vu{}class an{constructor(n){this.normalizedNames=new Map,this.lazyUpdate=null,n?"string"==typeof n?this.lazyInit=()=>{this.headers=new Map,n.split("\n").forEach(t=>{const r=t.indexOf(":");if(r>0){const o=t.slice(0,r),i=o.toLowerCase(),s=t.slice(r+1).trim();this.maybeSetNormalizedName(o,i),this.headers.has(i)?this.headers.get(i).push(s):this.headers.set(i,[s])}})}:typeof Headers<"u"&&n instanceof Headers?(this.headers=new Map,n.forEach((t,r)=>{this.setHeaderEntries(r,t)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(n).forEach(([t,r])=>{this.setHeaderEntries(t,r)})}:this.headers=new Map}has(n){return this.init(),this.headers.has(n.toLowerCase())}get(n){this.init();const t=this.headers.get(n.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(n){return this.init(),this.headers.get(n.toLowerCase())||null}append(n,t){return this.clone({name:n,value:t,op:"a"})}set(n,t){return this.clone({name:n,value:t,op:"s"})}delete(n,t){return this.clone({name:n,value:t,op:"d"})}maybeSetNormalizedName(n,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,n)}init(){this.lazyInit&&(this.lazyInit instanceof an?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(n=>this.applyUpdate(n)),this.lazyUpdate=null))}copyFrom(n){n.init(),Array.from(n.headers.keys()).forEach(t=>{this.headers.set(t,n.headers.get(t)),this.normalizedNames.set(t,n.normalizedNames.get(t))})}clone(n){const t=new an;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof an?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([n]),t}applyUpdate(n){const t=n.name.toLowerCase();switch(n.op){case"a":case"s":let r=n.value;if("string"==typeof r&&(r=[r]),0===r.length)return;this.maybeSetNormalizedName(n.name,t);const o=("a"===n.op?this.headers.get(t):void 0)||[];o.push(...r),this.headers.set(t,o);break;case"d":const i=n.value;if(i){let s=this.headers.get(t);if(!s)return;s=s.filter(a=>-1===i.indexOf(a)),0===s.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,s)}else this.headers.delete(t),this.normalizedNames.delete(t)}}setHeaderEntries(n,t){const r=(Array.isArray(t)?t:[t]).map(i=>i.toString()),o=n.toLowerCase();this.headers.set(o,r),this.maybeSetNormalizedName(n,o)}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>n(this.normalizedNames.get(t),this.headers.get(t)))}}class NF{encodeKey(n){return RC(n)}encodeValue(n){return RC(n)}decodeKey(n){return decodeURIComponent(n)}decodeValue(n){return decodeURIComponent(n)}}const OF=/%(\d[a-f0-9])/gi,PF={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function RC(e){return encodeURIComponent(e).replace(OF,(n,t)=>PF[t]??n)}function _u(e){return`${e}`}class Wn{constructor(n={}){if(this.updates=null,this.cloneFrom=null,this.encoder=n.encoder||new NF,n.fromString){if(n.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function RF(e,n){const t=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(o=>{const i=o.indexOf("="),[s,a]=-1==i?[n.decodeKey(o),""]:[n.decodeKey(o.slice(0,i)),n.decodeValue(o.slice(i+1))],u=t.get(s)||[];u.push(a),t.set(s,u)}),t}(n.fromString,this.encoder)}else n.fromObject?(this.map=new Map,Object.keys(n.fromObject).forEach(t=>{const r=n.fromObject[t],o=Array.isArray(r)?r.map(_u):[_u(r)];this.map.set(t,o)})):this.map=null}has(n){return this.init(),this.map.has(n)}get(n){this.init();const t=this.map.get(n);return t?t[0]:null}getAll(n){return this.init(),this.map.get(n)||null}keys(){return this.init(),Array.from(this.map.keys())}append(n,t){return this.clone({param:n,value:t,op:"a"})}appendAll(n){const t=[];return Object.keys(n).forEach(r=>{const o=n[r];Array.isArray(o)?o.forEach(i=>{t.push({param:r,value:i,op:"a"})}):t.push({param:r,value:o,op:"a"})}),this.clone(t)}set(n,t){return this.clone({param:n,value:t,op:"s"})}delete(n,t){return this.clone({param:n,value:t,op:"d"})}toString(){return this.init(),this.keys().map(n=>{const t=this.encoder.encodeKey(n);return this.map.get(n).map(r=>t+"="+this.encoder.encodeValue(r)).join("&")}).filter(n=>""!==n).join("&")}clone(n){const t=new Wn({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(n),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(n=>this.map.set(n,this.cloneFrom.map.get(n))),this.updates.forEach(n=>{switch(n.op){case"a":case"s":const t=("a"===n.op?this.map.get(n.param):void 0)||[];t.push(_u(n.value)),this.map.set(n.param,t);break;case"d":if(void 0===n.value){this.map.delete(n.param);break}{let r=this.map.get(n.param)||[];const o=r.indexOf(_u(n.value));-1!==o&&r.splice(o,1),r.length>0?this.map.set(n.param,r):this.map.delete(n.param)}}}),this.cloneFrom=this.updates=null)}}class FF{constructor(){this.map=new Map}set(n,t){return this.map.set(n,t),this}get(n){return this.map.has(n)||this.map.set(n,n.defaultValue()),this.map.get(n)}delete(n){return this.map.delete(n),this}has(n){return this.map.has(n)}keys(){return this.map.keys()}}function OC(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function PC(e){return typeof Blob<"u"&&e instanceof Blob}function FC(e){return typeof FormData<"u"&&e instanceof FormData}class Wi{constructor(n,t,r,o){let i;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=n.toUpperCase(),function kF(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||o?(this.body=void 0!==r?r:null,i=o):i=r,i&&(this.reportProgress=!!i.reportProgress,this.withCredentials=!!i.withCredentials,i.responseType&&(this.responseType=i.responseType),i.headers&&(this.headers=i.headers),i.context&&(this.context=i.context),i.params&&(this.params=i.params)),this.headers||(this.headers=new an),this.context||(this.context=new FF),this.params){const s=this.params.toString();if(0===s.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":ad.set(g,n.setHeaders[g]),u)),n.setParams&&(c=Object.keys(n.setParams).reduce((d,g)=>d.set(g,n.setParams[g]),c)),new Wi(t,r,i,{params:c,headers:u,context:l,reportProgress:a,responseType:o,withCredentials:s})}}var Mo=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(Mo||{});class Sf{constructor(n,t=200,r="OK"){this.headers=n.headers||new an,this.status=void 0!==n.status?n.status:t,this.statusText=n.statusText||r,this.url=n.url||null,this.ok=this.status>=200&&this.status<300}}class Tf extends Sf{constructor(n={}){super(n),this.type=Mo.ResponseHeader}clone(n={}){return new Tf({headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class So extends Sf{constructor(n={}){super(n),this.type=Mo.Response,this.body=void 0!==n.body?n.body:null}clone(n={}){return new So({body:void 0!==n.body?n.body:this.body,headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class kC extends Sf{constructor(n){super(n,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${n.url||"(unknown url)"}`:`Http failure response for ${n.url||"(unknown url)"}: ${n.status} ${n.statusText}`,this.error=n.error||null}}function Af(e,n){return{body:n,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}let Zi=(()=>{class e{constructor(t){this.handler=t}request(t,r,o={}){let i;if(t instanceof Wi)i=t;else{let u,c;u=o.headers instanceof an?o.headers:new an(o.headers),o.params&&(c=o.params instanceof Wn?o.params:new Wn({fromObject:o.params})),i=new Wi(t,r,void 0!==o.body?o.body:null,{headers:u,context:o.context,params:c,reportProgress:o.reportProgress,responseType:o.responseType||"json",withCredentials:o.withCredentials})}const s=B(i).pipe(Io(u=>this.handler.handle(u)));if(t instanceof Wi||"events"===o.observe)return s;const a=s.pipe(Tn(u=>u instanceof So));switch(o.observe||"body"){case"body":switch(i.responseType){case"arraybuffer":return a.pipe(ne(u=>{if(null!==u.body&&!(u.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return u.body}));case"blob":return a.pipe(ne(u=>{if(null!==u.body&&!(u.body instanceof Blob))throw new Error("Response is not a Blob.");return u.body}));case"text":return a.pipe(ne(u=>{if(null!==u.body&&"string"!=typeof u.body)throw new Error("Response is not a string.");return u.body}));default:return a.pipe(ne(u=>u.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${o.observe}}`)}}delete(t,r={}){return this.request("DELETE",t,r)}get(t,r={}){return this.request("GET",t,r)}head(t,r={}){return this.request("HEAD",t,r)}jsonp(t,r){return this.request("JSONP",t,{params:(new Wn).append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,r={}){return this.request("OPTIONS",t,r)}patch(t,r,o={}){return this.request("PATCH",t,Af(o,r))}post(t,r,o={}){return this.request("POST",t,Af(o,r))}put(t,r,o={}){return this.request("PUT",t,Af(o,r))}static#e=this.\u0275fac=function(r){return new(r||e)(k(mu))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();function jC(e,n){return n(e)}function jF(e,n){return(t,r)=>n.intercept(t,{handle:o=>e(o,r)})}const $F=new P(""),Yi=new P(""),BC=new P("");function HF(){let e=null;return(n,t)=>{null===e&&(e=(R($F,{optional:!0})??[]).reduceRight(jF,jC));const r=R(qa),o=r.add();return e(n,t).pipe(qi(()=>r.remove(o)))}}let $C=(()=>{class e extends mu{constructor(t,r){super(),this.backend=t,this.injector=r,this.chain=null,this.pendingTasks=R(qa)}handle(t){if(null===this.chain){const o=Array.from(new Set([...this.injector.get(Yi),...this.injector.get(BC,[])]));this.chain=o.reduceRight((i,s)=>function BF(e,n,t){return(r,o)=>t.runInContext(()=>n(r,i=>e(i,o)))}(i,s,this.injector),jC)}const r=this.pendingTasks.add();return this.chain(t,o=>this.backend.handle(o)).pipe(qi(()=>this.pendingTasks.remove(r)))}static#e=this.\u0275fac=function(r){return new(r||e)(k(vu),k(vt))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();const qF=/^\)\]\}',?\n/;let UC=(()=>{class e{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new I(-2800,!1);const r=this.xhrFactory;return(r.\u0275loadImpl?Ne(r.\u0275loadImpl()):B(null)).pipe(Lt(()=>new Ee(i=>{const s=r.build();if(s.open(t.method,t.urlWithParams),t.withCredentials&&(s.withCredentials=!0),t.headers.forEach((y,C)=>s.setRequestHeader(y,C.join(","))),t.headers.has("Accept")||s.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const y=t.detectContentTypeHeader();null!==y&&s.setRequestHeader("Content-Type",y)}if(t.responseType){const y=t.responseType.toLowerCase();s.responseType="json"!==y?y:"text"}const a=t.serializeBody();let u=null;const c=()=>{if(null!==u)return u;const y=s.statusText||"OK",C=new an(s.getAllResponseHeaders()),M=function WF(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(s)||t.url;return u=new Tf({headers:C,status:s.status,statusText:y,url:M}),u},l=()=>{let{headers:y,status:C,statusText:M,url:D}=c(),O=null;204!==C&&(O=typeof s.response>"u"?s.responseText:s.response),0===C&&(C=O?200:0);let j=C>=200&&C<300;if("json"===t.responseType&&"string"==typeof O){const Q=O;O=O.replace(qF,"");try{O=""!==O?JSON.parse(O):null}catch(ke){O=Q,j&&(j=!1,O={error:ke,text:O})}}j?(i.next(new So({body:O,headers:y,status:C,statusText:M,url:D||void 0})),i.complete()):i.error(new kC({error:O,headers:y,status:C,statusText:M,url:D||void 0}))},d=y=>{const{url:C}=c(),M=new kC({error:y,status:s.status||0,statusText:s.statusText||"Unknown Error",url:C||void 0});i.error(M)};let g=!1;const v=y=>{g||(i.next(c()),g=!0);let C={type:Mo.DownloadProgress,loaded:y.loaded};y.lengthComputable&&(C.total=y.total),"text"===t.responseType&&s.responseText&&(C.partialText=s.responseText),i.next(C)},_=y=>{let C={type:Mo.UploadProgress,loaded:y.loaded};y.lengthComputable&&(C.total=y.total),i.next(C)};return s.addEventListener("load",l),s.addEventListener("error",d),s.addEventListener("timeout",d),s.addEventListener("abort",d),t.reportProgress&&(s.addEventListener("progress",v),null!==a&&s.upload&&s.upload.addEventListener("progress",_)),s.send(a),i.next({type:Mo.Sent}),()=>{s.removeEventListener("error",d),s.removeEventListener("abort",d),s.removeEventListener("load",l),s.removeEventListener("timeout",d),t.reportProgress&&(s.removeEventListener("progress",v),null!==a&&s.upload&&s.upload.removeEventListener("progress",_)),s.readyState!==s.DONE&&s.abort()}})))}static#e=this.\u0275fac=function(r){return new(r||e)(k(lC))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();const xf=new P("XSRF_ENABLED"),zC=new P("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),GC=new P("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class qC{}let QF=(()=>{class e{constructor(t,r,o){this.doc=t,this.platform=r,this.cookieName=o,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=tC(t,this.cookieName),this.lastCookieString=t),this.lastToken}static#e=this.\u0275fac=function(r){return new(r||e)(k(Ct),k(cr),k(zC))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();function XF(e,n){const t=e.url.toLowerCase();if(!R(xf)||"GET"===e.method||"HEAD"===e.method||t.startsWith("http://")||t.startsWith("https://"))return n(e);const r=R(qC).getToken(),o=R(GC);return null!=r&&!e.headers.has(o)&&(e=e.clone({headers:e.headers.set(o,r)})),n(e)}var Zn=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(Zn||{});function JF(...e){const n=[Zi,UC,$C,{provide:mu,useExisting:$C},{provide:vu,useExisting:UC},{provide:Yi,useValue:XF,multi:!0},{provide:xf,useValue:!0},{provide:qC,useClass:QF}];for(const t of e)n.push(...t.\u0275providers);return function Cl(e){return{\u0275providers:e}}(n)}const WC=new P("LEGACY_INTERCEPTOR_FN");function KF(){return function mr(e,n){return{\u0275kind:e,\u0275providers:n}}(Zn.LegacyInterceptors,[{provide:WC,useFactory:HF},{provide:Yi,useExisting:WC,multi:!0}])}let ek=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({providers:[JF(KF())]})}return e})();const{isArray:sk}=Array,{getPrototypeOf:ak,prototype:uk,keys:ck}=Object;function ZC(e){if(1===e.length){const n=e[0];if(sk(n))return{args:n,keys:null};if(function lk(e){return e&&"object"==typeof e&&ak(e)===uk}(n)){const t=ck(n);return{args:t.map(r=>n[r]),keys:t}}}return{args:e,keys:null}}const{isArray:dk}=Array;function YC(e){return ne(n=>function fk(e,n){return dk(n)?e(...n):e(n)}(e,n))}function QC(e,n){return e.reduce((t,r,o)=>(t[r]=n[o],t),{})}let XC=(()=>{class e{constructor(t,r){this._renderer=t,this._elementRef=r,this.onChange=o=>{},this.onTouched=()=>{}}setProperty(t,r){this._renderer.setProperty(this._elementRef.nativeElement,t,r)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}static#e=this.\u0275fac=function(r){return new(r||e)(b(yn),b(_t))};static#t=this.\u0275dir=z({type:e})}return e})(),vr=(()=>{class e extends XC{static#e=this.\u0275fac=function(){let t;return function(o){return(t||(t=He(e)))(o||e)}}();static#t=this.\u0275dir=z({type:e,features:[ue]})}return e})();const un=new P("NgValueAccessor"),gk={provide:un,useExisting:fe(()=>Qi),multi:!0},vk=new P("CompositionEventMode");let Qi=(()=>{class e extends XC{constructor(t,r,o){super(t,r),this._compositionMode=o,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function mk(){const e=Gn()?Gn().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(t){this.setProperty("value",t??"")}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}static#e=this.\u0275fac=function(r){return new(r||e)(b(yn),b(_t),b(vk,8))};static#t=this.\u0275dir=z({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(r,o){1&r&&re("input",function(s){return o._handleInput(s.target.value)})("blur",function(){return o.onTouched()})("compositionstart",function(){return o._compositionStart()})("compositionend",function(s){return o._compositionEnd(s.target.value)})},features:[ye([gk]),ue]})}return e})();const qe=new P("NgValidators"),Qn=new P("NgAsyncValidators");function uw(e){return null!=e}function cw(e){return Ti(e)?Ne(e):e}function lw(e){let n={};return e.forEach(t=>{n=null!=t?{...n,...t}:n}),0===Object.keys(n).length?null:n}function dw(e,n){return n.map(t=>t(e))}function fw(e){return e.map(n=>function yk(e){return!e.validate}(n)?n:t=>n.validate(t))}function Nf(e){return null!=e?function hw(e){if(!e)return null;const n=e.filter(uw);return 0==n.length?null:function(t){return lw(dw(t,n))}}(fw(e)):null}function Rf(e){return null!=e?function pw(e){if(!e)return null;const n=e.filter(uw);return 0==n.length?null:function(t){return function hk(...e){const n=Gh(e),{args:t,keys:r}=ZC(e),o=new Ee(i=>{const{length:s}=t;if(!s)return void i.complete();const a=new Array(s);let u=s,c=s;for(let l=0;l{d||(d=!0,c--),a[l]=g},()=>u--,void 0,()=>{(!u||!d)&&(c||i.next(r?QC(r,a):a),i.complete())}))}});return n?o.pipe(YC(n)):o}(dw(t,n).map(cw)).pipe(ne(lw))}}(fw(e)):null}function gw(e,n){return null===e?[n]:Array.isArray(e)?[...e,n]:[e,n]}function Of(e){return e?Array.isArray(e)?e:[e]:[]}function Cu(e,n){return Array.isArray(e)?e.includes(n):e===n}function _w(e,n){const t=Of(n);return Of(e).forEach(o=>{Cu(t,o)||t.push(o)}),t}function yw(e,n){return Of(n).filter(t=>!Cu(e,t))}class Dw{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(n){this._rawValidators=n||[],this._composedValidatorFn=Nf(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=Rf(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(n){this._onDestroyCallbacks.push(n)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(n=>n()),this._onDestroyCallbacks=[]}reset(n=void 0){this.control&&this.control.reset(n)}hasError(n,t){return!!this.control&&this.control.hasError(n,t)}getError(n,t){return this.control?this.control.getError(n,t):null}}class rt extends Dw{get formDirective(){return null}get path(){return null}}class Xn extends Dw{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class Cw{constructor(n){this._cd=n}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let Pf=(()=>{class e extends Cw{constructor(t){super(t)}static#e=this.\u0275fac=function(r){return new(r||e)(b(Xn,2))};static#t=this.\u0275dir=z({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(r,o){2&r&&Pa("ng-untouched",o.isUntouched)("ng-touched",o.isTouched)("ng-pristine",o.isPristine)("ng-dirty",o.isDirty)("ng-valid",o.isValid)("ng-invalid",o.isInvalid)("ng-pending",o.isPending)},features:[ue]})}return e})(),ww=(()=>{class e extends Cw{constructor(t){super(t)}static#e=this.\u0275fac=function(r){return new(r||e)(b(rt,10))};static#t=this.\u0275dir=z({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(r,o){2&r&&Pa("ng-untouched",o.isUntouched)("ng-touched",o.isTouched)("ng-pristine",o.isPristine)("ng-dirty",o.isDirty)("ng-valid",o.isValid)("ng-invalid",o.isInvalid)("ng-pending",o.isPending)("ng-submitted",o.isSubmitted)},features:[ue]})}return e})();const Xi="VALID",bu="INVALID",To="PENDING",Ji="DISABLED";function Lf(e){return(Eu(e)?e.validators:e)||null}function Vf(e,n){return(Eu(n)?n.asyncValidators:e)||null}function Eu(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}class Mw{constructor(n,t){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(n),this._assignAsyncValidators(t)}get validator(){return this._composedValidatorFn}set validator(n){this._rawValidators=this._composedValidatorFn=n}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(n){this._rawAsyncValidators=this._composedAsyncValidatorFn=n}get parent(){return this._parent}get valid(){return this.status===Xi}get invalid(){return this.status===bu}get pending(){return this.status==To}get disabled(){return this.status===Ji}get enabled(){return this.status!==Ji}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(n){this._assignValidators(n)}setAsyncValidators(n){this._assignAsyncValidators(n)}addValidators(n){this.setValidators(_w(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(_w(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(yw(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(yw(n,this._rawAsyncValidators))}hasValidator(n){return Cu(this._rawValidators,n)}hasAsyncValidator(n){return Cu(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){this.touched=!0,this._parent&&!n.onlySelf&&this._parent.markAsTouched(n)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(n=>n.markAllAsTouched())}markAsUntouched(n={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}markAsDirty(n={}){this.pristine=!1,this._parent&&!n.onlySelf&&this._parent.markAsDirty(n)}markAsPristine(n={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}markAsPending(n={}){this.status=To,!1!==n.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!n.onlySelf&&this._parent.markAsPending(n)}disable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=Ji,this.errors=null,this._forEachChild(r=>{r.disable({...n,onlySelf:!0})}),this._updateValue(),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...n,skipPristineCheck:t}),this._onDisabledChange.forEach(r=>r(!0))}enable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=Xi,this._forEachChild(r=>{r.enable({...n,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors({...n,skipPristineCheck:t}),this._onDisabledChange.forEach(r=>r(!1))}_updateAncestors(n){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(n){this._parent=n}getRawValue(){return this.value}updateValueAndValidity(n={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Xi||this.status===To)&&this._runAsyncValidator(n.emitEvent)),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity(n)}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Ji:Xi}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n){if(this.asyncValidator){this.status=To,this._hasOwnPendingAsyncValidator=!0;const t=cw(this.asyncValidator(this));this._asyncValidationSubscription=t.subscribe(r=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(r,{emitEvent:n})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(n,t={}){this.errors=n,this._updateControlsErrors(!1!==t.emitEvent)}get(n){let t=n;return null==t||(Array.isArray(t)||(t=t.split(".")),0===t.length)?null:t.reduce((r,o)=>r&&r._find(o),this)}getError(n,t){const r=t?this.get(t):this;return r&&r.errors?r.errors[n]:null}hasError(n,t){return!!this.getError(n,t)}get root(){let n=this;for(;n._parent;)n=n._parent;return n}_updateControlsErrors(n){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(n)}_initObservables(){this.valueChanges=new we,this.statusChanges=new we}_calculateStatus(){return this._allControlsDisabled()?Ji:this.errors?bu:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(To)?To:this._anyControlsHaveStatus(bu)?bu:Xi}_anyControlsHaveStatus(n){return this._anyControls(t=>t.status===n)}_anyControlsDirty(){return this._anyControls(n=>n.dirty)}_anyControlsTouched(){return this._anyControls(n=>n.touched)}_updatePristine(n={}){this.pristine=!this._anyControlsDirty(),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}_updateTouched(n={}){this.touched=this._anyControlsTouched(),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){Eu(n)&&null!=n.updateOn&&(this._updateOn=n.updateOn)}_parentMarkedDirty(n){return!n&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(n){return null}_assignValidators(n){this._rawValidators=Array.isArray(n)?n.slice():n,this._composedValidatorFn=function bk(e){return Array.isArray(e)?Nf(e):e||null}(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=function Ek(e){return Array.isArray(e)?Rf(e):e||null}(this._rawAsyncValidators)}}class jf extends Mw{constructor(n,t,r){super(Lf(t),Vf(r,t)),this.controls=n,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(n,t){return this.controls[n]?this.controls[n]:(this.controls[n]=t,t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange),t)}addControl(n,t,r={}){this.registerControl(n,t),this.updateValueAndValidity({emitEvent:r.emitEvent}),this._onCollectionChange()}removeControl(n,t={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}setControl(n,t,r={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],t&&this.registerControl(n,t),this.updateValueAndValidity({emitEvent:r.emitEvent}),this._onCollectionChange()}contains(n){return this.controls.hasOwnProperty(n)&&this.controls[n].enabled}setValue(n,t={}){(function Iw(e,n,t){e._forEachChild((r,o)=>{if(void 0===t[o])throw new I(1002,"")})})(this,0,n),Object.keys(n).forEach(r=>{(function Ew(e,n,t){const r=e.controls;if(!(n?Object.keys(r):r).length)throw new I(1e3,"");if(!r[t])throw new I(1001,"")})(this,!0,r),this.controls[r].setValue(n[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(n,t={}){null!=n&&(Object.keys(n).forEach(r=>{const o=this.controls[r];o&&o.patchValue(n[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(n={},t={}){this._forEachChild((r,o)=>{r.reset(n?n[o]:null,{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}getRawValue(){return this._reduceChildren({},(n,t,r)=>(n[r]=t.getRawValue(),n))}_syncPendingControls(){let n=this._reduceChildren(!1,(t,r)=>!!r._syncPendingControls()||t);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){Object.keys(this.controls).forEach(t=>{const r=this.controls[t];r&&n(r,t)})}_setUpControls(){this._forEachChild(n=>{n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(n){for(const[t,r]of Object.entries(this.controls))if(this.contains(t)&&n(r))return!0;return!1}_reduceValue(){return this._reduceChildren({},(t,r,o)=>((r.enabled||this.disabled)&&(t[o]=r.value),t))}_reduceChildren(n,t){let r=n;return this._forEachChild((o,i)=>{r=t(r,o,i)}),r}_allControlsDisabled(){for(const n of Object.keys(this.controls))if(this.controls[n].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(n){return this.controls.hasOwnProperty(n)?this.controls[n]:null}}const _r=new P("CallSetDisabledState",{providedIn:"root",factory:()=>Ki}),Ki="always";function es(e,n,t=Ki){Bf(e,n),n.valueAccessor.writeValue(e.value),(e.disabled||"always"===t)&&n.valueAccessor.setDisabledState?.(e.disabled),function Sk(e,n){n.valueAccessor.registerOnChange(t=>{e._pendingValue=t,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&Sw(e,n)})}(e,n),function Ak(e,n){const t=(r,o)=>{n.valueAccessor.writeValue(r),o&&n.viewToModelUpdate(r)};e.registerOnChange(t),n._registerOnDestroy(()=>{e._unregisterOnChange(t)})}(e,n),function Tk(e,n){n.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&Sw(e,n),"submit"!==e.updateOn&&e.markAsTouched()})}(e,n),function Mk(e,n){if(n.valueAccessor.setDisabledState){const t=r=>{n.valueAccessor.setDisabledState(r)};e.registerOnDisabledChange(t),n._registerOnDestroy(()=>{e._unregisterOnDisabledChange(t)})}}(e,n)}function Su(e,n){e.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(n)})}function Bf(e,n){const t=function mw(e){return e._rawValidators}(e);null!==n.validator?e.setValidators(gw(t,n.validator)):"function"==typeof t&&e.setValidators([t]);const r=function vw(e){return e._rawAsyncValidators}(e);null!==n.asyncValidator?e.setAsyncValidators(gw(r,n.asyncValidator)):"function"==typeof r&&e.setAsyncValidators([r]);const o=()=>e.updateValueAndValidity();Su(n._rawValidators,o),Su(n._rawAsyncValidators,o)}function Sw(e,n){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}const Pk={provide:rt,useExisting:fe(()=>Au)},ts=(()=>Promise.resolve())();let Au=(()=>{class e extends rt{constructor(t,r,o){super(),this.callSetDisabledState=o,this.submitted=!1,this._directives=new Set,this.ngSubmit=new we,this.form=new jf({},Nf(t),Rf(r))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){ts.then(()=>{const r=this._findContainer(t.path);t.control=r.registerControl(t.name,t.control),es(t.control,t,this.callSetDisabledState),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){ts.then(()=>{const r=this._findContainer(t.path);r&&r.removeControl(t.name),this._directives.delete(t)})}addFormGroup(t){ts.then(()=>{const r=this._findContainer(t.path),o=new jf({});(function Tw(e,n){Bf(e,n)})(o,t),r.registerControl(t.name,o),o.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){ts.then(()=>{const r=this._findContainer(t.path);r&&r.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,r){ts.then(()=>{this.form.get(t.path).setValue(r)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,function Aw(e,n){e._syncPendingControls(),n.forEach(t=>{const r=t.control;"submit"===r.updateOn&&r._pendingChange&&(t.viewToModelUpdate(r._pendingValue),r._pendingChange=!1)})}(this.form,this._directives),this.ngSubmit.emit(t),"dialog"===t?.target?.method}onReset(){this.resetForm()}resetForm(t=void 0){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}static#e=this.\u0275fac=function(r){return new(r||e)(b(qe,10),b(Qn,10),b(_r,8))};static#t=this.\u0275dir=z({type:e,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(r,o){1&r&&re("submit",function(s){return o.onSubmit(s)})("reset",function(){return o.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[ye([Pk]),ue]})}return e})();function xw(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function Nw(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const Rw=class extends Mw{constructor(n=null,t,r){super(Lf(t),Vf(r,t)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(n),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),Eu(t)&&(t.nonNullable||t.initialValueIsDefault)&&(this.defaultValue=Nw(n)?n.value:n)}setValue(n,t={}){this.value=this._pendingValue=n,this._onChange.length&&!1!==t.emitModelToViewChange&&this._onChange.forEach(r=>r(this.value,!1!==t.emitViewToModelChange)),this.updateValueAndValidity(t)}patchValue(n,t={}){this.setValue(n,t)}reset(n=this.defaultValue,t={}){this._applyFormState(n),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1}_updateValue(){}_anyControls(n){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(n){this._onChange.push(n)}_unregisterOnChange(n){xw(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){xw(this._onDisabledChange,n)}_forEachChild(n){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(n){Nw(n)?(this.value=this._pendingValue=n.value,n.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=n}},Lk={provide:Xn,useExisting:fe(()=>xu)},Fw=(()=>Promise.resolve())();let xu=(()=>{class e extends Xn{constructor(t,r,o,i,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this.control=new Rw,this._registered=!1,this.name="",this.update=new we,this._parent=t,this._setValidators(r),this._setAsyncValidators(o),this.valueAccessor=function Uf(e,n){if(!n)return null;let t,r,o;return Array.isArray(n),n.forEach(i=>{i.constructor===Qi?t=i:function Rk(e){return Object.getPrototypeOf(e.constructor)===vr}(i)?r=i:o=i}),o||r||t||null}(0,i)}ngOnChanges(t){if(this._checkForErrors(),!this._registered||"name"in t){if(this._registered&&(this._checkName(),this.formDirective)){const r=t.name.previousValue;this.formDirective.removeControl({name:r,path:this._getPath(r)})}this._setUpControl()}"isDisabled"in t&&this._updateDisabled(t),function Hf(e,n){if(!e.hasOwnProperty("model"))return!1;const t=e.model;return!!t.isFirstChange()||!Object.is(n,t.currentValue)}(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){es(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){Fw.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(t){const r=t.isDisabled.currentValue,o=0!==r&&function bo(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}(r);Fw.then(()=>{o&&!this.control.disabled?this.control.disable():!o&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(t){return this._parent?function Iu(e,n){return[...n.path,e]}(t,this._parent):[t]}static#e=this.\u0275fac=function(r){return new(r||e)(b(rt,9),b(qe,10),b(Qn,10),b(un,10),b(Qa,8),b(_r,8))};static#t=this.\u0275dir=z({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[ye([Lk]),ue,St]})}return e})(),kw=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275dir=z({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]})}return e})(),Vw=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({})}return e})();const zf=new P("NgModelWithFormControlWarning");let tb=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({imports:[Vw]})}return e})(),u2=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:_r,useValue:t.callSetDisabledState??Ki}]}}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({imports:[tb]})}return e})(),c2=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:zf,useValue:t.warnOnNgModelWithFormControl??"always"},{provide:_r,useValue:t.callSetDisabledState??Ki}]}}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({imports:[tb]})}return e})(),Nu=(()=>{class e{formatTransactionTime(t){const r=new Date(1e3*t);return"Invalid Date"===r.toString()?(console.error("Invalid Date Format:",t),"Invalid Date"):r.toLocaleDateString(void 0,{year:"numeric",month:"2-digit",day:"2-digit"})+", "+r.toLocaleTimeString()}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Ru=(()=>{class e{getTransactionType(t){return 0===t.inputs.length&&0===t.outputs.length?(console.log("Encrypted Message"),"Encrypted Message"):0===t.inputs.length&&1===t.outputs.length&&0===t.outputs[0]?.value?(console.log("Message"),"Message"):0===t.inputs.length&&t.outputs.length>=1&&t.outputs[0]?.value>0?(console.log("Coinbase"),"Coinbase"):t.inputs.length>0&&t.outputs.length>1&&t.outputs[0]?.value>0?(console.log("Coin Transfer"),"Coin Transfer"):t.outputs.length>=2&&0===t.outputs[0]?.value?(console.log("Create Identity"),"Create Identity"):(console.log("Unknown Transaction Type"),"Unknown Transaction Type")}isEncryptedMessageTransaction(t){return 0===t.inputs.length&&0===t.outputs.length}isMessageTransaction(t){return 0===t.inputs.length&&1===t.outputs.length&&0===t.outputs[0]?.value}isCoinbaseTransaction(t){return 0===t.inputs.length&&t.outputs.length>=1&&t.outputs[0]?.value>0}isTransferTransaction(t){return t.inputs.length>0&&t.outputs.length>1&&t.outputs[0]?.value>0}isCreateIdentityTransaction(t){return t.outputs.length>=2&&0===t.outputs[0]?.value}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Xf(...e){const n=$o(e),t=Gh(e),{args:r,keys:o}=ZC(e);if(0===r.length)return Ne([],n);const i=new Ee(function d2(e,n,t=Nn){return r=>{nb(n,()=>{const{length:o}=e,i=new Array(o);let s=o,a=o;for(let u=0;u{const c=Ne(e[u],n);let l=!1;c.subscribe(Te(r,d=>{i[u]=d,l||(l=!0,a--),a||r.next(t(i.slice()))},()=>{--s||r.complete()}))},r)},r)}}(r,n,o?s=>QC(o,s):Nn));return t?i.pipe(YC(t)):i}function nb(e,n,t){e?fn(t,e,n):n()}const Ou=Vo(e=>function(){e(this),this.name="EmptyError",this.message="no elements in sequence"});function Jf(...e){return function f2(){return Mr(1)}()(Ne(e,$o(e)))}function rb(e){return new Ee(n=>{dt(e()).subscribe(n)})}function ns(e,n){const t=le(e)?e:()=>e,r=o=>o.error(t());return new Ee(n?o=>n.schedule(r,0,o):r)}function Kf(){return xe((e,n)=>{let t=null;e._refCount++;const r=Te(n,void 0,void 0,void 0,()=>{if(!e||e._refCount<=0||0<--e._refCount)return void(t=null);const o=e._connection,i=t;t=null,o&&(!i||o===i)&&o.unsubscribe(),n.unsubscribe()});e.subscribe(r),r.closed||(t=e.connect())})}class ob extends Ee{constructor(n,t){super(),this.source=n,this.subjectFactory=t,this._subject=null,this._refCount=0,this._connection=null,xh(n)&&(this.lift=n.lift)}_subscribe(n){return this.getSubject().subscribe(n)}getSubject(){const n=this._subject;return(!n||n.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:n}=this;this._subject=this._connection=null,n?.unsubscribe()}connect(){let n=this._connection;if(!n){n=this._connection=new lt;const t=this.getSubject();n.add(this.source.subscribe(Te(t,void 0,()=>{this._teardown(),t.complete()},r=>{this._teardown(),t.error(r)},()=>this._teardown()))),n.closed&&(this._connection=null,n=lt.EMPTY)}return n}refCount(){return Kf()(this)}}function Ao(e){return e<=0?()=>Zt:xe((n,t)=>{let r=0;n.subscribe(Te(t,o=>{++r<=e&&(t.next(o),e<=r&&t.complete())}))})}function Pu(e){return xe((n,t)=>{let r=!1;n.subscribe(Te(t,o=>{r=!0,t.next(o)},()=>{r||t.next(e),t.complete()}))})}function ib(e=p2){return xe((n,t)=>{let r=!1;n.subscribe(Te(t,o=>{r=!0,t.next(o)},()=>r?t.complete():t.error(e())))})}function p2(){return new Ou}function Dr(e,n){const t=arguments.length>=2;return r=>r.pipe(e?Tn((o,i)=>e(o,i,r)):Nn,Ao(1),t?Pu(n):ib(()=>new Ou))}function We(e,n,t){const r=le(e)||n||t?{next:e,error:n,complete:t}:e;return r?xe((o,i)=>{var s;null===(s=r.subscribe)||void 0===s||s.call(r);let a=!0;o.subscribe(Te(i,u=>{var c;null===(c=r.next)||void 0===c||c.call(r,u),i.next(u)},()=>{var u;a=!1,null===(u=r.complete)||void 0===u||u.call(r),i.complete()},u=>{var c;a=!1,null===(c=r.error)||void 0===c||c.call(r,u),i.error(u)},()=>{var u,c;a&&(null===(u=r.unsubscribe)||void 0===u||u.call(r)),null===(c=r.finalize)||void 0===c||c.call(r)}))}):Nn}function Cr(e){return xe((n,t)=>{let i,r=null,o=!1;r=n.subscribe(Te(t,void 0,void 0,s=>{i=dt(e(s,Cr(e)(n))),r?(r.unsubscribe(),r=null,i.subscribe(t)):o=!0})),o&&(r.unsubscribe(),r=null,i.subscribe(t))})}function eh(e){return e<=0?()=>Zt:xe((n,t)=>{let r=[];n.subscribe(Te(t,o=>{r.push(o),e{for(const o of r)t.next(o);t.complete()},void 0,()=>{r=null}))})}const Y="primary",rs=Symbol("RouteTitle");class D2{constructor(n){this.params=n||{}}has(n){return Object.prototype.hasOwnProperty.call(this.params,n)}get(n){if(this.has(n)){const t=this.params[n];return Array.isArray(t)?t[0]:t}return null}getAll(n){if(this.has(n)){const t=this.params[n];return Array.isArray(t)?t:[t]}return[]}get keys(){return Object.keys(this.params)}}function xo(e){return new D2(e)}function C2(e,n,t){const r=t.path.split("/");if(r.length>e.length||"full"===t.pathMatch&&(n.hasChildren()||r.lengthr[i]===o)}return e===n}function ab(e){return e.length>0?e[e.length-1]:null}function Jn(e){return function l2(e){return!!e&&(e instanceof Ee||le(e.lift)&&le(e.subscribe))}(e)?e:Ti(e)?Ne(Promise.resolve(e)):B(e)}const b2={exact:function lb(e,n,t){if(!wr(e.segments,n.segments)||!Fu(e.segments,n.segments,t)||e.numberOfChildren!==n.numberOfChildren)return!1;for(const r in n.children)if(!e.children[r]||!lb(e.children[r],n.children[r],t))return!1;return!0},subset:db},ub={exact:function E2(e,n){return cn(e,n)},subset:function I2(e,n){return Object.keys(n).length<=Object.keys(e).length&&Object.keys(n).every(t=>sb(e[t],n[t]))},ignored:()=>!0};function cb(e,n,t){return b2[t.paths](e.root,n.root,t.matrixParams)&&ub[t.queryParams](e.queryParams,n.queryParams)&&!("exact"===t.fragment&&e.fragment!==n.fragment)}function db(e,n,t){return fb(e,n,n.segments,t)}function fb(e,n,t,r){if(e.segments.length>t.length){const o=e.segments.slice(0,t.length);return!(!wr(o,t)||n.hasChildren()||!Fu(o,t,r))}if(e.segments.length===t.length){if(!wr(e.segments,t)||!Fu(e.segments,t,r))return!1;for(const o in n.children)if(!e.children[o]||!db(e.children[o],n.children[o],r))return!1;return!0}{const o=t.slice(0,e.segments.length),i=t.slice(e.segments.length);return!!(wr(e.segments,o)&&Fu(e.segments,o,r)&&e.children[Y])&&fb(e.children[Y],n,i,r)}}function Fu(e,n,t){return n.every((r,o)=>ub[t](e[o].parameters,r.parameters))}class No{constructor(n=new ce([],{}),t={},r=null){this.root=n,this.queryParams=t,this.fragment=r}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=xo(this.queryParams)),this._queryParamMap}toString(){return T2.serialize(this)}}class ce{constructor(n,t){this.segments=n,this.children=t,this.parent=null,Object.values(t).forEach(r=>r.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return ku(this)}}class os{constructor(n,t){this.path=n,this.parameters=t}get parameterMap(){return this._parameterMap||(this._parameterMap=xo(this.parameters)),this._parameterMap}toString(){return gb(this)}}function wr(e,n){return e.length===n.length&&e.every((t,r)=>t.path===n[r].path)}let is=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:function(){return new th},providedIn:"root"})}return e})();class th{parse(n){const t=new j2(n);return new No(t.parseRootSegment(),t.parseQueryParams(),t.parseFragment())}serialize(n){const t=`/${ss(n.root,!0)}`,r=function N2(e){const n=Object.keys(e).map(t=>{const r=e[t];return Array.isArray(r)?r.map(o=>`${Lu(t)}=${Lu(o)}`).join("&"):`${Lu(t)}=${Lu(r)}`}).filter(t=>!!t);return n.length?`?${n.join("&")}`:""}(n.queryParams);return`${t}${r}${"string"==typeof n.fragment?`#${function A2(e){return encodeURI(e)}(n.fragment)}`:""}`}}const T2=new th;function ku(e){return e.segments.map(n=>gb(n)).join("/")}function ss(e,n){if(!e.hasChildren())return ku(e);if(n){const t=e.children[Y]?ss(e.children[Y],!1):"",r=[];return Object.entries(e.children).forEach(([o,i])=>{o!==Y&&r.push(`${o}:${ss(i,!1)}`)}),r.length>0?`${t}(${r.join("//")})`:t}{const t=function S2(e,n){let t=[];return Object.entries(e.children).forEach(([r,o])=>{r===Y&&(t=t.concat(n(o,r)))}),Object.entries(e.children).forEach(([r,o])=>{r!==Y&&(t=t.concat(n(o,r)))}),t}(e,(r,o)=>o===Y?[ss(e.children[Y],!1)]:[`${o}:${ss(r,!1)}`]);return 1===Object.keys(e.children).length&&null!=e.children[Y]?`${ku(e)}/${t[0]}`:`${ku(e)}/(${t.join("//")})`}}function hb(e){return encodeURIComponent(e).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Lu(e){return hb(e).replace(/%3B/gi,";")}function nh(e){return hb(e).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Vu(e){return decodeURIComponent(e)}function pb(e){return Vu(e.replace(/\+/g,"%20"))}function gb(e){return`${nh(e.path)}${function x2(e){return Object.keys(e).map(n=>`;${nh(n)}=${nh(e[n])}`).join("")}(e.parameters)}`}const R2=/^[^\/()?;#]+/;function rh(e){const n=e.match(R2);return n?n[0]:""}const O2=/^[^\/()?;=#]+/,F2=/^[^=?&#]+/,L2=/^[^&#]+/;class j2{constructor(n){this.url=n,this.remaining=n}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new ce([],{}):new ce([],this.parseChildren())}parseQueryParams(){const n={};if(this.consumeOptional("?"))do{this.parseQueryParam(n)}while(this.consumeOptional("&"));return n}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const n=[];for(this.peekStartsWith("(")||n.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),n.push(this.parseSegment());let t={};this.peekStartsWith("/(")&&(this.capture("/"),t=this.parseParens(!0));let r={};return this.peekStartsWith("(")&&(r=this.parseParens(!1)),(n.length>0||Object.keys(t).length>0)&&(r[Y]=new ce(n,t)),r}parseSegment(){const n=rh(this.remaining);if(""===n&&this.peekStartsWith(";"))throw new I(4009,!1);return this.capture(n),new os(Vu(n),this.parseMatrixParams())}parseMatrixParams(){const n={};for(;this.consumeOptional(";");)this.parseParam(n);return n}parseParam(n){const t=function P2(e){const n=e.match(O2);return n?n[0]:""}(this.remaining);if(!t)return;this.capture(t);let r="";if(this.consumeOptional("=")){const o=rh(this.remaining);o&&(r=o,this.capture(r))}n[Vu(t)]=Vu(r)}parseQueryParam(n){const t=function k2(e){const n=e.match(F2);return n?n[0]:""}(this.remaining);if(!t)return;this.capture(t);let r="";if(this.consumeOptional("=")){const s=function V2(e){const n=e.match(L2);return n?n[0]:""}(this.remaining);s&&(r=s,this.capture(r))}const o=pb(t),i=pb(r);if(n.hasOwnProperty(o)){let s=n[o];Array.isArray(s)||(s=[s],n[o]=s),s.push(i)}else n[o]=i}parseParens(n){const t={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const r=rh(this.remaining),o=this.remaining[r.length];if("/"!==o&&")"!==o&&";"!==o)throw new I(4010,!1);let i;r.indexOf(":")>-1?(i=r.slice(0,r.indexOf(":")),this.capture(i),this.capture(":")):n&&(i=Y);const s=this.parseChildren();t[i]=1===Object.keys(s).length?s[Y]:new ce([],s),this.consumeOptional("//")}return t}peekStartsWith(n){return this.remaining.startsWith(n)}consumeOptional(n){return!!this.peekStartsWith(n)&&(this.remaining=this.remaining.substring(n.length),!0)}capture(n){if(!this.consumeOptional(n))throw new I(4011,!1)}}function mb(e){return e.segments.length>0?new ce([],{[Y]:e}):e}function vb(e){const n={};for(const r of Object.keys(e.children)){const i=vb(e.children[r]);if(r===Y&&0===i.segments.length&&i.hasChildren())for(const[s,a]of Object.entries(i.children))n[s]=a;else(i.segments.length>0||i.hasChildren())&&(n[r]=i)}return function B2(e){if(1===e.numberOfChildren&&e.children[Y]){const n=e.children[Y];return new ce(e.segments.concat(n.segments),n.children)}return e}(new ce(e.segments,n))}function br(e){return e instanceof No}function _b(e){let n;const o=mb(function t(i){const s={};for(const u of i.children){const c=t(u);s[u.outlet]=c}const a=new ce(i.url,s);return i===e&&(n=a),a}(e.root));return n??o}function yb(e,n,t,r){let o=e;for(;o.parent;)o=o.parent;if(0===n.length)return oh(o,o,o,t,r);const i=function H2(e){if("string"==typeof e[0]&&1===e.length&&"/"===e[0])return new Cb(!0,0,e);let n=0,t=!1;const r=e.reduce((o,i,s)=>{if("object"==typeof i&&null!=i){if(i.outlets){const a={};return Object.entries(i.outlets).forEach(([u,c])=>{a[u]="string"==typeof c?c.split("/"):c}),[...o,{outlets:a}]}if(i.segmentPath)return[...o,i.segmentPath]}return"string"!=typeof i?[...o,i]:0===s?(i.split("/").forEach((a,u)=>{0==u&&"."===a||(0==u&&""===a?t=!0:".."===a?n++:""!=a&&o.push(a))}),o):[...o,i]},[]);return new Cb(t,n,r)}(n);if(i.toRoot())return oh(o,o,new ce([],{}),t,r);const s=function U2(e,n,t){if(e.isAbsolute)return new Bu(n,!0,0);if(!t)return new Bu(n,!1,NaN);if(null===t.parent)return new Bu(t,!0,0);const r=ju(e.commands[0])?0:1;return function z2(e,n,t){let r=e,o=n,i=t;for(;i>o;){if(i-=o,r=r.parent,!r)throw new I(4005,!1);o=r.segments.length}return new Bu(r,!1,o-i)}(t,t.segments.length-1+r,e.numberOfDoubleDots)}(i,o,e),a=s.processChildren?us(s.segmentGroup,s.index,i.commands):wb(s.segmentGroup,s.index,i.commands);return oh(o,s.segmentGroup,a,t,r)}function ju(e){return"object"==typeof e&&null!=e&&!e.outlets&&!e.segmentPath}function as(e){return"object"==typeof e&&null!=e&&e.outlets}function oh(e,n,t,r,o){let s,i={};r&&Object.entries(r).forEach(([u,c])=>{i[u]=Array.isArray(c)?c.map(l=>`${l}`):`${c}`}),s=e===n?t:Db(e,n,t);const a=mb(vb(s));return new No(a,i,o)}function Db(e,n,t){const r={};return Object.entries(e.children).forEach(([o,i])=>{r[o]=i===n?t:Db(i,n,t)}),new ce(e.segments,r)}class Cb{constructor(n,t,r){if(this.isAbsolute=n,this.numberOfDoubleDots=t,this.commands=r,n&&r.length>0&&ju(r[0]))throw new I(4003,!1);const o=r.find(as);if(o&&o!==ab(r))throw new I(4004,!1)}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class Bu{constructor(n,t,r){this.segmentGroup=n,this.processChildren=t,this.index=r}}function wb(e,n,t){if(e||(e=new ce([],{})),0===e.segments.length&&e.hasChildren())return us(e,n,t);const r=function q2(e,n,t){let r=0,o=n;const i={match:!1,pathIndex:0,commandIndex:0};for(;o=t.length)return i;const s=e.segments[o],a=t[r];if(as(a))break;const u=`${a}`,c=r0&&void 0===u)break;if(u&&c&&"object"==typeof c&&void 0===c.outlets){if(!Eb(u,c,s))return i;r+=2}else{if(!Eb(u,{},s))return i;r++}o++}return{match:!0,pathIndex:o,commandIndex:r}}(e,n,t),o=t.slice(r.commandIndex);if(r.match&&r.pathIndexi!==Y)&&e.children[Y]&&1===e.numberOfChildren&&0===e.children[Y].segments.length){const i=us(e.children[Y],n,t);return new ce(e.segments,i.children)}return Object.entries(r).forEach(([i,s])=>{"string"==typeof s&&(s=[s]),null!==s&&(o[i]=wb(e.children[i],n,s))}),Object.entries(e.children).forEach(([i,s])=>{void 0===r[i]&&(o[i]=s)}),new ce(e.segments,o)}}function ih(e,n,t){const r=e.segments.slice(0,n);let o=0;for(;o{"string"==typeof r&&(r=[r]),null!==r&&(n[t]=ih(new ce([],{}),0,r))}),n}function bb(e){const n={};return Object.entries(e).forEach(([t,r])=>n[t]=`${r}`),n}function Eb(e,n,t){return e==t.path&&cn(n,t.parameters)}const cs="imperative";class ln{constructor(n,t){this.id=n,this.url=t}}class $u extends ln{constructor(n,t,r="imperative",o=null){super(n,t),this.type=0,this.navigationTrigger=r,this.restoredState=o}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class Kn extends ln{constructor(n,t,r){super(n,t),this.urlAfterRedirects=r,this.type=1}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class ls extends ln{constructor(n,t,r,o){super(n,t),this.reason=r,this.code=o,this.type=2}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class Ro extends ln{constructor(n,t,r,o){super(n,t),this.reason=r,this.code=o,this.type=16}}class Hu extends ln{constructor(n,t,r,o){super(n,t),this.error=r,this.target=o,this.type=3}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class Ib extends ln{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=4}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Z2 extends ln{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=7}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Y2 extends ln{constructor(n,t,r,o,i){super(n,t),this.urlAfterRedirects=r,this.state=o,this.shouldActivate=i,this.type=8}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class Q2 extends ln{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=5}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class X2 extends ln{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=6}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class J2{constructor(n){this.route=n,this.type=9}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class K2{constructor(n){this.route=n,this.type=10}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class eL{constructor(n){this.snapshot=n,this.type=11}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class tL{constructor(n){this.snapshot=n,this.type=12}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class nL{constructor(n){this.snapshot=n,this.type=13}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class rL{constructor(n){this.snapshot=n,this.type=14}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Mb{constructor(n,t,r){this.routerEvent=n,this.position=t,this.anchor=r,this.type=15}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}class sh{}class ah{constructor(n){this.url=n}}class oL{constructor(){this.outlet=null,this.route=null,this.injector=null,this.children=new ds,this.attachRef=null}}let ds=(()=>{class e{constructor(){this.contexts=new Map}onChildOutletCreated(t,r){const o=this.getOrCreateContext(t);o.outlet=r,this.contexts.set(t,o)}onChildOutletDestroyed(t){const r=this.getContext(t);r&&(r.outlet=null,r.attachRef=null)}onOutletDeactivated(){const t=this.contexts;return this.contexts=new Map,t}onOutletReAttached(t){this.contexts=t}getOrCreateContext(t){let r=this.getContext(t);return r||(r=new oL,this.contexts.set(t,r)),r}getContext(t){return this.contexts.get(t)||null}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();class Sb{constructor(n){this._root=n}get root(){return this._root.value}parent(n){const t=this.pathFromRoot(n);return t.length>1?t[t.length-2]:null}children(n){const t=uh(n,this._root);return t?t.children.map(r=>r.value):[]}firstChild(n){const t=uh(n,this._root);return t&&t.children.length>0?t.children[0].value:null}siblings(n){const t=ch(n,this._root);return t.length<2?[]:t[t.length-2].children.map(o=>o.value).filter(o=>o!==n)}pathFromRoot(n){return ch(n,this._root).map(t=>t.value)}}function uh(e,n){if(e===n.value)return n;for(const t of n.children){const r=uh(e,t);if(r)return r}return null}function ch(e,n){if(e===n.value)return[n];for(const t of n.children){const r=ch(e,t);if(r.length)return r.unshift(n),r}return[]}class An{constructor(n,t){this.value=n,this.children=t}toString(){return`TreeNode(${this.value})`}}function Oo(e){const n={};return e&&e.children.forEach(t=>n[t.value.outlet]=t),n}class Tb extends Sb{constructor(n,t){super(n),this.snapshot=t,lh(this,n)}toString(){return this.snapshot.toString()}}function Ab(e,n){const t=function iL(e,n){const s=new Uu([],{},{},"",{},Y,n,null,{});return new Nb("",new An(s,[]))}(0,n),r=new bt([new os("",{})]),o=new bt({}),i=new bt({}),s=new bt({}),a=new bt(""),u=new Er(r,o,s,a,i,Y,n,t.root);return u.snapshot=t.root,new Tb(new An(u,[]),t)}class Er{constructor(n,t,r,o,i,s,a,u){this.urlSubject=n,this.paramsSubject=t,this.queryParamsSubject=r,this.fragmentSubject=o,this.dataSubject=i,this.outlet=s,this.component=a,this._futureSnapshot=u,this.title=this.dataSubject?.pipe(ne(c=>c[rs]))??B(void 0),this.url=n,this.params=t,this.queryParams=r,this.fragment=o,this.data=i}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=this.params.pipe(ne(n=>xo(n)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(ne(n=>xo(n)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function xb(e,n="emptyOnly"){const t=e.pathFromRoot;let r=0;if("always"!==n)for(r=t.length-1;r>=1;){const o=t[r],i=t[r-1];if(o.routeConfig&&""===o.routeConfig.path)r--;else{if(i.component)break;r--}}return function sL(e){return e.reduce((n,t)=>({params:{...n.params,...t.params},data:{...n.data,...t.data},resolve:{...t.data,...n.resolve,...t.routeConfig?.data,...t._resolvedData}}),{params:{},data:{},resolve:{}})}(t.slice(r))}class Uu{get title(){return this.data?.[rs]}constructor(n,t,r,o,i,s,a,u,c){this.url=n,this.params=t,this.queryParams=r,this.fragment=o,this.data=i,this.outlet=s,this.component=a,this.routeConfig=u,this._resolve=c}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=xo(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=xo(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(r=>r.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class Nb extends Sb{constructor(n,t){super(t),this.url=n,lh(this,t)}toString(){return Rb(this._root)}}function lh(e,n){n.value._routerState=e,n.children.forEach(t=>lh(e,t))}function Rb(e){const n=e.children.length>0?` { ${e.children.map(Rb).join(", ")} } `:"";return`${e.value}${n}`}function dh(e){if(e.snapshot){const n=e.snapshot,t=e._futureSnapshot;e.snapshot=t,cn(n.queryParams,t.queryParams)||e.queryParamsSubject.next(t.queryParams),n.fragment!==t.fragment&&e.fragmentSubject.next(t.fragment),cn(n.params,t.params)||e.paramsSubject.next(t.params),function w2(e,n){if(e.length!==n.length)return!1;for(let t=0;tcn(t.parameters,n[r].parameters))}(e.url,n.url);return t&&!(!e.parent!=!n.parent)&&(!e.parent||fh(e.parent,n.parent))}let Ob=(()=>{class e{constructor(){this.activated=null,this._activatedRoute=null,this.name=Y,this.activateEvents=new we,this.deactivateEvents=new we,this.attachEvents=new we,this.detachEvents=new we,this.parentContexts=R(ds),this.location=R(zt),this.changeDetector=R(Qa),this.environmentInjector=R(vt),this.inputBinder=R(zu,{optional:!0}),this.supportsBindingToComponentInputs=!0}get activatedComponentRef(){return this.activated}ngOnChanges(t){if(t.name){const{firstChange:r,previousValue:o}=t.name;if(r)return;this.isTrackedInParentContexts(o)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(o)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(t){return this.parentContexts.getContext(t)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;const t=this.parentContexts.getContext(this.name);t?.route&&(t.attachRef?this.attach(t.attachRef,t.route):this.activateWith(t.route,t.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new I(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new I(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new I(4012,!1);this.location.detach();const t=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(t.instance),t}attach(t,r){this.activated=t,this._activatedRoute=r,this.location.insert(t.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(t.instance)}deactivate(){if(this.activated){const t=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(t)}}activateWith(t,r){if(this.isActivated)throw new I(4013,!1);this._activatedRoute=t;const o=this.location,s=t.snapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,u=new aL(t,a,o.injector);this.activated=o.createComponent(s,{index:o.length,injector:u,environmentInjector:r??this.environmentInjector}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275dir=z({type:e,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[St]})}return e})();class aL{constructor(n,t,r){this.route=n,this.childContexts=t,this.parent=r}get(n,t){return n===Er?this.route:n===ds?this.childContexts:this.parent.get(n,t)}}const zu=new P("");let Pb=(()=>{class e{constructor(){this.outletDataSubscriptions=new Map}bindActivatedRouteToOutletComponent(t){this.unsubscribeFromRouteData(t),this.subscribeToRouteData(t)}unsubscribeFromRouteData(t){this.outletDataSubscriptions.get(t)?.unsubscribe(),this.outletDataSubscriptions.delete(t)}subscribeToRouteData(t){const{activatedRoute:r}=t,o=Xf([r.queryParams,r.params,r.data]).pipe(Lt(([i,s,a],u)=>(a={...i,...s,...a},0===u?B(a):Promise.resolve(a)))).subscribe(i=>{if(!t.isActivated||!t.activatedComponentRef||t.activatedRoute!==r||null===r.component)return void this.unsubscribeFromRouteData(t);const s=function uO(e){const n=K(e);if(!n)return null;const t=new bi(n);return{get selector(){return t.selector},get type(){return t.componentType},get inputs(){return t.inputs},get outputs(){return t.outputs},get ngContentSelectors(){return t.ngContentSelectors},get isStandalone(){return n.standalone},get isSignal(){return n.signals}}}(r.component);if(s)for(const{templateName:a}of s.inputs)t.activatedComponentRef.setInput(a,i[a]);else this.unsubscribeFromRouteData(t)});this.outletDataSubscriptions.set(t,o)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();function fs(e,n,t){if(t&&e.shouldReuseRoute(n.value,t.value.snapshot)){const r=t.value;r._futureSnapshot=n.value;const o=function cL(e,n,t){return n.children.map(r=>{for(const o of t.children)if(e.shouldReuseRoute(r.value,o.value.snapshot))return fs(e,r,o);return fs(e,r)})}(e,n,t);return new An(r,o)}{if(e.shouldAttach(n.value)){const i=e.retrieve(n.value);if(null!==i){const s=i.route;return s.value._futureSnapshot=n.value,s.children=n.children.map(a=>fs(e,a)),s}}const r=function lL(e){return new Er(new bt(e.url),new bt(e.params),new bt(e.queryParams),new bt(e.fragment),new bt(e.data),e.outlet,e.component,e)}(n.value),o=n.children.map(i=>fs(e,i));return new An(r,o)}}const hh="ngNavigationCancelingError";function Fb(e,n){const{redirectTo:t,navigationBehaviorOptions:r}=br(n)?{redirectTo:n,navigationBehaviorOptions:void 0}:n,o=kb(!1,0,n);return o.url=t,o.navigationBehaviorOptions=r,o}function kb(e,n,t){const r=new Error("NavigationCancelingError: "+(e||""));return r[hh]=!0,r.cancellationCode=n,t&&(r.url=t),r}function Lb(e){return e&&e[hh]}let Vb=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=Tr({type:e,selectors:[["ng-component"]],standalone:!0,features:[gy],decls:1,vars:0,template:function(r,o){1&r&&Pe(0,"router-outlet")},dependencies:[Ob],encapsulation:2})}return e})();function ph(e){const n=e.children&&e.children.map(ph),t=n?{...e,children:n}:{...e};return!t.component&&!t.loadComponent&&(n||t.loadChildren)&&t.outlet&&t.outlet!==Y&&(t.component=Vb),t}function Wt(e){return e.outlet||Y}function hs(e){if(!e)return null;if(e.routeConfig?._injector)return e.routeConfig._injector;for(let n=e.parent;n;n=n.parent){const t=n.routeConfig;if(t?._loadedInjector)return t._loadedInjector;if(t?._injector)return t._injector}return null}class _L{constructor(n,t,r,o,i){this.routeReuseStrategy=n,this.futureState=t,this.currState=r,this.forwardEvent=o,this.inputBindingEnabled=i}activate(n){const t=this.futureState._root,r=this.currState?this.currState._root:null;this.deactivateChildRoutes(t,r,n),dh(this.futureState.root),this.activateChildRoutes(t,r,n)}deactivateChildRoutes(n,t,r){const o=Oo(t);n.children.forEach(i=>{const s=i.value.outlet;this.deactivateRoutes(i,o[s],r),delete o[s]}),Object.values(o).forEach(i=>{this.deactivateRouteAndItsChildren(i,r)})}deactivateRoutes(n,t,r){const o=n.value,i=t?t.value:null;if(o===i)if(o.component){const s=r.getContext(o.outlet);s&&this.deactivateChildRoutes(n,t,s.children)}else this.deactivateChildRoutes(n,t,r);else i&&this.deactivateRouteAndItsChildren(t,r)}deactivateRouteAndItsChildren(n,t){n.value.component&&this.routeReuseStrategy.shouldDetach(n.value.snapshot)?this.detachAndStoreRouteSubtree(n,t):this.deactivateRouteAndOutlet(n,t)}detachAndStoreRouteSubtree(n,t){const r=t.getContext(n.value.outlet),o=r&&n.value.component?r.children:t,i=Oo(n);for(const s of Object.keys(i))this.deactivateRouteAndItsChildren(i[s],o);if(r&&r.outlet){const s=r.outlet.detach(),a=r.children.onOutletDeactivated();this.routeReuseStrategy.store(n.value.snapshot,{componentRef:s,route:n,contexts:a})}}deactivateRouteAndOutlet(n,t){const r=t.getContext(n.value.outlet),o=r&&n.value.component?r.children:t,i=Oo(n);for(const s of Object.keys(i))this.deactivateRouteAndItsChildren(i[s],o);r&&(r.outlet&&(r.outlet.deactivate(),r.children.onOutletDeactivated()),r.attachRef=null,r.route=null)}activateChildRoutes(n,t,r){const o=Oo(t);n.children.forEach(i=>{this.activateRoutes(i,o[i.value.outlet],r),this.forwardEvent(new rL(i.value.snapshot))}),n.children.length&&this.forwardEvent(new tL(n.value.snapshot))}activateRoutes(n,t,r){const o=n.value,i=t?t.value:null;if(dh(o),o===i)if(o.component){const s=r.getOrCreateContext(o.outlet);this.activateChildRoutes(n,t,s.children)}else this.activateChildRoutes(n,t,r);else if(o.component){const s=r.getOrCreateContext(o.outlet);if(this.routeReuseStrategy.shouldAttach(o.snapshot)){const a=this.routeReuseStrategy.retrieve(o.snapshot);this.routeReuseStrategy.store(o.snapshot,null),s.children.onOutletReAttached(a.contexts),s.attachRef=a.componentRef,s.route=a.route.value,s.outlet&&s.outlet.attach(a.componentRef,a.route.value),dh(a.route.value),this.activateChildRoutes(n,null,s.children)}else{const a=hs(o.snapshot);s.attachRef=null,s.route=o,s.injector=a,s.outlet&&s.outlet.activateWith(o,s.injector),this.activateChildRoutes(n,null,s.children)}}else this.activateChildRoutes(n,null,r)}}class jb{constructor(n){this.path=n,this.route=this.path[this.path.length-1]}}class Gu{constructor(n,t){this.component=n,this.route=t}}function yL(e,n,t){const r=e._root;return ps(r,n?n._root:null,t,[r.value])}function Po(e,n){const t=Symbol(),r=n.get(e,t);return r===t?"function"!=typeof e||function _0(e){return null!==Es(e)}(e)?n.get(e):e:r}function ps(e,n,t,r,o={canDeactivateChecks:[],canActivateChecks:[]}){const i=Oo(n);return e.children.forEach(s=>{(function CL(e,n,t,r,o={canDeactivateChecks:[],canActivateChecks:[]}){const i=e.value,s=n?n.value:null,a=t?t.getContext(e.value.outlet):null;if(s&&i.routeConfig===s.routeConfig){const u=function wL(e,n,t){if("function"==typeof t)return t(e,n);switch(t){case"pathParamsChange":return!wr(e.url,n.url);case"pathParamsOrQueryParamsChange":return!wr(e.url,n.url)||!cn(e.queryParams,n.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!fh(e,n)||!cn(e.queryParams,n.queryParams);default:return!fh(e,n)}}(s,i,i.routeConfig.runGuardsAndResolvers);u?o.canActivateChecks.push(new jb(r)):(i.data=s.data,i._resolvedData=s._resolvedData),ps(e,n,i.component?a?a.children:null:t,r,o),u&&a&&a.outlet&&a.outlet.isActivated&&o.canDeactivateChecks.push(new Gu(a.outlet.component,s))}else s&&gs(n,a,o),o.canActivateChecks.push(new jb(r)),ps(e,null,i.component?a?a.children:null:t,r,o)})(s,i[s.value.outlet],t,r.concat([s.value]),o),delete i[s.value.outlet]}),Object.entries(i).forEach(([s,a])=>gs(a,t.getContext(s),o)),o}function gs(e,n,t){const r=Oo(e),o=e.value;Object.entries(r).forEach(([i,s])=>{gs(s,o.component?n?n.children.getContext(i):null:n,t)}),t.canDeactivateChecks.push(new Gu(o.component&&n&&n.outlet&&n.outlet.isActivated?n.outlet.component:null,o))}function ms(e){return"function"==typeof e}function Bb(e){return e instanceof Ou||"EmptyError"===e?.name}const qu=Symbol("INITIAL_VALUE");function Fo(){return Lt(e=>Xf(e.map(n=>n.pipe(Ao(1),function h2(...e){const n=$o(e);return xe((t,r)=>{(n?Jf(e,t,n):Jf(e,t)).subscribe(r)})}(qu)))).pipe(ne(n=>{for(const t of n)if(!0!==t){if(t===qu)return qu;if(!1===t||t instanceof No)return t}return!0}),Tn(n=>n!==qu),Ao(1)))}function $b(e){return function yE(...e){return Sh(e)}(We(n=>{if(br(n))throw Fb(0,n)}),ne(n=>!0===n))}class Wu{constructor(n){this.segmentGroup=n||null}}class Hb{constructor(n){this.urlTree=n}}function ko(e){return ns(new Wu(e))}function Ub(e){return ns(new Hb(e))}class HL{constructor(n,t){this.urlSerializer=n,this.urlTree=t}noMatchError(n){return new I(4002,!1)}lineralizeSegments(n,t){let r=[],o=t.root;for(;;){if(r=r.concat(o.segments),0===o.numberOfChildren)return B(r);if(o.numberOfChildren>1||!o.children[Y])return ns(new I(4e3,!1));o=o.children[Y]}}applyRedirectCommands(n,t,r){return this.applyRedirectCreateUrlTree(t,this.urlSerializer.parse(t),n,r)}applyRedirectCreateUrlTree(n,t,r,o){const i=this.createSegmentGroup(n,t.root,r,o);return new No(i,this.createQueryParams(t.queryParams,this.urlTree.queryParams),t.fragment)}createQueryParams(n,t){const r={};return Object.entries(n).forEach(([o,i])=>{if("string"==typeof i&&i.startsWith(":")){const a=i.substring(1);r[o]=t[a]}else r[o]=i}),r}createSegmentGroup(n,t,r,o){const i=this.createSegments(n,t.segments,r,o);let s={};return Object.entries(t.children).forEach(([a,u])=>{s[a]=this.createSegmentGroup(n,u,r,o)}),new ce(i,s)}createSegments(n,t,r,o){return t.map(i=>i.path.startsWith(":")?this.findPosParam(n,i,o):this.findOrReturn(i,r))}findPosParam(n,t,r){const o=r[t.path.substring(1)];if(!o)throw new I(4001,!1);return o}findOrReturn(n,t){let r=0;for(const o of t){if(o.path===n.path)return t.splice(r),o;r++}return n}}const gh={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function UL(e,n,t,r,o){const i=mh(e,n,t);return i.matched?(r=function fL(e,n){return e.providers&&!e._injector&&(e._injector=wd(e.providers,n,`Route: ${e.path}`)),e._injector??n}(n,r),function jL(e,n,t,r){const o=n.canMatch;return o&&0!==o.length?B(o.map(s=>{const a=Po(s,e);return Jn(function TL(e){return e&&ms(e.canMatch)}(a)?a.canMatch(n,t):e.runInContext(()=>a(n,t)))})).pipe(Fo(),$b()):B(!0)}(r,n,t).pipe(ne(s=>!0===s?i:{...gh}))):B(i)}function mh(e,n,t){if(""===n.path)return"full"===n.pathMatch&&(e.hasChildren()||t.length>0)?{...gh}:{matched:!0,consumedSegments:[],remainingSegments:t,parameters:{},positionalParamSegments:{}};const o=(n.matcher||C2)(t,e,n);if(!o)return{...gh};const i={};Object.entries(o.posParams??{}).forEach(([a,u])=>{i[a]=u.path});const s=o.consumed.length>0?{...i,...o.consumed[o.consumed.length-1].parameters}:i;return{matched:!0,consumedSegments:o.consumed,remainingSegments:t.slice(o.consumed.length),parameters:s,positionalParamSegments:o.posParams??{}}}function zb(e,n,t,r){return t.length>0&&function qL(e,n,t){return t.some(r=>Zu(e,n,r)&&Wt(r)!==Y)}(e,t,r)?{segmentGroup:new ce(n,GL(r,new ce(t,e.children))),slicedSegments:[]}:0===t.length&&function WL(e,n,t){return t.some(r=>Zu(e,n,r))}(e,t,r)?{segmentGroup:new ce(e.segments,zL(e,0,t,r,e.children)),slicedSegments:t}:{segmentGroup:new ce(e.segments,e.children),slicedSegments:t}}function zL(e,n,t,r,o){const i={};for(const s of r)if(Zu(e,t,s)&&!o[Wt(s)]){const a=new ce([],{});i[Wt(s)]=a}return{...o,...i}}function GL(e,n){const t={};t[Y]=n;for(const r of e)if(""===r.path&&Wt(r)!==Y){const o=new ce([],{});t[Wt(r)]=o}return t}function Zu(e,n,t){return(!(e.hasChildren()||n.length>0)||"full"!==t.pathMatch)&&""===t.path}class XL{constructor(n,t,r,o,i,s,a){this.injector=n,this.configLoader=t,this.rootComponentType=r,this.config=o,this.urlTree=i,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.allowRedirects=!0,this.applyRedirects=new HL(this.urlSerializer,this.urlTree)}noMatchError(n){return new I(4002,!1)}recognize(){const n=zb(this.urlTree.root,[],[],this.config).segmentGroup;return this.processSegmentGroup(this.injector,this.config,n,Y).pipe(Cr(t=>{if(t instanceof Hb)return this.allowRedirects=!1,this.urlTree=t.urlTree,this.match(t.urlTree);throw t instanceof Wu?this.noMatchError(t):t}),ne(t=>{const r=new Uu([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,{},Y,this.rootComponentType,null,{}),o=new An(r,t),i=new Nb("",o),s=function $2(e,n,t=null,r=null){return yb(_b(e),n,t,r)}(r,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,i.url=this.urlSerializer.serialize(s),this.inheritParamsAndData(i._root),{state:i,tree:s}}))}match(n){return this.processSegmentGroup(this.injector,this.config,n.root,Y).pipe(Cr(r=>{throw r instanceof Wu?this.noMatchError(r):r}))}inheritParamsAndData(n){const t=n.value,r=xb(t,this.paramsInheritanceStrategy);t.params=Object.freeze(r.params),t.data=Object.freeze(r.data),n.children.forEach(o=>this.inheritParamsAndData(o))}processSegmentGroup(n,t,r,o){return 0===r.segments.length&&r.hasChildren()?this.processChildren(n,t,r):this.processSegment(n,t,r,r.segments,o,!0)}processChildren(n,t,r){const o=[];for(const i of Object.keys(r.children))"primary"===i?o.unshift(i):o.push(i);return Ne(o).pipe(Io(i=>{const s=r.children[i],a=function mL(e,n){const t=e.filter(r=>Wt(r)===n);return t.push(...e.filter(r=>Wt(r)!==n)),t}(t,i);return this.processSegmentGroup(n,a,s,i)}),function m2(e,n){return xe(function g2(e,n,t,r,o){return(i,s)=>{let a=t,u=n,c=0;i.subscribe(Te(s,l=>{const d=c++;u=a?e(u,l,d):(a=!0,l),r&&s.next(u)},o&&(()=>{a&&s.next(u),s.complete()})))}}(e,n,arguments.length>=2,!0))}((i,s)=>(i.push(...s),i)),Pu(null),function v2(e,n){const t=arguments.length>=2;return r=>r.pipe(e?Tn((o,i)=>e(o,i,r)):Nn,eh(1),t?Pu(n):ib(()=>new Ou))}(),Le(i=>{if(null===i)return ko(r);const s=Gb(i);return function JL(e){e.sort((n,t)=>n.value.outlet===Y?-1:t.value.outlet===Y?1:n.value.outlet.localeCompare(t.value.outlet))}(s),B(s)}))}processSegment(n,t,r,o,i,s){return Ne(t).pipe(Io(a=>this.processSegmentAgainstRoute(a._injector??n,t,a,r,o,i,s).pipe(Cr(u=>{if(u instanceof Wu)return B(null);throw u}))),Dr(a=>!!a),Cr(a=>{if(Bb(a))return function YL(e,n,t){return 0===n.length&&!e.children[t]}(r,o,i)?B([]):ko(r);throw a}))}processSegmentAgainstRoute(n,t,r,o,i,s,a){return function ZL(e,n,t,r){return!!(Wt(e)===r||r!==Y&&Zu(n,t,e))&&("**"===e.path||mh(n,e,t).matched)}(r,o,i,s)?void 0===r.redirectTo?this.matchSegmentAgainstRoute(n,o,r,i,s,a):a&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(n,o,t,r,i,s):ko(o):ko(o)}expandSegmentAgainstRouteUsingRedirect(n,t,r,o,i,s){return"**"===o.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(n,r,o,s):this.expandRegularSegmentAgainstRouteUsingRedirect(n,t,r,o,i,s)}expandWildCardWithParamsAgainstRouteUsingRedirect(n,t,r,o){const i=this.applyRedirects.applyRedirectCommands([],r.redirectTo,{});return r.redirectTo.startsWith("/")?Ub(i):this.applyRedirects.lineralizeSegments(r,i).pipe(Le(s=>{const a=new ce(s,{});return this.processSegment(n,t,a,s,o,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(n,t,r,o,i,s){const{matched:a,consumedSegments:u,remainingSegments:c,positionalParamSegments:l}=mh(t,o,i);if(!a)return ko(t);const d=this.applyRedirects.applyRedirectCommands(u,o.redirectTo,l);return o.redirectTo.startsWith("/")?Ub(d):this.applyRedirects.lineralizeSegments(o,d).pipe(Le(g=>this.processSegment(n,r,t,g.concat(c),s,!1)))}matchSegmentAgainstRoute(n,t,r,o,i,s){let a;if("**"===r.path){const u=o.length>0?ab(o).parameters:{};a=B({snapshot:new Uu(o,u,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,qb(r),Wt(r),r.component??r._loadedComponent??null,r,Wb(r)),consumedSegments:[],remainingSegments:[]}),t.children={}}else a=UL(t,r,o,n).pipe(ne(({matched:u,consumedSegments:c,remainingSegments:l,parameters:d})=>u?{snapshot:new Uu(c,d,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,qb(r),Wt(r),r.component??r._loadedComponent??null,r,Wb(r)),consumedSegments:c,remainingSegments:l}:null));return a.pipe(Lt(u=>null===u?ko(t):this.getChildConfig(n=r._injector??n,r,o).pipe(Lt(({routes:c})=>{const l=r._loadedInjector??n,{snapshot:d,consumedSegments:g,remainingSegments:v}=u,{segmentGroup:_,slicedSegments:y}=zb(t,g,v,c);if(0===y.length&&_.hasChildren())return this.processChildren(l,c,_).pipe(ne(M=>null===M?null:[new An(d,M)]));if(0===c.length&&0===y.length)return B([new An(d,[])]);const C=Wt(r)===i;return this.processSegment(l,c,_,y,C?Y:i,!0).pipe(ne(M=>[new An(d,M)]))}))))}getChildConfig(n,t,r){return t.children?B({routes:t.children,injector:n}):t.loadChildren?void 0!==t._loadedRoutes?B({routes:t._loadedRoutes,injector:t._loadedInjector}):function VL(e,n,t,r){const o=n.canLoad;return void 0===o||0===o.length?B(!0):B(o.map(s=>{const a=Po(s,e);return Jn(function EL(e){return e&&ms(e.canLoad)}(a)?a.canLoad(n,t):e.runInContext(()=>a(n,t)))})).pipe(Fo(),$b())}(n,t,r).pipe(Le(o=>o?this.configLoader.loadChildren(n,t).pipe(We(i=>{t._loadedRoutes=i.routes,t._loadedInjector=i.injector})):function $L(e){return ns(kb(!1,3))}())):B({routes:[],injector:n})}}function KL(e){const n=e.value.routeConfig;return n&&""===n.path}function Gb(e){const n=[],t=new Set;for(const r of e){if(!KL(r)){n.push(r);continue}const o=n.find(i=>r.value.routeConfig===i.value.routeConfig);void 0!==o?(o.children.push(...r.children),t.add(o)):n.push(r)}for(const r of t){const o=Gb(r.children);n.push(new An(r.value,o))}return n.filter(r=>!t.has(r))}function qb(e){return e.data||{}}function Wb(e){return e.resolve||{}}function Zb(e){return"string"==typeof e.title||null===e.title}function vh(e){return Lt(n=>{const t=e(n);return t?Ne(t).pipe(ne(()=>n)):B(n)})}const Lo=new P("ROUTES");let _h=(()=>{class e{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=R(uD)}loadComponent(t){if(this.componentLoaders.get(t))return this.componentLoaders.get(t);if(t._loadedComponent)return B(t._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(t);const r=Jn(t.loadComponent()).pipe(ne(Yb),We(i=>{this.onLoadEndListener&&this.onLoadEndListener(t),t._loadedComponent=i}),qi(()=>{this.componentLoaders.delete(t)})),o=new ob(r,()=>new kt).pipe(Kf());return this.componentLoaders.set(t,o),o}loadChildren(t,r){if(this.childrenLoaders.get(r))return this.childrenLoaders.get(r);if(r._loadedRoutes)return B({routes:r._loadedRoutes,injector:r._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(r);const i=function sV(e,n,t,r){return Jn(e.loadChildren()).pipe(ne(Yb),Le(o=>o instanceof hy||Array.isArray(o)?B(o):Ne(n.compileModuleAsync(o))),ne(o=>{r&&r(e);let i,s,a=!1;return Array.isArray(o)?(s=o,!0):(i=o.create(t).injector,s=i.get(Lo,[],{optional:!0,self:!0}).flat()),{routes:s.map(ph),injector:i}}))}(r,this.compiler,t,this.onLoadEndListener).pipe(qi(()=>{this.childrenLoaders.delete(r)})),s=new ob(i,()=>new kt).pipe(Kf());return this.childrenLoaders.set(r,s),s}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Yb(e){return function aV(e){return e&&"object"==typeof e&&"default"in e}(e)?e.default:e}let Yu=(()=>{class e{get hasRequestedNavigation(){return 0!==this.navigationId}constructor(){this.currentNavigation=null,this.currentTransition=null,this.lastSuccessfulNavigation=null,this.events=new kt,this.transitionAbortSubject=new kt,this.configLoader=R(_h),this.environmentInjector=R(vt),this.urlSerializer=R(is),this.rootContexts=R(ds),this.inputBindingEnabled=null!==R(zu,{optional:!0}),this.navigationId=0,this.afterPreactivation=()=>B(void 0),this.rootComponentType=null,this.configLoader.onLoadEndListener=o=>this.events.next(new K2(o)),this.configLoader.onLoadStartListener=o=>this.events.next(new J2(o))}complete(){this.transitions?.complete()}handleNavigationRequest(t){const r=++this.navigationId;this.transitions?.next({...this.transitions.value,...t,id:r})}setupNavigations(t,r,o){return this.transitions=new bt({id:0,currentUrlTree:r,currentRawUrl:r,currentBrowserUrl:r,extractedUrl:t.urlHandlingStrategy.extract(r),urlAfterRedirects:t.urlHandlingStrategy.extract(r),rawUrl:r,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:cs,restoredState:null,currentSnapshot:o.snapshot,targetSnapshot:null,currentRouterState:o,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe(Tn(i=>0!==i.id),ne(i=>({...i,extractedUrl:t.urlHandlingStrategy.extract(i.rawUrl)})),Lt(i=>{this.currentTransition=i;let s=!1,a=!1;return B(i).pipe(We(u=>{this.currentNavigation={id:u.id,initialUrl:u.rawUrl,extractedUrl:u.extractedUrl,trigger:u.source,extras:u.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null}}),Lt(u=>{const c=u.currentBrowserUrl.toString(),l=!t.navigated||u.extractedUrl.toString()!==c||c!==u.currentUrlTree.toString();if(!l&&"reload"!==(u.extras.onSameUrlNavigation??t.onSameUrlNavigation)){const g="";return this.events.next(new Ro(u.id,this.urlSerializer.serialize(u.rawUrl),g,0)),u.resolve(null),Zt}if(t.urlHandlingStrategy.shouldProcessUrl(u.rawUrl))return B(u).pipe(Lt(g=>{const v=this.transitions?.getValue();return this.events.next(new $u(g.id,this.urlSerializer.serialize(g.extractedUrl),g.source,g.restoredState)),v!==this.transitions?.getValue()?Zt:Promise.resolve(g)}),function eV(e,n,t,r,o,i){return Le(s=>function QL(e,n,t,r,o,i,s="emptyOnly"){return new XL(e,n,t,r,o,s,i).recognize()}(e,n,t,r,s.extractedUrl,o,i).pipe(ne(({state:a,tree:u})=>({...s,targetSnapshot:a,urlAfterRedirects:u}))))}(this.environmentInjector,this.configLoader,this.rootComponentType,t.config,this.urlSerializer,t.paramsInheritanceStrategy),We(g=>{i.targetSnapshot=g.targetSnapshot,i.urlAfterRedirects=g.urlAfterRedirects,this.currentNavigation={...this.currentNavigation,finalUrl:g.urlAfterRedirects};const v=new Ib(g.id,this.urlSerializer.serialize(g.extractedUrl),this.urlSerializer.serialize(g.urlAfterRedirects),g.targetSnapshot);this.events.next(v)}));if(l&&t.urlHandlingStrategy.shouldProcessUrl(u.currentRawUrl)){const{id:g,extractedUrl:v,source:_,restoredState:y,extras:C}=u,M=new $u(g,this.urlSerializer.serialize(v),_,y);this.events.next(M);const D=Ab(0,this.rootComponentType).snapshot;return this.currentTransition=i={...u,targetSnapshot:D,urlAfterRedirects:v,extras:{...C,skipLocationChange:!1,replaceUrl:!1}},B(i)}{const g="";return this.events.next(new Ro(u.id,this.urlSerializer.serialize(u.extractedUrl),g,1)),u.resolve(null),Zt}}),We(u=>{const c=new Z2(u.id,this.urlSerializer.serialize(u.extractedUrl),this.urlSerializer.serialize(u.urlAfterRedirects),u.targetSnapshot);this.events.next(c)}),ne(u=>(this.currentTransition=i={...u,guards:yL(u.targetSnapshot,u.currentSnapshot,this.rootContexts)},i)),function xL(e,n){return Le(t=>{const{targetSnapshot:r,currentSnapshot:o,guards:{canActivateChecks:i,canDeactivateChecks:s}}=t;return 0===s.length&&0===i.length?B({...t,guardsResult:!0}):function NL(e,n,t,r){return Ne(e).pipe(Le(o=>function LL(e,n,t,r,o){const i=n&&n.routeConfig?n.routeConfig.canDeactivate:null;return i&&0!==i.length?B(i.map(a=>{const u=hs(n)??o,c=Po(a,u);return Jn(function SL(e){return e&&ms(e.canDeactivate)}(c)?c.canDeactivate(e,n,t,r):u.runInContext(()=>c(e,n,t,r))).pipe(Dr())})).pipe(Fo()):B(!0)}(o.component,o.route,t,n,r)),Dr(o=>!0!==o,!0))}(s,r,o,e).pipe(Le(a=>a&&function bL(e){return"boolean"==typeof e}(a)?function RL(e,n,t,r){return Ne(n).pipe(Io(o=>Jf(function PL(e,n){return null!==e&&n&&n(new eL(e)),B(!0)}(o.route.parent,r),function OL(e,n){return null!==e&&n&&n(new nL(e)),B(!0)}(o.route,r),function kL(e,n,t){const r=n[n.length-1],i=n.slice(0,n.length-1).reverse().map(s=>function DL(e){const n=e.routeConfig?e.routeConfig.canActivateChild:null;return n&&0!==n.length?{node:e,guards:n}:null}(s)).filter(s=>null!==s).map(s=>rb(()=>B(s.guards.map(u=>{const c=hs(s.node)??t,l=Po(u,c);return Jn(function ML(e){return e&&ms(e.canActivateChild)}(l)?l.canActivateChild(r,e):c.runInContext(()=>l(r,e))).pipe(Dr())})).pipe(Fo())));return B(i).pipe(Fo())}(e,o.path,t),function FL(e,n,t){const r=n.routeConfig?n.routeConfig.canActivate:null;if(!r||0===r.length)return B(!0);const o=r.map(i=>rb(()=>{const s=hs(n)??t,a=Po(i,s);return Jn(function IL(e){return e&&ms(e.canActivate)}(a)?a.canActivate(n,e):s.runInContext(()=>a(n,e))).pipe(Dr())}));return B(o).pipe(Fo())}(e,o.route,t))),Dr(o=>!0!==o,!0))}(r,i,e,n):B(a)),ne(a=>({...t,guardsResult:a})))})}(this.environmentInjector,u=>this.events.next(u)),We(u=>{if(i.guardsResult=u.guardsResult,br(u.guardsResult))throw Fb(0,u.guardsResult);const c=new Y2(u.id,this.urlSerializer.serialize(u.extractedUrl),this.urlSerializer.serialize(u.urlAfterRedirects),u.targetSnapshot,!!u.guardsResult);this.events.next(c)}),Tn(u=>!!u.guardsResult||(this.cancelNavigationTransition(u,"",3),!1)),vh(u=>{if(u.guards.canActivateChecks.length)return B(u).pipe(We(c=>{const l=new Q2(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(l)}),Lt(c=>{let l=!1;return B(c).pipe(function tV(e,n){return Le(t=>{const{targetSnapshot:r,guards:{canActivateChecks:o}}=t;if(!o.length)return B(t);let i=0;return Ne(o).pipe(Io(s=>function nV(e,n,t,r){const o=e.routeConfig,i=e._resolve;return void 0!==o?.title&&!Zb(o)&&(i[rs]=o.title),function rV(e,n,t,r){const o=function oV(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e)]}(e);if(0===o.length)return B({});const i={};return Ne(o).pipe(Le(s=>function iV(e,n,t,r){const o=hs(n)??r,i=Po(e,o);return Jn(i.resolve?i.resolve(n,t):o.runInContext(()=>i(n,t)))}(e[s],n,t,r).pipe(Dr(),We(a=>{i[s]=a}))),eh(1),function _2(e){return ne(()=>e)}(i),Cr(s=>Bb(s)?Zt:ns(s)))}(i,e,n,r).pipe(ne(s=>(e._resolvedData=s,e.data=xb(e,t).resolve,o&&Zb(o)&&(e.data[rs]=o.title),null)))}(s.route,r,e,n)),We(()=>i++),eh(1),Le(s=>i===o.length?B(t):Zt))})}(t.paramsInheritanceStrategy,this.environmentInjector),We({next:()=>l=!0,complete:()=>{l||this.cancelNavigationTransition(c,"",2)}}))}),We(c=>{const l=new X2(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(l)}))}),vh(u=>{const c=l=>{const d=[];l.routeConfig?.loadComponent&&!l.routeConfig._loadedComponent&&d.push(this.configLoader.loadComponent(l.routeConfig).pipe(We(g=>{l.component=g}),ne(()=>{})));for(const g of l.children)d.push(...c(g));return d};return Xf(c(u.targetSnapshot.root)).pipe(Pu(),Ao(1))}),vh(()=>this.afterPreactivation()),ne(u=>{const c=function uL(e,n,t){const r=fs(e,n._root,t?t._root:void 0);return new Tb(r,n)}(t.routeReuseStrategy,u.targetSnapshot,u.currentRouterState);return this.currentTransition=i={...u,targetRouterState:c},i}),We(()=>{this.events.next(new sh)}),((e,n,t,r)=>ne(o=>(new _L(n,o.targetRouterState,o.currentRouterState,t,r).activate(e),o)))(this.rootContexts,t.routeReuseStrategy,u=>this.events.next(u),this.inputBindingEnabled),Ao(1),We({next:u=>{s=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new Kn(u.id,this.urlSerializer.serialize(u.extractedUrl),this.urlSerializer.serialize(u.urlAfterRedirects))),t.titleStrategy?.updateTitle(u.targetRouterState.snapshot),u.resolve(!0)},complete:()=>{s=!0}}),function y2(e){return xe((n,t)=>{dt(e).subscribe(Te(t,()=>t.complete(),Ju)),!t.closed&&n.subscribe(t)})}(this.transitionAbortSubject.pipe(We(u=>{throw u}))),qi(()=>{s||a||this.cancelNavigationTransition(i,"",1),this.currentNavigation?.id===i.id&&(this.currentNavigation=null)}),Cr(u=>{if(a=!0,Lb(u))this.events.next(new ls(i.id,this.urlSerializer.serialize(i.extractedUrl),u.message,u.cancellationCode)),function dL(e){return Lb(e)&&br(e.url)}(u)?this.events.next(new ah(u.url)):i.resolve(!1);else{this.events.next(new Hu(i.id,this.urlSerializer.serialize(i.extractedUrl),u,i.targetSnapshot??void 0));try{i.resolve(t.errorHandler(u))}catch(c){i.reject(c)}}return Zt}))}))}cancelNavigationTransition(t,r,o){const i=new ls(t.id,this.urlSerializer.serialize(t.extractedUrl),r,o);this.events.next(i),t.resolve(!1)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Qb(e){return e!==cs}let Xb=(()=>{class e{buildTitle(t){let r,o=t.root;for(;void 0!==o;)r=this.getResolvedTitleForRoute(o)??r,o=o.children.find(i=>i.outlet===Y);return r}getResolvedTitleForRoute(t){return t.data[rs]}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:function(){return R(uV)},providedIn:"root"})}return e})(),uV=(()=>{class e extends Xb{constructor(t){super(),this.title=t}updateTitle(t){const r=this.buildTitle(t);void 0!==r&&this.title.setTitle(r)}static#e=this.\u0275fac=function(r){return new(r||e)(k(TC))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),cV=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:function(){return R(dV)},providedIn:"root"})}return e})();class lV{shouldDetach(n){return!1}store(n,t){}shouldAttach(n){return!1}retrieve(n){return null}shouldReuseRoute(n,t){return n.routeConfig===t.routeConfig}}let dV=(()=>{class e extends lV{static#e=this.\u0275fac=function(){let t;return function(o){return(t||(t=He(e)))(o||e)}}();static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const Qu=new P("",{providedIn:"root",factory:()=>({})});let fV=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:function(){return R(hV)},providedIn:"root"})}return e})(),hV=(()=>{class e{shouldProcessUrl(t){return!0}extract(t){return t}merge(t,r){return t}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var vs=function(e){return e[e.COMPLETE=0]="COMPLETE",e[e.FAILED=1]="FAILED",e[e.REDIRECTING=2]="REDIRECTING",e}(vs||{});function Jb(e,n){e.events.pipe(Tn(t=>t instanceof Kn||t instanceof ls||t instanceof Hu||t instanceof Ro),ne(t=>t instanceof Kn||t instanceof Ro?vs.COMPLETE:t instanceof ls&&(0===t.code||1===t.code)?vs.REDIRECTING:vs.FAILED),Tn(t=>t!==vs.REDIRECTING),Ao(1)).subscribe(()=>{n()})}function pV(e){throw e}function gV(e,n,t){return n.parse("/")}const mV={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},vV={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let Ft=(()=>{class e{get navigationId(){return this.navigationTransitions.navigationId}get browserPageId(){return"computed"!==this.canceledNavigationResolution?this.currentPageId:this.location.getState()?.\u0275routerPageId??this.currentPageId}get events(){return this._events}constructor(){this.disposed=!1,this.currentPageId=0,this.console=R(aD),this.isNgZoneEnabled=!1,this._events=new kt,this.options=R(Qu,{optional:!0})||{},this.pendingTasks=R(qa),this.errorHandler=this.options.errorHandler||pV,this.malformedUriErrorHandler=this.options.malformedUriErrorHandler||gV,this.navigated=!1,this.lastSuccessfulId=-1,this.urlHandlingStrategy=R(fV),this.routeReuseStrategy=R(cV),this.titleStrategy=R(Xb),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.config=R(Lo,{optional:!0})?.flat()??[],this.navigationTransitions=R(Yu),this.urlSerializer=R(is),this.location=R(ef),this.componentInputBindingEnabled=!!R(zu,{optional:!0}),this.eventsSubscription=new lt,this.isNgZoneEnabled=R(ge)instanceof ge&&ge.isInAngularZone(),this.resetConfig(this.config),this.currentUrlTree=new No,this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.routerState=Ab(0,null),this.navigationTransitions.setupNavigations(this,this.currentUrlTree,this.routerState).subscribe(t=>{this.lastSuccessfulId=t.id,this.currentPageId=this.browserPageId},t=>{this.console.warn(`Unhandled Navigation Error: ${t}`)}),this.subscribeToNavigationEvents()}subscribeToNavigationEvents(){const t=this.navigationTransitions.events.subscribe(r=>{try{const{currentTransition:o}=this.navigationTransitions;if(null===o)return void(Kb(r)&&this._events.next(r));if(r instanceof $u)Qb(o.source)&&(this.browserUrlTree=o.extractedUrl);else if(r instanceof Ro)this.rawUrlTree=o.rawUrl;else if(r instanceof Ib){if("eager"===this.urlUpdateStrategy){if(!o.extras.skipLocationChange){const i=this.urlHandlingStrategy.merge(o.urlAfterRedirects,o.rawUrl);this.setBrowserUrl(i,o)}this.browserUrlTree=o.urlAfterRedirects}}else if(r instanceof sh)this.currentUrlTree=o.urlAfterRedirects,this.rawUrlTree=this.urlHandlingStrategy.merge(o.urlAfterRedirects,o.rawUrl),this.routerState=o.targetRouterState,"deferred"===this.urlUpdateStrategy&&(o.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,o),this.browserUrlTree=o.urlAfterRedirects);else if(r instanceof ls)0!==r.code&&1!==r.code&&(this.navigated=!0),(3===r.code||2===r.code)&&this.restoreHistory(o);else if(r instanceof ah){const i=this.urlHandlingStrategy.merge(r.url,o.currentRawUrl),s={skipLocationChange:o.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy||Qb(o.source)};this.scheduleNavigation(i,cs,null,s,{resolve:o.resolve,reject:o.reject,promise:o.promise})}r instanceof Hu&&this.restoreHistory(o,!0),r instanceof Kn&&(this.navigated=!0),Kb(r)&&this._events.next(r)}catch(o){this.navigationTransitions.transitionAbortSubject.next(o)}});this.eventsSubscription.add(t)}resetRootComponentType(t){this.routerState.root.component=t,this.navigationTransitions.rootComponentType=t}initialNavigation(){if(this.setUpLocationChangeListener(),!this.navigationTransitions.hasRequestedNavigation){const t=this.location.getState();this.navigateToSyncWithBrowser(this.location.path(!0),cs,t)}}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(t=>{const r="popstate"===t.type?"popstate":"hashchange";"popstate"===r&&setTimeout(()=>{this.navigateToSyncWithBrowser(t.url,r,t.state)},0)}))}navigateToSyncWithBrowser(t,r,o){const i={replaceUrl:!0},s=o?.navigationId?o:null;if(o){const u={...o};delete u.navigationId,delete u.\u0275routerPageId,0!==Object.keys(u).length&&(i.state=u)}const a=this.parseUrl(t);this.scheduleNavigation(a,r,s,i)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(t){this.config=t.map(ph),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(t,r={}){const{relativeTo:o,queryParams:i,fragment:s,queryParamsHandling:a,preserveFragment:u}=r,c=u?this.currentUrlTree.fragment:s;let d,l=null;switch(a){case"merge":l={...this.currentUrlTree.queryParams,...i};break;case"preserve":l=this.currentUrlTree.queryParams;break;default:l=i||null}null!==l&&(l=this.removeEmptyProps(l));try{d=_b(o?o.snapshot:this.routerState.snapshot.root)}catch{("string"!=typeof t[0]||!t[0].startsWith("/"))&&(t=[]),d=this.currentUrlTree.root}return yb(d,t,l,c??null)}navigateByUrl(t,r={skipLocationChange:!1}){const o=br(t)?t:this.parseUrl(t),i=this.urlHandlingStrategy.merge(o,this.rawUrlTree);return this.scheduleNavigation(i,cs,null,r)}navigate(t,r={skipLocationChange:!1}){return function _V(e){for(let n=0;n{const i=t[o];return null!=i&&(r[o]=i),r},{})}scheduleNavigation(t,r,o,i,s){if(this.disposed)return Promise.resolve(!1);let a,u,c;s?(a=s.resolve,u=s.reject,c=s.promise):c=new Promise((d,g)=>{a=d,u=g});const l=this.pendingTasks.add();return Jb(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(l))}),this.navigationTransitions.handleNavigationRequest({source:r,restoredState:o,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,currentBrowserUrl:this.browserUrlTree,rawUrl:t,extras:i,resolve:a,reject:u,promise:c,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),c.catch(d=>Promise.reject(d))}setBrowserUrl(t,r){const o=this.urlSerializer.serialize(t);if(this.location.isCurrentPathEqualTo(o)||r.extras.replaceUrl){const s={...r.extras.state,...this.generateNgRouterState(r.id,this.browserPageId)};this.location.replaceState(o,"",s)}else{const i={...r.extras.state,...this.generateNgRouterState(r.id,this.browserPageId+1)};this.location.go(o,"",i)}}restoreHistory(t,r=!1){if("computed"===this.canceledNavigationResolution){const i=this.currentPageId-this.browserPageId;0!==i?this.location.historyGo(i):this.currentUrlTree===this.getCurrentNavigation()?.finalUrl&&0===i&&(this.resetState(t),this.browserUrlTree=t.currentUrlTree,this.resetUrlToCurrentUrlTree())}else"replace"===this.canceledNavigationResolution&&(r&&this.resetState(t),this.resetUrlToCurrentUrlTree())}resetState(t){this.routerState=t.currentRouterState,this.currentUrlTree=t.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,t.rawUrl)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(t,r){return"computed"===this.canceledNavigationResolution?{navigationId:t,\u0275routerPageId:r}:{navigationId:t}}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Kb(e){return!(e instanceof sh||e instanceof ah)}class eE{}let CV=(()=>{class e{constructor(t,r,o,i,s){this.router=t,this.injector=o,this.preloadingStrategy=i,this.loader=s}setUpPreloading(){this.subscription=this.router.events.pipe(Tn(t=>t instanceof Kn),Io(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(t,r){const o=[];for(const i of r){i.providers&&!i._injector&&(i._injector=wd(i.providers,t,`Route: ${i.path}`));const s=i._injector??t,a=i._loadedInjector??s;(i.loadChildren&&!i._loadedRoutes&&void 0===i.canLoad||i.loadComponent&&!i._loadedComponent)&&o.push(this.preloadConfig(s,i)),(i.children||i._loadedRoutes)&&o.push(this.processRoutes(a,i.children??i._loadedRoutes))}return Ne(o).pipe(Mr())}preloadConfig(t,r){return this.preloadingStrategy.preload(r,()=>{let o;o=r.loadChildren&&void 0===r.canLoad?this.loader.loadChildren(t,r):B(null);const i=o.pipe(Le(s=>null===s?B(void 0):(r._loadedRoutes=s.routes,r._loadedInjector=s.injector,this.processRoutes(s.injector??t,s.routes))));return r.loadComponent&&!r._loadedComponent?Ne([i,this.loader.loadComponent(r)]).pipe(Mr()):i})}static#e=this.\u0275fac=function(r){return new(r||e)(k(Ft),k(uD),k(vt),k(eE),k(_h))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const Dh=new P("");let tE=(()=>{class e{constructor(t,r,o,i,s={}){this.urlSerializer=t,this.transitions=r,this.viewportScroller=o,this.zone=i,this.options=s,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},s.scrollPositionRestoration=s.scrollPositionRestoration||"disabled",s.anchorScrolling=s.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(t=>{t instanceof $u?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=t.navigationTrigger,this.restoredId=t.restoredState?t.restoredState.navigationId:0):t instanceof Kn?(this.lastId=t.id,this.scheduleScrollEvent(t,this.urlSerializer.parse(t.urlAfterRedirects).fragment)):t instanceof Ro&&0===t.code&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(t,this.urlSerializer.parse(t.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(t=>{t instanceof Mb&&(t.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(t.position):t.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(t.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(t,r){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new Mb(t,"popstate"===this.lastSource?this.store[this.restoredId]:null,r))})},0)})}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}static#e=this.\u0275fac=function(r){!function ev(){throw new Error("invalid")}()};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();function xn(e,n){return{\u0275kind:e,\u0275providers:n}}function rE(){const e=R(yt);return n=>{const t=e.get(wo);if(n!==t.components[0])return;const r=e.get(Ft),o=e.get(oE);1===e.get(Ch)&&r.initialNavigation(),e.get(iE,null,X.Optional)?.setUpPreloading(),e.get(Dh,null,X.Optional)?.init(),r.resetRootComponentType(t.componentTypes[0]),o.closed||(o.next(),o.complete(),o.unsubscribe())}}const oE=new P("",{factory:()=>new kt}),Ch=new P("",{providedIn:"root",factory:()=>1}),iE=new P("");function IV(e){return xn(0,[{provide:iE,useExisting:CV},{provide:eE,useExisting:e}])}const sE=new P("ROUTER_FORROOT_GUARD"),SV=[ef,{provide:is,useClass:th},Ft,ds,{provide:Er,useFactory:function nE(e){return e.routerState.root},deps:[Ft]},_h,[]];function TV(){return new gD("Router",Ft)}let aE=(()=>{class e{constructor(t){}static forRoot(t,r){return{ngModule:e,providers:[SV,[],{provide:Lo,multi:!0,useValue:t},{provide:sE,useFactory:RV,deps:[[Ft,new Zs,new Ys]]},{provide:Qu,useValue:r||{}},r?.useHash?{provide:gr,useClass:hO}:{provide:gr,useClass:GD},{provide:Dh,useFactory:()=>{const e=R(NP),n=R(ge),t=R(Qu),r=R(Yu),o=R(is);return t.scrollOffset&&e.setOffset(t.scrollOffset),new tE(o,r,e,n,t)}},r?.preloadingStrategy?IV(r.preloadingStrategy).\u0275providers:[],{provide:gD,multi:!0,useFactory:TV},r?.initialNavigation?OV(r):[],r?.bindToComponentInputs?xn(8,[Pb,{provide:zu,useExisting:Pb}]).\u0275providers:[],[{provide:uE,useFactory:rE},{provide:zd,multi:!0,useExisting:uE}]]}}static forChild(t){return{ngModule:e,providers:[{provide:Lo,multi:!0,useValue:t}]}}static#e=this.\u0275fac=function(r){return new(r||e)(k(sE,8))};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({})}return e})();function RV(e){return"guarded"}function OV(e){return["disabled"===e.initialNavigation?xn(3,[{provide:kd,multi:!0,useFactory:()=>{const n=R(Ft);return()=>{n.setUpLocationChangeListener()}}},{provide:Ch,useValue:2}]).\u0275providers:[],"enabledBlocking"===e.initialNavigation?xn(2,[{provide:Ch,useValue:0},{provide:kd,multi:!0,deps:[yt],useFactory:n=>{const t=n.get(dO,Promise.resolve());return()=>t.then(()=>new Promise(r=>{const o=n.get(Ft),i=n.get(oE);Jb(o,()=>{r(!0)}),n.get(Yu).afterPreactivation=()=>(r(!0),i.closed?B(void 0):i),o.initialNavigation()}))}}]).\u0275providers:[]]}const uE=new P(""),FV=[];let kV=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({imports:[aE.forRoot(FV),aE]})}return e})();class cE{constructor(n={}){this.term=n.term||""}}function LV(e,n){if(1&e&&(h(0,"li"),p(1),f()),2&e){const t=n.$implicit;m(1),T(t.id)}}function VV(e,n){if(1&e&&(h(0,"div",23)(1,"ul"),A(2,LV,2,1,"li",3),f()()),2&e){const t=E(3).$implicit;m(2),S("ngForOf",t.inputs)}}function jV(e,n){if(1&e&&(h(0,"div")(1,"div",24)(2,"p",18)(3,"a",12),p(4),f(),h(5,"button",19),p(6),f()()()()),2&e){const t=n.$implicit;m(3),F("href","/explorer?term=",t.to,"",L),m(1),T(t.to),m(2),x("",t.value.toFixed(6)," YDA")}}function BV(e,n){if(1&e){const t=Rt();h(0,"div")(1,"div",11)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",12),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",12),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Time: "),f(),p(15),f(),h(16,"p")(17,"strong"),p(18,"Fee: "),f(),p(19),f(),h(20,"p")(21,"strong"),p(22,"Inputs:"),f(),p(23),f(),h(24,"div",13)(25,"button",14),re("click",function(){return Tt(t),At(E(3).toggleAccordion("inputsAccordion"))}),p(26,"Show Inputs"),f(),A(27,VV,3,1,"div",15),f(),h(28,"p")(29,"strong"),p(30,"Outputs:"),f(),p(31),f(),h(32,"div",16)(33,"div",17)(34,"p",18)(35,"a",12),p(36),f(),h(37,"button",19),p(38),f()()()(),h(39,"div",20),Pe(40,"img",21),f(),h(41,"div",22),A(42,jV,7,3,"div",3),f()()()}if(2&e){const t=E(2).$implicit,r=E();m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",r.dateFormatService.formatTransactionTime(t.time),""),m(4),x(" ",t.fee," YDA"),m(4),x(" ",t.inputs.length,""),m(4),S("ngIf","inputsAccordion"===r.showAccordion),m(4),x(" ",t.outputs.length,""),m(4),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),m(1),T(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to),m(2),x("",r.getTotalValue(t.outputs).toFixed(6)," YDA"),m(4),S("ngForOf",t.outputs)}}function $V(e,n){if(1&e&&(h(0,"div")(1,"div",11)(2,"p")(3,"strong"),p(4,"Relationship Identifier:"),f(),p(5),f(),h(6,"div",25)(7,"h4",26),p(8,"Relationship DATA:"),f(),h(9,"textarea",27),p(10),f()(),h(11,"div",16)(12,"div",24)(13,"button",28),p(14,"Newly created Address"),f(),h(15,"p",29)(16,"a",12),p(17),f()()()()()()),2&e){const t=E(2).$implicit;m(5),x(" ",t.rid,""),m(5),T(t.relationship),m(6),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),m(1),T(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function HV(e,n){if(1&e&&(h(0,"div")(1,"div",11)(2,"p")(3,"strong"),p(4,"Relationship Identifier:"),f(),p(5),f(),h(6,"div",25)(7,"h4",26),p(8,"Relationship DATA:"),f(),h(9,"textarea",27),p(10),f()()()()),2&e){const t=E(2).$implicit;m(5),x(" ",t.rid,""),m(5),T(t.relationship)}}function UV(e,n){if(1&e&&(h(0,"div")(1,"div",11)(2,"p")(3,"strong"),p(4,"Relationship Identifier:"),f(),p(5),f(),h(6,"div",25)(7,"h4",26),p(8,"Relationship DATA:"),f(),h(9,"textarea",27),p(10),f()()()()),2&e){const t=E(2).$implicit;m(5),x(" ",t.rid,""),m(5),T(t.relationship)}}function zV(e,n){if(1&e&&(h(0,"tr",7)(1,"td",8)(2,"div")(3,"h2",9),p(4,"Transaction Details"),f(),A(5,BV,43,13,"div",10),A(6,$V,18,4,"div",10),A(7,HV,11,2,"div",10),A(8,UV,11,2,"div",10),f()()()),2&e){const t=E().$implicit,r=E();m(5),S("ngIf",r.transactionUtilsService.isTransferTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isCreateIdentityTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isEncryptedMessageTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isMessageTransaction(t))}}const GV=function(e,n,t,r){return{transfer:e,"create-identity":n,"encrypted-message":t,message:r}};function qV(e,n){if(1&e){const t=Rt();$n(0),h(1,"tr",4),re("click",function(){const i=Tt(t).$implicit;return At(E().toggleDetails(i))}),h(2,"td"),p(3),f(),h(4,"td"),p(5),f(),h(6,"td")(7,"button",5),p(8),f()(),h(9,"td"),p(10),f(),h(11,"td"),p(12),f()(),A(13,zV,9,4,"tr",6),Hn()}if(2&e){const t=n.$implicit,r=E();m(3),T(r.dateFormatService.formatTransactionTime(t.time)),m(2),T(t.hash),m(2),S("ngClass",wy(7,GV,r.transactionUtilsService.isTransferTransaction(t),r.transactionUtilsService.isCreateIdentityTransaction(t),r.transactionUtilsService.isEncryptedMessageTransaction(t),r.transactionUtilsService.isMessageTransaction(t))),m(1),x(" ",r.transactionUtilsService.getTransactionType(t)," "),m(2),T(t.inputs.length),m(2),T(t.outputs.length),m(1),S("ngIf",r.expandedTransaction&&r.expandedTransaction.id===t.id)}}let WV=(()=>{class e{constructor(t,r,o){this.httpClient=t,this.dateFormatService=r,this.transactionUtilsService=o,this.mempoolData=[],this.expandedTransaction=null,this.result=[],this.showAccordion=null}ngOnInit(){this.httpClient.get("/explorer-mempool").subscribe(t=>{this.mempoolData=t.result||[]},t=>{console.error("Error fetching mempool data:",t)})}toggleDetails(t){this.expandedTransaction=this.expandedTransaction===t?null:t}getTotalValue(t){return t.reduce((r,o)=>r+o.value,0)}toggleAccordion(t){this.showAccordion=this.showAccordion===t?null:t}static#e=this.\u0275fac=function(r){return new(r||e)(b(Zi),b(Nu),b(Ru))};static#t=this.\u0275cmp=Tr({type:e,selectors:[["app-mempool"]],decls:18,vars:1,consts:[[2,"text-transform","uppercase","margin","10px","margin-top","20px"],[1,"blocks-container"],[1,"blocks-table"],[4,"ngFor","ngForOf"],[3,"click"],[1,"transaction-type-button",3,"ngClass"],["class","expanded-row",4,"ngIf"],[1,"expanded-row"],["colspan","5"],[2,"text-transform","uppercase","margin","20px","margin-top","10px"],[4,"ngIf"],[1,"transaction-details"],[3,"href"],[1,"input-section",2,"width","100%","display","inline-block","margin-top","5px"],[1,"accordion",3,"click"],["class","panel",4,"ngIf"],[1,"in-section",2,"width","44%","display","inline-block","margin-top","5px"],[1,"transfer-in-info-box"],[2,"margin-left","10px"],[1,"transaction-value-button"],[1,"arrow-box",2,"width","10%","display","inline-block","vertical-align","top"],["src","yadacoinstatic/explorer/assets/arrow-right.png","alt","Arrow Right",1,"arrow-icon"],[1,"out-section",2,"width","44%","display","inline-block","float","right","margin-top","5px"],[1,"panel"],[1,"transfer-out-info-box"],[1,"relationship-data-box"],[2,"text-transform","uppercase","margin","10px"],["rows","4","readonly","",2,"width","98%"],[1,"transaction-type-button","create-identity"],[2,"margin-left","15px"]],template:function(r,o){1&r&&(h(0,"h2",0),p(1,"Mempool"),f(),h(2,"div",1)(3,"table",2)(4,"thead")(5,"tr")(6,"th"),p(7,"Time"),f(),h(8,"th"),p(9,"Hash"),f(),h(10,"th"),p(11,"Type"),f(),h(12,"th"),p(13,"Inputs"),f(),h(14,"th"),p(15,"Outputs"),f()()(),h(16,"tbody"),A(17,qV,14,12,"ng-container",3),f()()()),2&r&&(m(17),S("ngForOf",o.mempoolData))},dependencies:[du,fu,Ui]})}return e})();function ZV(e,n){1&e&&(h(0,"div",9)(1,"strong"),p(2,"Loading..."),f()())}function YV(e,n){if(1&e&&(h(0,"div",10)(1,"strong"),p(2,"Your Balance:"),f(),p(3),f()),2&e){const t=E();m(3),x(" ",t.balance," ")}}let QV=(()=>{class e{constructor(t){this.httpClient=t,this.address="",this.balance=0,this.loading=!1}getBalance(){this.address&&(this.loading=!0,this.httpClient.get(`/explorer-get-balance?address=${this.address}`).subscribe(t=>{this.balance=t.balance,this.loading=!1},t=>{alert("Something went wrong while fetching the balance."),this.loading=!1}))}static#e=this.\u0275fac=function(r){return new(r||e)(b(Zi))};static#t=this.\u0275cmp=Tr({type:e,selectors:[["app-address-balance"]],decls:15,vars:5,consts:[[1,"button",2,"text-transform","uppercase","margin","10px","margin-top","20px"],[1,"address-balance-container"],["for","addressInput"],[2,"display","flex"],["id","addressInput","type","text",1,"search-container",3,"ngModel","ngModelChange"],[1,"button","btn-success",3,"disabled","click"],[2,"margin-top","10px"],["class","loading-message",4,"ngIf"],["class","result",4,"ngIf"],[1,"loading-message"],[1,"result"]],template:function(r,o){1&r&&(h(0,"h2",0),p(1,"Address Balance"),f(),h(2,"div",1)(3,"label",2),p(4,"Enter Your Wallet Address:"),f(),h(5,"div",3)(6,"input",4),re("ngModelChange",function(s){return o.address=s}),f(),h(7,"button",5),re("click",function(){return o.getBalance()}),p(8,"Get balance"),f()(),h(9,"div",6)(10,"strong"),p(11,"Your Address:"),f(),p(12),f(),A(13,ZV,3,0,"div",7),A(14,YV,4,1,"div",8),f()),2&r&&(m(6),S("ngModel",o.address),m(1),S("disabled",o.loading),m(5),x(" ",o.address," "),m(1),S("ngIf",o.loading),m(1),S("ngIf",!o.loading&&null!==o.balance))},dependencies:[Ui,Qi,Pf,xu],styles:[".address-balance-container[_ngcontent-%COMP%]{margin:10px;padding:20px;background-color:#424242;border-radius:5px;color:#fff}label[_ngcontent-%COMP%]{display:block;margin-bottom:10px}input[_ngcontent-%COMP%]{flex:1;padding:10px;margin-bottom:10px;margin-right:10px}button.btn-success[_ngcontent-%COMP%]{background-color:green;color:#fff;padding:8px 20px;border:none;cursor:pointer;transition:background .3s ease;border-radius:5px;height:40px}.loading-message[_ngcontent-%COMP%], .result[_ngcontent-%COMP%]{margin-top:10px}"]})}return e})();function XV(e,n){if(1&e&&(h(0,"li"),p(1),f()),2&e){const t=n.$implicit;m(1),T(t.id)}}function JV(e,n){if(1&e&&(h(0,"div",25)(1,"ul"),A(2,XV,2,1,"li",3),f()()),2&e){const t=E(3).$implicit;m(2),S("ngForOf",t.inputs)}}function KV(e,n){if(1&e&&(h(0,"div")(1,"div",26)(2,"p",20)(3,"a",10),p(4),f(),h(5,"button",21),p(6),f()()()()),2&e){const t=n.$implicit;m(3),F("href","/explorer?term=",t.to,"",L),m(1),T(t.to),m(2),x("",t.value.toFixed(6)," YDA")}}function ej(e,n){if(1&e){const t=Rt();h(0,"div")(1,"div",14)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",10),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",10),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Inputs:"),f(),p(15),f(),h(16,"div",15)(17,"button",16),re("click",function(){return Tt(t),At(E(5).toggleAccordion("inputsAccordion"))}),p(18,"Show Inputs"),f(),A(19,JV,3,1,"div",17),f(),h(20,"p")(21,"strong"),p(22,"Outputs:"),f(),p(23),f(),h(24,"div",18)(25,"div",19)(26,"p",20)(27,"a",10),p(28),f(),h(29,"button",21),p(30),f()()()(),h(31,"div",22),Pe(32,"img",23),f(),h(33,"div",24),A(34,KV,7,3,"div",3),f()()()}if(2&e){const t=E(2).$implicit,r=E(3);m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.inputs.length,""),m(4),S("ngIf","inputsAccordion"===r.showAccordion),m(4),x(" ",t.outputs.length,""),m(4),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),m(1),T(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to),m(2),x("",r.getTotalValue(t.outputs).toFixed(6)," YDA"),m(4),S("ngForOf",t.outputs)}}function tj(e,n){if(1&e&&(h(0,"div"),A(1,ej,35,11,"div",13),f()),2&e){const t=E().index,r=E(2).index,o=E();m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}function nj(e,n){if(1&e&&(h(0,"div")(1,"div",26)(2,"p",20)(3,"a",10),p(4),f(),h(5,"button",21),p(6),f()()()()),2&e){const t=n.$implicit;m(3),F("href","/explorer?term=",t.to,"",L),m(1),T(t.to),m(2),x("",t.value.toFixed(6)," YDA")}}function rj(e,n){if(1&e&&(h(0,"div")(1,"div",14)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",10),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",10),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Outputs:"),f(),p(15),f(),h(16,"div",18)(17,"div",19)(18,"button",27),p(19,"Coinbase"),f(),h(20,"p",20),p(21," (Newly Generated Coins) "),h(22,"button",21),p(23),f()()()(),h(24,"div",22),Pe(25,"img",23),f(),h(26,"div",24),A(27,nj,7,3,"div",3),f()()()),2&e){const t=E(2).$implicit,r=E(3);m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.outputs.length,""),m(8),x("",r.getTotalValue(t.outputs).toFixed(6)," YDA"),m(4),S("ngForOf",t.outputs)}}function oj(e,n){if(1&e&&(h(0,"div"),A(1,rj,28,7,"div",13),f()),2&e){const t=E().index,r=E(2).index,o=E();m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}function ij(e,n){if(1&e&&(h(0,"div")(1,"div",14)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",10),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",10),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Relationship Identifier:"),f(),p(15),f(),h(16,"div",28)(17,"h4",29),p(18,"Relationship DATA:"),f(),h(19,"textarea",30),p(20),f()(),h(21,"div",18)(22,"div",26)(23,"button",31),p(24,"Newly created Address"),f(),h(25,"p",32)(26,"a",10),p(27),f()()()()()()),2&e){const t=E(2).$implicit;m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.rid,""),m(5),T(t.relationship),m(6),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),m(1),T(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function sj(e,n){if(1&e&&(h(0,"div"),A(1,ij,28,8,"div",13),f()),2&e){const t=E().index,r=E(2).index,o=E();m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}function aj(e,n){if(1&e&&(h(0,"div")(1,"div",14)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",10),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",10),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Relationship Identifier:"),f(),p(15),f(),h(16,"div",28)(17,"h4",29),p(18,"Relationship DATA:"),f(),h(19,"textarea",30),p(20),f()()()()),2&e){const t=E(2).$implicit;m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.rid,""),m(5),T(t.relationship)}}function uj(e,n){if(1&e&&(h(0,"div"),A(1,aj,21,6,"div",13),f()),2&e){const t=E().index,r=E(2).index,o=E();m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}function cj(e,n){if(1&e&&(h(0,"div")(1,"div",14)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",10),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",10),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Relationship Identifier:"),f(),p(15),f(),h(16,"div",28)(17,"h4",29),p(18,"Relationship DATA:"),f(),h(19,"textarea",30),p(20),f()()()()),2&e){const t=E(2).$implicit;m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.rid,""),m(5),T(t.relationship)}}function lj(e,n){if(1&e&&(h(0,"div"),A(1,cj,21,6,"div",13),f()),2&e){const t=E().index,r=E(2).index,o=E();m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}const dj=function(e,n,t,r,o){return{coinbase:e,transfer:n,"create-identity":t,"encrypted-message":r,message:o}};function fj(e,n){if(1&e){const t=Rt();h(0,"li")(1,"button",12),re("click",function(){const i=Tt(t).index,s=E(2).index;return At(E().showTransactionDetails(s,i))}),p(2),f(),A(3,tj,2,1,"div",13),A(4,oj,2,1,"div",13),A(5,sj,2,1,"div",13),A(6,uj,2,1,"div",13),A(7,lj,2,1,"div",13),f()}if(2&e){const t=n.$implicit,r=E(3);m(1),S("ngClass",Ba(7,dj,r.transactionUtilsService.isCoinbaseTransaction(t),r.transactionUtilsService.isTransferTransaction(t),r.transactionUtilsService.isCreateIdentityTransaction(t),r.transactionUtilsService.isEncryptedMessageTransaction(t),r.transactionUtilsService.isMessageTransaction(t))),m(1),x(" ",r.transactionUtilsService.getTransactionType(t)," "),m(1),S("ngIf",r.transactionUtilsService.isTransferTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isCoinbaseTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isCreateIdentityTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isEncryptedMessageTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isMessageTransaction(t))}}function hj(e,n){if(1&e&&(h(0,"tr",6)(1,"td",7)(2,"div")(3,"h2",8),p(4,"Block Details"),f(),h(5,"p")(6,"strong",9),p(7,"Index: "),f(),h(8,"a",10),p(9),f()(),h(10,"p")(11,"strong",9),p(12,"Time:"),f(),p(13),f(),h(14,"p")(15,"strong",9),p(16,"Hash: "),f(),h(17,"a",10),p(18),f()(),h(19,"p")(20,"strong",9),p(21,"Previous Hash: "),f(),h(22,"a",10),p(23),f()(),h(24,"p")(25,"strong",9),p(26,"Nonce:"),f(),p(27),f(),h(28,"p")(29,"strong",9),p(30,"Target:"),f(),p(31),f(),h(32,"p")(33,"strong",9),p(34,"ID: "),f(),h(35,"a",10),p(36),f()(),h(37,"h3",11),p(38,"Transactions"),f(),h(39,"ul"),A(40,fj,8,13,"li",3),f()()()()),2&e){const t=E().$implicit,r=E();m(8),F("href","/explorer?term=",t.index,"",L),m(1),T(t.index),m(4),x(" ",r.dateFormatService.formatTransactionTime(t.time),""),m(4),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.prevHash,"",L),m(1),T(t.prevHash),m(4),x(" ",t.nonce,""),m(4),x(" ",t.target,""),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),S("ngForOf",t.transactions)}}function pj(e,n){if(1&e){const t=Rt();$n(0),h(1,"tr",4),re("click",function(){const i=Tt(t).$implicit;return At(E().toggleDetails(i))}),h(2,"td"),p(3),f(),h(4,"td"),p(5),f(),h(6,"td"),p(7),f(),h(8,"td"),p(9),f()(),A(10,hj,41,12,"tr",5),Hn()}if(2&e){const t=n.$implicit,r=E();m(3),T(t.index),m(2),T(r.dateFormatService.formatTransactionTime(t.time)),m(2),T(t.hash),m(2),T(t.transactions.length),m(1),S("ngIf",t.expanded)}}let gj=(()=>{class e{constructor(t,r,o){this.httpClient=t,this.dateFormatService=r,this.transactionUtilsService=o,this.blocks=[],this.showBlockTransactions=!1,this.showBlockTransactionDetails=[],this.searching=!1,this.showAccordion=null}ngOnInit(){this.blocks.length||this.loadLatestBlocks()}loadLatestBlocks(){this.httpClient.get("/explorer-latest").subscribe(t=>{this.blocks=t.result||[],this.searching=!1},t=>{console.error("Error fetching latest blocks:",t),alert("Something went wrong while fetching latest blocks!")})}showBlockDetails(t){console.log("Clicked block:",t),this.selectedBlock=t}toggleDetails(t){if(t.expanded)t.expanded=!1;else{this.blocks.forEach(o=>o.expanded=!1),t.expanded=!0;const r=this.blocks.indexOf(t);this.showBlockTransactionDetails[r]=[],this.selectedBlock=t}}showTransactions(){this.showBlockTransactions=!this.showBlockTransactions,this.showBlockTransactionDetails=[]}showTransactionDetails(t,r){this.showBlockTransactionDetails[t][r]=!this.showBlockTransactionDetails[t][r]}numberWithCommas(t){return t.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")}getTotalValue(t){return t.reduce((r,o)=>r+o.value,0)}toggleAccordion(t){this.showAccordion=this.showAccordion===t?null:t}static#e=this.\u0275fac=function(r){return new(r||e)(b(Zi),b(Nu),b(Ru))};static#t=this.\u0275cmp=Tr({type:e,selectors:[["app-latest-blocks"]],decls:16,vars:1,consts:[[2,"text-transform","uppercase","margin","10px","margin-top","20px"],[1,"latestblocks-container"],[1,"latestblocks-table"],[4,"ngFor","ngForOf"],[3,"click"],["class","expanded-row",4,"ngIf"],[1,"expanded-row"],["colspan","4"],[2,"text-transform","uppercase","margin","20px","margin-top","10px"],[2,"text-transform","uppercase","margin-left","30px"],[3,"href"],[2,"text-transform","uppercase","margin","20px","margin-top","20px"],[1,"transaction-type-button",3,"ngClass","click"],[4,"ngIf"],[1,"transaction-details"],[1,"input-section",2,"width","100%","display","inline-block","margin-top","5px"],[1,"accordion",3,"click"],["class","panel",4,"ngIf"],[1,"in-section",2,"width","44%","display","inline-block","margin-top","5px"],[1,"transfer-in-info-box"],[2,"margin-left","10px"],[1,"transaction-value-button"],[1,"arrow-box",2,"width","10%","display","inline-block","vertical-align","top"],["src","yadacoinstatic/explorer/assets/arrow-right.png","alt","Arrow Right",1,"arrow-icon"],[1,"out-section",2,"width","44%","display","inline-block","float","right","margin-top","5px"],[1,"panel"],[1,"transfer-out-info-box"],[1,"transaction-type-button","coinbase"],[1,"relationship-data-box"],[2,"text-transform","uppercase","margin","10px"],["rows","4","readonly","",2,"width","98%"],[1,"transaction-type-button","create-identity"],[2,"margin-left","15px"]],template:function(r,o){1&r&&(h(0,"h2",0),p(1,"Latest 10 Blocks"),f(),h(2,"div",1)(3,"table",2)(4,"thead")(5,"tr")(6,"th"),p(7,"Index"),f(),h(8,"th"),p(9,"Time"),f(),h(10,"th"),p(11,"Hash"),f(),h(12,"th"),p(13,"Transactions"),f()()(),h(14,"tbody"),A(15,pj,11,5,"ng-container",3),f()()()),2&r&&(m(15),S("ngForOf",o.blocks))},dependencies:[du,fu,Ui],styles:[".latestblocks-container[_ngcontent-%COMP%]{margin:10px;padding:20px;background-color:#424242;border-radius:5px;color:#fff}.latestblocks-table[_ngcontent-%COMP%]{width:100%;margin-top:10px;border-radius:5px}.latestblocks-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .latestblocks-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border:1px solid #ddd;padding:8px;text-align:left;border-radius:5px}.latestblocks-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{background-color:#303030;color:#fff;border-radius:5px}.latestblocks-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover{background-color:#3498db;color:#fff;cursor:pointer}.latestblocks-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr.expanded-row[_ngcontent-%COMP%]{cursor:default}.transaction-table[_ngcontent-%COMP%]{width:80%;margin:0 auto}.transaction-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .transaction-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border:1px solid #ddd;padding:8px;text-align:left}.transaction-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{background-color:#424242}.expanded-row[_ngcontent-%COMP%]{background-color:transparent!important;color:inherit!important}"]})}return e})(),mj=(()=>{class e{transform(t){return"string"==typeof t?t.replace(/,/g," "):t.toString().replace(/,/g," ")}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275pipe=Ze({name:"replaceComma",type:e,pure:!0})}return e})();function vj(e,n){1&e&&(h(0,"div")(1,"h1",13),p(2,"This is the alpha version of the Yadacoin block explorer."),f(),h(3,"h1",13),p(4,"Most functions should be operational. Please feel free to report any bugs or provide suggestions."),f(),h(5,"h1",13),p(6,"Thank you!"),f()())}function _j(e,n){1&e&&($n(0),h(1,"div",14)(2,"h2",15),p(3,"No results for searched phrase"),f()(),Hn())}function yj(e,n){1&e&&(h(0,"a",27),p(1,"Previous Block"),f()),2&e&&F("href","/explorer?term=",E().$implicit.index-1,"",L)}function Dj(e,n){1&e&&(h(0,"a",28),p(1,"Next Block"),f()),2&e&&F("href","/explorer?term=",E().$implicit.index+1,"",L)}function Cj(e,n){if(1&e&&(h(0,"li"),p(1),f()),2&e){const t=n.$implicit;m(1),T(t.id)}}function wj(e,n){if(1&e&&(h(0,"div",42)(1,"ul"),A(2,Cj,2,1,"li",19),f()()),2&e){const t=E(3).$implicit;m(2),S("ngForOf",t.inputs)}}function bj(e,n){if(1&e&&(h(0,"div")(1,"div",43)(2,"p",37)(3,"a",25),p(4),f(),h(5,"button",38),p(6),f()()()()),2&e){const t=n.$implicit;m(3),F("href","/explorer?term=",t.to,"",L),m(1),T(t.to),m(2),x("",t.value.toFixed(6)," YDA")}}function Ej(e,n){if(1&e){const t=Rt();h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",25),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",25),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Inputs:"),f(),p(15),f(),h(16,"div",32)(17,"button",33),re("click",function(){return Tt(t),At(E(6).toggleAccordion("inputsAccordion"))}),p(18,"Show Inputs"),f(),A(19,wj,3,1,"div",34),f(),h(20,"p")(21,"strong"),p(22,"Outputs:"),f(),p(23),f(),h(24,"div",35)(25,"div",36)(26,"p",37)(27,"a",25),p(28),f(),h(29,"button",38),p(30),f()()()(),h(31,"div",39),Pe(32,"img",40),f(),h(33,"div",41),A(34,bj,7,3,"div",19),f()()()}if(2&e){const t=E(2).$implicit,r=E(4);m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.inputs.length,""),m(4),S("ngIf","inputsAccordion"===r.showAccordion),m(4),x(" ",t.outputs.length,""),m(4),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),m(1),T(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to),m(2),x("",r.getTotalValue(t.outputs).toFixed(6)," YDA"),m(4),S("ngForOf",t.outputs)}}function Ij(e,n){if(1&e&&(h(0,"div"),A(1,Ej,35,11,"div",12),f()),2&e){const t=E().index,r=E().index,o=E(3);m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}function Mj(e,n){if(1&e&&(h(0,"div")(1,"div",43)(2,"p",37)(3,"a",25),p(4),f(),h(5,"button",38),p(6),f()()()()),2&e){const t=n.$implicit;m(3),F("href","/explorer?term=",t.to,"",L),m(1),T(t.to),m(2),x("",t.value.toFixed(6)," YDA")}}function Sj(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",25),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",25),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Outputs:"),f(),p(15),f(),h(16,"div",35)(17,"div",36)(18,"button",44),p(19,"Coinbase"),f(),h(20,"p",37),p(21," (Newly Generated Coins) "),h(22,"button",38),p(23),f()()()(),h(24,"div",39),Pe(25,"img",40),f(),h(26,"div",41),A(27,Mj,7,3,"div",19),f()()()),2&e){const t=E(2).$implicit,r=E(4);m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.outputs.length,""),m(8),x("",r.getTotalValue(t.outputs).toFixed(6)," YDA"),m(4),S("ngForOf",t.outputs)}}function Tj(e,n){if(1&e&&(h(0,"div"),A(1,Sj,28,7,"div",12),f()),2&e){const t=E().index,r=E().index,o=E(3);m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}function Aj(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",25),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",25),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Relationship Identifier:"),f(),p(15),f(),h(16,"div",45)(17,"h4",46),p(18,"Relationship DATA:"),f(),h(19,"textarea",47),p(20),f()(),h(21,"div",35)(22,"div",43)(23,"button",48),p(24,"Newly created Address"),f(),h(25,"p",49)(26,"a",25),p(27),f()()()()()()),2&e){const t=E(2).$implicit;m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.rid,""),m(5),T(t.relationship),m(6),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),m(1),T(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function xj(e,n){if(1&e&&(h(0,"div"),A(1,Aj,28,8,"div",12),f()),2&e){const t=E().index,r=E().index,o=E(3);m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}function Nj(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",25),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",25),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Relationship Identifier:"),f(),p(15),f(),h(16,"div",45)(17,"h4",46),p(18,"Relationship DATA:"),f(),h(19,"textarea",47),p(20),f()()()()),2&e){const t=E(2).$implicit;m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.rid,""),m(5),T(t.relationship)}}function Rj(e,n){if(1&e&&(h(0,"div"),A(1,Nj,21,6,"div",12),f()),2&e){const t=E().index,r=E().index,o=E(3);m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}function Oj(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",25),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",25),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Relationship Identifier:"),f(),p(15),f(),h(16,"div",45)(17,"h4",46),p(18,"Relationship DATA:"),f(),h(19,"textarea",47),p(20),f()()()()),2&e){const t=E(2).$implicit;m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.rid,""),m(5),T(t.relationship)}}function Pj(e,n){if(1&e&&(h(0,"div"),A(1,Oj,21,6,"div",12),f()),2&e){const t=E().index,r=E().index,o=E(3);m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}const lE=function(e,n,t,r,o){return{coinbase:e,transfer:n,"create-identity":t,"encrypted-message":r,message:o}};function Fj(e,n){if(1&e){const t=Rt();h(0,"li")(1,"div",29)(2,"button",30),re("click",function(){const i=Tt(t).index,s=E().index;return At(E(3).showTransactionDetails(s,i))}),p(3),f(),A(4,Ij,2,1,"div",12),A(5,Tj,2,1,"div",12),A(6,xj,2,1,"div",12),A(7,Rj,2,1,"div",12),A(8,Pj,2,1,"div",12),f()()}if(2&e){const t=n.$implicit,r=E(4);m(2),S("ngClass",Ba(7,lE,r.transactionUtilsService.isCoinbaseTransaction(t),r.transactionUtilsService.isTransferTransaction(t),r.transactionUtilsService.isCreateIdentityTransaction(t),r.transactionUtilsService.isEncryptedMessageTransaction(t),r.transactionUtilsService.isMessageTransaction(t))),m(1),x(" ",r.transactionUtilsService.getTransactionType(t)," "),m(1),S("ngIf",r.transactionUtilsService.isTransferTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isCoinbaseTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isCreateIdentityTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isEncryptedMessageTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isMessageTransaction(t))}}function kj(e,n){if(1&e&&(h(0,"li")(1,"div",20),A(2,yj,2,1,"a",21),A(3,Dj,2,1,"a",22),f(),h(4,"div",14)(5,"h2",23),p(6,"Block Details"),f(),h(7,"p")(8,"strong",24),p(9,"Index: "),f(),h(10,"a",25),p(11),f()(),h(12,"p")(13,"strong",24),p(14,"Time:"),f(),p(15),f(),h(16,"p")(17,"strong",24),p(18,"Hash: "),f(),h(19,"a",25),p(20),f()(),h(21,"p")(22,"strong",24),p(23,"Previous Hash: "),f(),h(24,"a",25),p(25),f()(),h(26,"p")(27,"strong",24),p(28,"Nonce:"),f(),p(29),f(),h(30,"p")(31,"strong",24),p(32,"Target:"),f(),p(33),f(),h(34,"p")(35,"strong",24),p(36,"ID: "),f(),h(37,"a",25),p(38),f()(),h(39,"h3",26),p(40,"Transactions"),f(),h(41,"ul"),A(42,Fj,9,13,"li",19),f()()()),2&e){const t=n.$implicit,r=E(3);m(2),S("ngIf",0!==t.index),m(1),S("ngIf",t.index!==r.current_height),m(7),F("href","/explorer?term=",t.index,"",L),m(1),T(t.index),m(4),x(" ",t.time,""),m(4),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.prevHash,"",L),m(1),T(t.prevHash),m(4),x(" ",t.nonce,""),m(4),x(" ",t.target,""),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),S("ngForOf",t.transactions)}}function Lj(e,n){if(1&e&&(h(0,"div")(1,"h2",16),p(2),f(),h(3,"h3",17),p(4),f(),h(5,"ul",18),A(6,kj,43,14,"li",19),f()()),2&e){const t=E(2);m(2),x(" search result for ","block_height"===t.resultType?"block index":"block_hash"===t.resultType?"block hash":"block_id"===t.resultType?"block id":"",": "),m(2),x(" ","block_height"===t.resultType?t.result[0].index:"block_hash"===t.resultType?t.result[0].hash:"block_id"===t.resultType?t.result[0].id:""," "),m(2),S("ngForOf",t.result)}}function Vj(e,n){if(1&e&&(h(0,"li"),p(1),f()),2&e){const t=n.$implicit;m(1),T(t.id)}}function jj(e,n){if(1&e&&(h(0,"div",42)(1,"ul"),A(2,Vj,2,1,"li",19),f()()),2&e){const t=E(3).$implicit;m(2),S("ngForOf",t.inputs)}}function Bj(e,n){if(1&e&&(h(0,"div")(1,"div",43)(2,"p",37)(3,"a",25),p(4),f(),h(5,"button",38),p(6),f()()()()),2&e){const t=n.$implicit;m(3),F("href","/explorer?term=",t.to,"",L),m(1),T(t.to),m(2),x("",t.value.toFixed(6)," YDA")}}function $j(e,n){if(1&e){const t=Rt();h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Inputs:"),f(),p(5),f(),h(6,"div",32)(7,"button",33),re("click",function(){return Tt(t),At(E(5).toggleAccordion("inputsAccordion"))}),p(8,"Show Inputs"),f(),A(9,jj,3,1,"div",34),f(),h(10,"p")(11,"strong"),p(12,"Outputs:"),f(),p(13),f(),h(14,"div",35)(15,"div",36)(16,"p",37)(17,"a",25),p(18),f(),h(19,"button",38),p(20),f()()()(),h(21,"div",39),Pe(22,"img",40),f(),h(23,"div",41),A(24,Bj,7,3,"div",19),f()()()}if(2&e){const t=E(2).$implicit,r=E(3);m(5),x(" ",t.inputs.length,""),m(4),S("ngIf","inputsAccordion"===r.showAccordion),m(4),x(" ",t.outputs.length,""),m(4),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),m(1),T(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to),m(2),x("",r.getTotalValue(t.outputs).toFixed(6)," YDA"),m(4),S("ngForOf",t.outputs)}}function Hj(e,n){if(1&e&&(h(0,"div")(1,"div",43)(2,"p",37)(3,"a",25),p(4),f(),h(5,"button",38),p(6),f()()()()),2&e){const t=n.$implicit;m(3),F("href","/explorer?term=",t.to,"",L),m(1),T(t.to),m(2),x("",t.value.toFixed(6)," YDA")}}function Uj(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Outputs:"),f(),p(5),f(),h(6,"div",35)(7,"div",36)(8,"button",44),p(9,"Coinbase"),f(),h(10,"p",37),p(11," (Newly Generated Coins) "),h(12,"button",38),p(13),f()()()(),h(14,"div",39),Pe(15,"img",40),f(),h(16,"div",41),A(17,Hj,7,3,"div",19),f()()()),2&e){const t=E(2).$implicit,r=E(3);m(5),x(" ",t.outputs.length,""),m(8),x("",r.getTotalValue(t.outputs).toFixed(6)," YDA"),m(4),S("ngForOf",t.outputs)}}function zj(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Relationship Identifier:"),f(),p(5),f(),h(6,"div",45)(7,"h4",46),p(8,"Relationship DATA:"),f(),h(9,"textarea",47),p(10),f()(),h(11,"div",35)(12,"div",43)(13,"button",48),p(14,"Newly created Address"),f(),h(15,"p",49)(16,"a",25),p(17),f()()()()()()),2&e){const t=E(2).$implicit;m(5),x(" ",t.rid,""),m(5),T(t.relationship),m(6),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),m(1),T(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function Gj(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Relationship Identifier:"),f(),p(5),f(),h(6,"div",45)(7,"h4",46),p(8,"Relationship DATA:"),f(),h(9,"textarea",47),p(10),f()()()()),2&e){const t=E(2).$implicit;m(5),x(" ",t.rid,""),m(5),T(t.relationship)}}function qj(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Relationship Identifier:"),f(),p(5),f(),h(6,"div",45)(7,"h4",46),p(8,"Relationship DATA:"),f(),h(9,"textarea",47),p(10),f()()()()),2&e){const t=E(2).$implicit;m(5),x(" ",t.rid,""),m(5),T(t.relationship)}}function Wj(e,n){if(1&e&&(h(0,"tr",53)(1,"td",54)(2,"div")(3,"h2",23),p(4,"Transaction Details"),f(),h(5,"div",31)(6,"p")(7,"strong"),p(8,"Transaction Hash: "),f(),h(9,"a",25),p(10),f()(),h(11,"p")(12,"strong"),p(13,"Transaction ID: "),f(),h(14,"a",25),p(15),f()(),h(16,"p")(17,"strong"),p(18,"Time: "),f(),p(19),f(),h(20,"p")(21,"strong"),p(22,"Fee: "),f(),p(23),f(),A(24,$j,25,7,"div",12),A(25,Uj,18,3,"div",12),A(26,zj,18,4,"div",12),A(27,Gj,11,2,"div",12),A(28,qj,11,2,"div",12),f()()()()),2&e){const t=E().$implicit,r=E(3);m(9),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",r.dateFormatService.formatTransactionTime(t.time),""),m(4),x(" ",t.fee," YDA"),m(1),S("ngIf",r.transactionUtilsService.isTransferTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isCoinbaseTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isCreateIdentityTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isEncryptedMessageTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isMessageTransaction(t))}}function Zj(e,n){if(1&e){const t=Rt();$n(0),h(1,"tr",51),re("click",function(){const i=Tt(t).$implicit;return At(E(3).toggleDetails(i))}),h(2,"td"),p(3),f(),h(4,"td"),p(5),f(),h(6,"td"),p(7),f(),h(8,"td"),p(9),f()(),A(10,Wj,29,11,"tr",52),Hn()}if(2&e){const t=n.$implicit,r=E(3);m(3),T(r.dateFormatService.formatTransactionTime(t.time)),m(2),T(t.hash),m(2),T(t.inputs.length),m(2),T(t.outputs.length),m(1),S("ngIf",t.expanded)}}function Yj(e,n){if(1&e&&(h(0,"div")(1,"h2",16),p(2),f(),h(3,"h3",17),p(4),f(),h(5,"div",14)(6,"table",50)(7,"thead")(8,"tr")(9,"th"),p(10,"Time"),f(),h(11,"th"),p(12,"Hash"),f(),h(13,"th"),p(14,"Inputs"),f(),h(15,"th"),p(16,"Outputs"),f()()(),h(17,"tbody"),A(18,Zj,11,5,"ng-container",19),f()()()()),2&e){const t=E(2);m(2),x(" Search result for ","txn_id"===t.resultType?"transaction ID":"txn_hash"===t.resultType?"transaction hash":"mempool_hash"===t.resultType?"mempool hash":"mempool_id"===t.resultType?"mempool ID":"",": "),m(2),x(" ",t.searchedId," "),m(14),S("ngForOf",t.result)}}function Qj(e,n){if(1&e&&(h(0,"li"),p(1),f()),2&e){const t=n.$implicit;m(1),T(t.id)}}function Xj(e,n){if(1&e&&(h(0,"div",42)(1,"ul"),A(2,Qj,2,1,"li",19),f()()),2&e){const t=E(2).$implicit;m(2),S("ngForOf",t.inputs)}}const Xu=function(e){return{"searched-address":e}};function Jj(e,n){if(1&e&&(h(0,"div")(1,"div",43)(2,"p",37)(3,"a",58),p(4),f(),h(5,"button",38),p(6),f()()()()),2&e){const t=n.$implicit,r=E(7);m(3),F("href","/explorer?term=",t.to,"",L),S("ngClass",Fi(4,Xu,r.isSearchedAddress(t.to))),m(1),x(" ",t.to," "),m(2),x("",t.value.toFixed(6)," YDA")}}function Kj(e,n){if(1&e){const t=Rt();h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Inputs:"),f(),p(5),f(),h(6,"div",32)(7,"button",33),re("click",function(){return Tt(t),At(E(6).toggleAccordion("inputsAccordion"))}),p(8,"Show Inputs"),f(),A(9,Xj,3,1,"div",34),f(),h(10,"p")(11,"strong"),p(12,"Outputs:"),f(),p(13),f(),h(14,"div",35)(15,"div",36)(16,"p",37)(17,"a",58),p(18),f(),h(19,"button",38),p(20),f()()()(),h(21,"div",39),Pe(22,"img",40),f(),h(23,"div",41),A(24,Jj,7,6,"div",19),f()()()}if(2&e){const t=E().$implicit,r=E(5);m(5),x(" ",t.inputs.length,""),m(4),S("ngIf","inputsAccordion"===r.showAccordion),m(4),x(" ",t.outputs.length,""),m(4),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),S("ngClass",Fi(8,Xu,r.isSearchedAddress(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to))),m(1),x(" ",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to," "),m(2),x("",r.getTotalValue(t.outputs).toFixed(6)," YDA"),m(4),S("ngForOf",t.outputs)}}function eB(e,n){if(1&e&&(h(0,"div")(1,"div",43)(2,"p",37)(3,"a",58),p(4),f(),h(5,"button",38),p(6),f()()()()),2&e){const t=n.$implicit,r=E(7);m(3),F("href","/explorer?term=",t.to,"",L),S("ngClass",Fi(4,Xu,r.isSearchedAddress(t.to))),m(1),x(" ",t.to," "),m(2),x("",t.value.toFixed(6)," YDA")}}function tB(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Outputs:"),f(),p(5),f(),h(6,"div",35)(7,"div",36)(8,"button",44),p(9,"Coinbase"),f(),h(10,"p",37),p(11," (Newly Generated Coins) "),h(12,"button",38),p(13),f()()()(),h(14,"div",39),Pe(15,"img",40),f(),h(16,"div",41),A(17,eB,7,6,"div",19),f()()()),2&e){const t=E().$implicit,r=E(5);m(5),x(" ",t.outputs.length,""),m(8),x("",r.getTotalValue(t.outputs).toFixed(6)," YDA"),m(4),S("ngForOf",t.outputs)}}function nB(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Relationship Identifier:"),f(),p(5),f(),h(6,"div",45)(7,"h4",46),p(8,"Relationship DATA:"),f(),h(9,"textarea",47),p(10),f()(),h(11,"div",35)(12,"div",43)(13,"button",48),p(14,"Newly created Address"),f(),h(15,"p",49)(16,"a",25),p(17),f()()()()()()),2&e){const t=E().$implicit;m(5),x(" ",t.rid,""),m(5),T(t.relationship),m(6),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),m(1),T(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function rB(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Relationship Identifier:"),f(),p(5),f(),h(6,"div",45)(7,"h4",46),p(8,"Relationship DATA:"),f(),h(9,"textarea",47),p(10),f()()()()),2&e){const t=E().$implicit;m(5),x(" ",t.rid,""),m(5),T(t.relationship)}}function oB(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Relationship Identifier:"),f(),p(5),f(),h(6,"div",45)(7,"h4",46),p(8,"Relationship DATA:"),f(),h(9,"textarea",47),p(10),f()()()()),2&e){const t=E().$implicit;m(5),x(" ",t.rid,""),m(5),T(t.relationship)}}function iB(e,n){if(1&e&&(h(0,"div",31)(1,"p")(2,"strong"),p(3,"Transaction Hash: "),f(),h(4,"a",25),p(5),f()(),h(6,"p")(7,"strong"),p(8,"Transaction ID: "),f(),h(9,"a",25),p(10),f()(),h(11,"p")(12,"strong"),p(13,"Time: "),f(),p(14),f(),h(15,"p")(16,"strong"),p(17,"Fee: "),f(),p(18),f(),A(19,Kj,25,10,"div",12),A(20,tB,18,3,"div",12),A(21,nB,18,4,"div",12),A(22,rB,11,2,"div",12),A(23,oB,11,2,"div",12),f()),2&e){const t=n.$implicit,r=E(5);m(4),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",r.dateFormatService.formatTransactionTime(t.time),""),m(4),x(" ",t.fee," YDA"),m(1),S("ngIf",r.transactionUtilsService.isTransferTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isCoinbaseTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isCreateIdentityTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isEncryptedMessageTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isMessageTransaction(t))}}function sB(e,n){if(1&e&&(h(0,"tr",53)(1,"td",54)(2,"div")(3,"h2",23),p(4),f(),A(5,iB,24,11,"div",57),f()()()),2&e){const t=E().$implicit;m(4),x("Transactions in Block ",t.index,""),m(1),S("ngForOf",t.transactions)}}function aB(e,n){if(1&e){const t=Rt();$n(0),h(1,"tr",51),re("click",function(){const i=Tt(t).$implicit;return At(E(3).toggleDetails(i))}),h(2,"td"),p(3),f(),h(4,"td"),p(5),f(),h(6,"td",55),p(7),f(),h(8,"td")(9,"button",56),p(10),f()()(),A(11,sB,6,2,"tr",52),Hn()}if(2&e){const t=n.$implicit,r=E(3);m(3),T(t.index),m(2),T(r.dateFormatService.formatTransactionTime(t.time)),m(1),S("ngClass",Fi(7,Xu,r.isSearchedAddress(t.hash))),m(1),T(t.hash),m(2),S("ngClass",Ba(9,lE,r.transactionUtilsService.isCoinbaseTransaction(t.transactions[0]),r.transactionUtilsService.isTransferTransaction(t.transactions[0]),r.transactionUtilsService.isCreateIdentityTransaction(t.transactions[0]),r.transactionUtilsService.isEncryptedMessageTransaction(t.transactions[0]),r.transactionUtilsService.isMessageTransaction(t.transactions[0]))),m(1),x(" ",r.transactionUtilsService.getTransactionType(t.transactions[0])," "),m(1),S("ngIf",t.expanded)}}function uB(e,n){if(1&e&&(h(0,"div")(1,"h2",16),p(2),f(),h(3,"h3",17),p(4),f(),h(5,"div",14)(6,"table",50)(7,"thead")(8,"tr")(9,"th"),p(10,"Block Index"),f(),h(11,"th"),p(12,"Time"),f(),h(13,"th"),p(14,"Hash"),f(),h(15,"th"),p(16,"Type"),f()()(),h(17,"tbody"),A(18,aB,12,15,"ng-container",19),f()()()()),2&e){const t=E(2);m(2),x(" Search result for ","txn_outputs_to"===t.resultType?"transaction outputs to":"",": "),m(2),x(" ",t.searchedId," "),m(14),S("ngForOf",t.result)}}function cB(e,n){if(1&e&&(h(0,"div"),A(1,_j,4,0,"ng-container",12),A(2,Lj,7,3,"div",12),A(3,Yj,19,3,"div",12),A(4,uB,19,3,"div",12),f()),2&e){const t=E();m(1),S("ngIf",!t.result||t.result&&0===t.result.length),m(1),S("ngIf",("block_height"===t.resultType||"block_hash"===t.resultType||"block_id"===t.resultType)&&t.result&&t.result.length>0),m(1),S("ngIf",("txn_id"===t.resultType||"txn_hash"===t.resultType||"mempool_hash"===t.resultType||"mempool_id"===t.resultType)&&t.result&&t.result.length>0),m(1),S("ngIf","txn_outputs_to"===t.resultType&&t.result&&t.result.length>0)}}function lB(e,n){1&e&&Pe(0,"app-latest-blocks")}function dB(e,n){1&e&&Pe(0,"app-address-balance")}function fB(e,n){1&e&&Pe(0,"app-mempool")}let hB=(()=>{class e{constructor(t,r,o,i){this.httpClient=t,this.route=r,this.dateFormatService=o,this.transactionUtilsService=i,this.title="explorer",this.model=new cE,this.result=[],this.searchedId="",this.blocks=[],this.showBlockTransactions=!1,this.showBlockTransactionDetails=[[]],this.resultType="",this.balance=0,this.searching=!1,this.submitted=!1,this.current_height="",this.circulating="",this.hashrate="",this.difficulty="",this.selectedOption="Main Page",this.showAccordion=null,this.httpClient.get("/api-stats").subscribe(s=>{this.difficulty=this.numberWithCommas(s.stats.difficulty),this.hashrate=this.formatHashrate(s.stats.network_hash_rate),this.current_height=this.numberWithCommas(s.stats.height),this.circulating=this.numberWithCommas(s.stats.circulating)},s=>{console.error("Error fetching API stats:",s),alert("Something went wrong while fetching API stats!")}),this.route.queryParams.subscribe(s=>{const a=s.term;a&&(this.model=new cE({term:a}),this.onSubmit(),this.selectedOption="SearchResults")}),window.location.search&&"SearchResults"!==this.selectedOption&&(this.searching=!0,this.submitted=!0,this.httpClient.get("/explorer-search"+window.location.search).subscribe(s=>{this.result=s.result||[],this.resultType=s.resultType,this.balance=s.balance,this.searchedId=s.searchedId,this.searching=!1,this.selectedOption="SearchResults"},s=>{console.error("Error fetching explorer search:",s),alert("Something went wrong while fetching explorer search results!")}))}ngOnInit(){}onSubmit(){this.searching=!0,this.submitted=!0;const r=`/explorer-search?term=${encodeURIComponent(this.model.term)}`;this.httpClient.get(r).subscribe(o=>{this.result=o.result||[],this.resultType=o.resultType,this.balance=o.balance,this.searchedId=o.searchedId,this.searching=!1,this.selectedOption="SearchResults"},o=>{console.error("Error fetching explorer search:",o),alert("Something went wrong while fetching explorer search results!"),this.searching=!1})}showBlockDetails(t){console.log("Clicked block:",t),this.selectedBlock=t}toggleAccordion(t){this.showAccordion=this.showAccordion===t?null:t}toggleDetails(t){if(t.expanded)t.expanded=!1;else{this.blocks.forEach(o=>o.expanded=!1),t.expanded=!0;const r=this.blocks.indexOf(t);this.showBlockTransactionDetails[r]=this.showBlockTransactionDetails[r]||[],this.selectedBlock=t}}showTransactions(){this.showBlockTransactions=!this.showBlockTransactions,this.showBlockTransactionDetails=[]}showTransactionDetails(t,r){this.showBlockTransactionDetails[t]||(this.showBlockTransactionDetails[t]=[]),this.showBlockTransactionDetails[t][r]=!this.showBlockTransactionDetails[t][r]}numberWithCommas(t){return t.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")}formatHashrate(t){return t<1e3?`${t.toFixed(0)} h/s`:t<1e6?`${(t/1e3).toFixed(2)} kh/s`:`${(t/1e6).toFixed(2)} mh/s`}calculateAge(t){const r=(new Date).getTime(),o=new Date(t).getTime(),s=Math.floor((r-o)/6e4);return s<60?`${s} minutes ago`:`${Math.floor(s/60)} hours ago`}getTotalValue(t){return t.reduce((r,o)=>r+o.value,0)}selectOption(t){this.selectedOption=t}isSearchedAddress(t){return t.toLowerCase()===this.searchedId.toLowerCase()}static#e=this.\u0275fac=function(r){return new(r||e)(b(Zi),b(Er),b(Nu),b(Ru))};static#t=this.\u0275cmp=Tr({type:e,selectors:[["app-root"]],decls:48,vars:16,consts:[[1,"top-bar"],["href","#",1,"button",3,"click"],[3,"ngSubmit"],["searchForm","ngForm"],["name","term","placeholder","Wallet address, Transaction Id, Block height, Block hash...",1,"form-control",3,"ngModel","ngModelChange"],[1,"button","btn-success"],[1,"box-container"],[1,"result-box"],["src","yadacoinstatic/explorer/assets/network-height.png","alt","Network Height",1,"watermark"],["src","yadacoinstatic/explorer/assets/hashrate.png","alt","Network Hashrate",1,"watermark"],["src","yadacoinstatic/explorer/assets/difficulty.png","alt","Network Difficulty",1,"watermark"],["src","yadacoinstatic/explorer/assets/circulating-supply.png","alt","Circulating Supply",1,"watermark"],[4,"ngIf"],[2,"text-transform","uppercase","margin","20px","margin-top","25px","text-align","center"],[1,"blocks-container"],[2,"text-transform","uppercase","margin","20px","margin-top","25px","color","red"],[2,"text-transform","uppercase","margin","20px","margin-top","25px"],[2,"margin","20px","margin-top","10px"],[2,"list-style-type","none","padding","0","margin","0"],[4,"ngFor","ngForOf"],[1,"block-details"],["class","previous-button",3,"href",4,"ngIf"],["class","next-button",3,"href",4,"ngIf"],[2,"text-transform","uppercase","margin","20px","margin-top","10px"],[2,"text-transform","uppercase","margin-left","30px"],[3,"href"],[2,"text-transform","uppercase","margin","20px","margin-top","20px"],[1,"previous-button",3,"href"],[1,"next-button",3,"href"],[1,"transaction-container"],[1,"transaction-type-button",3,"ngClass","click"],[1,"transaction-details"],[1,"input-section",2,"width","100%","display","inline-block","margin-top","5px"],[1,"accordion",3,"click"],["class","panel",4,"ngIf"],[1,"in-section",2,"width","44%","display","inline-block","margin-top","5px"],[1,"transfer-in-info-box"],[2,"margin-left","10px"],[1,"transaction-value-button"],[1,"arrow-box",2,"width","10%","display","inline-block","vertical-align","top"],["src","yadacoinstatic/explorer/assets/arrow-right.png","alt","Arrow Right",1,"arrow-icon"],[1,"out-section",2,"width","44%","display","inline-block","float","right","margin-top","5px"],[1,"panel"],[1,"transfer-out-info-box"],[1,"transaction-type-button","coinbase"],[1,"relationship-data-box"],[2,"text-transform","uppercase","margin","10px"],["rows","4","readonly","",2,"width","98%"],[1,"transaction-type-button","create-identity"],[2,"margin-left","15px"],[1,"blocks-table"],[3,"click"],["class","expanded-row",4,"ngIf"],[1,"expanded-row"],["colspan","5"],[3,"ngClass"],[1,"transaction-type-button",3,"ngClass"],["class","transaction-details",4,"ngFor","ngForOf"],[3,"ngClass","href"]],template:function(r,o){1&r&&(h(0,"body")(1,"div",0)(2,"a",1),re("click",function(){return o.selectOption("Main Page")}),p(3,"Main Page"),f(),h(4,"a",1),re("click",function(){return o.selectOption("Latest Blocks")}),p(5,"Latest Blocks"),f(),h(6,"a",1),re("click",function(){return o.selectOption("Mempool")}),p(7,"Mempool"),f(),h(8,"a",1),re("click",function(){return o.selectOption("Address Balance")}),p(9,"Address Balance"),f(),h(10,"form",2,3),re("ngSubmit",function(){return o.onSubmit()}),h(12,"input",4),re("ngModelChange",function(s){return o.model.term=s}),f(),h(13,"button",5),p(14,"Search"),f()()(),h(15,"div",6)(16,"div",7),Pe(17,"img",8),h(18,"h5"),p(19,"Network Height"),f(),h(20,"h3"),p(21),$a(22,"replaceComma"),f()(),h(23,"div",7),Pe(24,"img",9),h(25,"h5"),p(26,"Network Hashrate"),f(),h(27,"h3"),p(28),f()(),h(29,"div",7),Pe(30,"img",10),h(31,"h5"),p(32,"Network Difficulty"),f(),h(33,"h3"),p(34),$a(35,"replaceComma"),f()(),h(36,"div",7),Pe(37,"img",11),h(38,"h5"),p(39,"Circulating Supply"),f(),h(40,"h3"),p(41),$a(42,"replaceComma"),f()()(),A(43,vj,7,0,"div",12),A(44,cB,5,4,"div",12),A(45,lB,1,0,"app-latest-blocks",12),A(46,dB,1,0,"app-address-balance",12),A(47,fB,1,0,"app-mempool",12),f()),2&r&&(m(12),S("ngModel",o.model.term),m(9),T(Ha(22,10,o.current_height)),m(7),T(o.hashrate),m(6),T(Ha(35,12,o.difficulty)),m(7),x("",Ha(42,14,o.circulating)," YDA"),m(2),S("ngIf","Main Page"===o.selectedOption),m(1),S("ngIf","SearchResults"===o.selectedOption),m(1),S("ngIf","Latest Blocks"===o.selectedOption),m(1),S("ngIf","Address Balance"===o.selectedOption),m(1),S("ngIf","Mempool"===o.selectedOption))},dependencies:[du,fu,Ui,kw,Qi,Pf,ww,xu,Au,WV,QV,gj,mj],styles:["body[_ngcontent-%COMP%]{background-color:silver;margin:30px 10%;color:#303030}.top-bar[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:10px}.top-bar[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#fff;text-decoration:none;padding:10px;margin-right:10px;border-radius:5px}.top-bar[_ngcontent-%COMP%] form[_ngcontent-%COMP%]{display:flex;align-items:center;flex:1}.form-control[_ngcontent-%COMP%]{margin-right:10px;flex:1;height:30px}.button.btn-success[_ngcontent-%COMP%]{background-color:green;color:#fff}.box-container[_ngcontent-%COMP%]{display:flex;height:110px;justify-content:space-between;margin-top:10px;margin-left:10px}.result-box[_ngcontent-%COMP%]{flex:1;background-color:#424242;padding:5px;margin-right:10px;border-radius:5px;color:#fff;text-align:left;position:relative}.result-box[_ngcontent-%COMP%] h5[_ngcontent-%COMP%]{margin:10px;text-transform:uppercase;z-index:1}.result-box[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:10px;font-size:24px;font-weight:700;text-transform:uppercase;z-index:1}.watermark[_ngcontent-%COMP%]{width:auto;height:100%;position:absolute;top:0;right:0}.button[_ngcontent-%COMP%]{background:#424242;color:#303030;border:none;padding:10px 20px;cursor:pointer;transition:background .3s ease;border-radius:5px}.button[_ngcontent-%COMP%]:hover{background:#3498db}.uppercase-heading[_ngcontent-%COMP%]{text-transform:uppercase;margin:10px 20px 20px}.search-container[_ngcontent-%COMP%]{margin-top:20px}.result-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-top:20px}"]})}return e})(),pB=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=It({type:e,bootstrap:[hB]});static#n=this.\u0275inj=ht({providers:[Nu,Ru],imports:[EF,ek,u2,kV,c2]})}return e})();wF().bootstrapModule(pB).catch(e=>console.error(e))}},le=>{le(le.s=90)}]); \ No newline at end of file diff --git a/static/explorer/styles.css b/static/explorer/styles.css index 07c284f2..24fb0328 100644 --- a/static/explorer/styles.css +++ b/static/explorer/styles.css @@ -1 +1 @@ -body{background-color:silver;margin:0;font-family:Arial,sans-serif;color:#303030}a{color:#fff;text-decoration:none}a:hover{color:gray}.block-details{display:flex;align-items:center;justify-content:space-between;width:100%}.previous-button,.next-button{background:#424242;border:2px solid white;color:#fff;padding:10px 20px;cursor:pointer;transition:background .3s ease;border-radius:5px}.previous-button:hover,.next-button:hover{background:#3498db}.blocks-container{margin:10px;padding:20px;background-color:#424242;border-radius:5px;color:#fff}.blocks-table{width:100%;margin-top:10px;border-radius:5px}.blocks-table th,.blocks-table td{border:1px solid #ddd;padding:8px;text-align:left;border-radius:5px}.blocks-table th{background-color:#303030;color:#fff;border-radius:5px}.blocks-table tbody tr:hover{background-color:#3498db;color:#fff;cursor:pointer}.blocks-table tbody tr.expanded-row{cursor:default}.transaction-table{width:80%;margin:0 auto}.transaction-table th,.transaction-table td{border:1px solid #ddd;padding:8px;text-align:left}.transaction-table th{background-color:#424242}.expanded-row{background-color:transparent!important;color:inherit!important}.transaction-section{display:inline-block;vertical-align:top}.transaction-box{padding:10px;border:1px solid #ccc;border-radius:5px;margin:5px}.arrow-box{display:inline-block;vertical-align:top;margin:10px}.arrow-icon{width:30px;height:auto}.transaction-value-button{padding:2px 10px;border:none;border-radius:3px;vertical-align:top;cursor:defoult;background-color:#3498db;color:#fff;float:right}.in-section,.out-section{vertical-align:top}.arrow-box{text-align:center;margin-top:20px}.transaction-details{background-color:#303030;border-radius:5px;color:#fff;padding:10px;margin-top:10px;overflow:auto}.transfer-in-info-box,.transfer-out-info-box,.relationship-data-box{background-color:#424242;border-radius:10px;margin-top:5px;padding-right:10px;padding-left:10px;font-size:.9em}.transfer-in-info-box{border:2px solid #4CAF50;color:#fff}.transfer-out-info-box{border:2px solid #3498db;color:#fff}.relationship-data-box{border:2px solid #3498db;color:#fff;width:98%;white-space:normal}.arrow-icon{width:40%;height:auto}.searched-address{color:#ff0;font-weight:700}.transaction-type-button{padding:5px 10px;border:none;border-radius:3px;margin-top:5px;cursor:pointer;opacity:.7;transition:background-color .3s}.coinbase{background-color:#4caf50;color:#fff}.coinbase:hover{background-color:#45a049;color:#fff}.transfer{background-color:#3498db;color:#fff}.transfer:hover{background-color:#1e87cf;color:#fff}.create-identity{background-color:#f39c12;color:#fff}.create-identity:hover{background-color:#e74c3c;color:#fff}.encrypted-message,.message{background-color:#8b5ef6;color:#fff}.encrypted-message:hover,.message:hover{background-color:#6a1b9a;color:#fff} +body{background-color:silver;margin:0;font-family:Arial,sans-serif;color:#303030}a{color:#fff;text-decoration:none}a:hover{color:gray}.block-details{display:flex;align-items:center;justify-content:space-between;width:100%}.previous-button,.next-button{background:#303030;color:#fff;padding:10px 20px;cursor:pointer;transition:background .3s ease;border-radius:5px;margin:10px}.previous-button:hover,.next-button:hover{background:#3498db}.accordion{background:#424242;color:#fff;border:none;padding:10px 20px;cursor:pointer;transition:background .3s ease;border-radius:5px}.accordion:hover{background:#3498db}.blocks-container{margin:10px;padding:20px;background-color:#424242;border-radius:5px;color:#fff}.blocks-table{width:100%;margin-top:10px;border-radius:5px}.blocks-table th,.blocks-table td{border:1px solid #ddd;padding:8px;text-align:left;border-radius:5px}.blocks-table th{background-color:#303030;color:#fff;border-radius:5px}.blocks-table tbody tr:hover{background-color:#3498db;color:#fff;cursor:pointer}.blocks-table tbody tr.expanded-row{cursor:default}.transaction-table{width:80%;margin:0 auto}.transaction-table th,.transaction-table td{border:1px solid #ddd;padding:8px;text-align:left}.transaction-table th{background-color:#424242}.expanded-row{background-color:transparent!important;color:inherit!important}.transaction-section{display:inline-block;vertical-align:top}.transaction-box{padding:10px;border:1px solid #ccc;border-radius:5px;margin:5px}.arrow-box{display:inline-block;vertical-align:top;margin:10px}.arrow-icon{width:30px;height:auto}.transaction-value-button{padding:2px 10px;border:none;border-radius:3px;vertical-align:top;cursor:defoult;background-color:#3498db;color:#fff;float:right}.in-section,.out-section{vertical-align:top}.arrow-box{text-align:center;margin-top:20px}.transaction-details{background-color:#303030;border-radius:5px;color:#fff;padding:10px;margin-top:10px;overflow:auto}.transfer-in-info-box,.transfer-out-info-box,.relationship-data-box{background-color:#424242;border-radius:10px;margin-top:5px;padding-right:10px;padding-left:10px;font-size:.9em}.transfer-in-info-box{border:2px solid #4CAF50;color:#fff}.transfer-out-info-box{border:2px solid #3498db;color:#fff}.relationship-data-box{border:2px solid #3498db;color:#fff;width:98%;white-space:normal}.arrow-icon{width:40%;height:auto}.searched-address{color:#ff0;font-weight:700}.transaction-type-button{padding:5px 10px;border:none;border-radius:3px;margin-top:5px;cursor:pointer;opacity:.7;transition:background-color .3s}.coinbase{background-color:#4caf50;color:#fff}.coinbase:hover{background-color:#45a049;color:#fff}.transfer{background-color:#3498db;color:#fff}.transfer:hover{background-color:#1e87cf;color:#fff}.create-identity{background-color:#f39c12;color:#fff}.create-identity:hover{background-color:#e74c3c;color:#fff}.encrypted-message,.message{background-color:#8b5ef6;color:#fff}.encrypted-message:hover,.message:hover{background-color:#6a1b9a;color:#fff} From 4656a7bedeed8224b47b68c2c6e366afa9560b42 Mon Sep 17 00:00:00 2001 From: Rakni1988 <67603180+Rakni1988@users.noreply.github.com> Date: Wed, 6 Mar 2024 11:40:03 +0100 Subject: [PATCH 65/94] Update nodes.py --- yadacoin/core/nodes.py | 92 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) diff --git a/yadacoin/core/nodes.py b/yadacoin/core/nodes.py index 1a106a72..8f9d5d1d 100644 --- a/yadacoin/core/nodes.py +++ b/yadacoin/core/nodes.py @@ -278,6 +278,36 @@ def __init__(self): } ), }, + { + "ranges": [(479700, None)], + "node": Seed.from_dict( + { + "host": "seed.supahash.com", + "port": 8000, + "identity": { + "username": "", + "username_signature": "MEQCIE6I6sfqh69hy6VoPKY4kCNfYflcnW3vkOgCH9S3GFR6AiAGf+pDYzpuSywaAaoW6c6q0Rq07Kx+oFQndhPf4MRzDQ==", + "public_key": "0281d4b412373d5330620e78159744cd821f2414d6e1fc300364bd36eb062ee411", + }, + "seed_gateway": "MEUCIQCNas40A04R/y2YrC6e22dU/qYDrgCmrmuGQlbstgTmdwIgbh7dVw6KmU+ee6RRgOc2Vx81G8cLsCUOZdKHa6OBa3s=", + } + ), + }, + { + "ranges": [(480100, None)], + "node": Seed.from_dict( + { + "host": "seed.nephotim.co", + "port": 8000, + "identity": { + "username": "", + "username_signature": "MEQCICV3BfyeG/d3wthW5L9nWYZYejExBHAhJVlzW5iiTjs8AiAQNq0HnPNAm91ymsKu740lgfWwYcUs8gJHuiS9tz5fAA==", + "public_key": "0286fe6085cca02c0ec38b3e628b4d3392c7ee7f052b710519916d33bae3de69da", + }, + "seed_gateway": "MEQCICHeWBWcuQu7LsziPqX7xQI8svUskEidCJVbUYRxp+D2AiA3P9o19J6Ke6KIY+RGNFE3WPziHYBHwgB6xvyWLZ5BQg==", + } + ), + }, ] Seeds.set_fork_points() @@ -492,6 +522,36 @@ def __init__(self): } ), }, + { + "ranges": [(479700, None)], + "node": SeedGateway.from_dict( + { + "host": "seedgateway.supahash.com", + "port": 8000, + "identity": { + "username": "", + "username_signature": "MEUCIQCNas40A04R/y2YrC6e22dU/qYDrgCmrmuGQlbstgTmdwIgbh7dVw6KmU+ee6RRgOc2Vx81G8cLsCUOZdKHa6OBa3s=", + "public_key": "023e19a600c2a88e150fd903c12c2386831ddebca2ba51473ecb6a0fae7916f657", + }, + "seed": "MEQCIE6I6sfqh69hy6VoPKY4kCNfYflcnW3vkOgCH9S3GFR6AiAGf+pDYzpuSywaAaoW6c6q0Rq07Kx+oFQndhPf4MRzDQ==", + } + ), + }, + { + "ranges": [(480100, None)], + "node": SeedGateway.from_dict( + { + "host": "gateway.nephotim.co", + "port": 8000, + "identity": { + "username": "", + "username_signature": "MEQCICHeWBWcuQu7LsziPqX7xQI8svUskEidCJVbUYRxp+D2AiA3P9o19J6Ke6KIY+RGNFE3WPziHYBHwgB6xvyWLZ5BQg==", + "public_key": "0393110452c520d98ebf69bfadf8db36719c3de1b42ef31f31e81523fb87d7b8db", + }, + "seed": "MEQCICV3BfyeG/d3wthW5L9nWYZYejExBHAhJVlzW5iiTjs8AiAQNq0HnPNAm91ymsKu740lgfWwYcUs8gJHuiS9tz5fAA==", + } + ), + }, ] SeedGateways.set_fork_points() @@ -719,6 +779,38 @@ def __init__(self): } ), }, + { + "ranges": [(479700, None)], + "node": ServiceProvider.from_dict( + { + "host": "serviceprovider.supahash.com", + "port": 8000, + "identity": { + "username": "", + "username_signature": "MEUCIQCi7PkxJrgR7T2PDK5BCxT8DJ/oLhoa/zpuPbqb0EqapwIgM4NXxuAZn4nh+cncIgb/VkJLeQAQnqj+sNj39oRWvn8=", + "public_key": "03853af02ad22e2a76fb0cf6e3f5ae5d173eb1ba2cdd2b140df266690d8063ebcf", + }, + "seed_gateway": "MEUCIQCNas40A04R/y2YrC6e22dU/qYDrgCmrmuGQlbstgTmdwIgbh7dVw6KmU+ee6RRgOc2Vx81G8cLsCUOZdKHa6OBa3s=", + "seed": "MEQCIE6I6sfqh69hy6VoPKY4kCNfYflcnW3vkOgCH9S3GFR6AiAGf+pDYzpuSywaAaoW6c6q0Rq07Kx+oFQndhPf4MRzDQ==", + } + ), + }, + { + "ranges": [(480100, None)], + "node": ServiceProvider.from_dict( + { + "host": "serviceprovider.nephotim.co", + "port": 8000, + "identity": { + "username": "", + "username_signature": "MEQCIDLZN6Q5WLperdJbHu1mNyZsXmk7fqA6l7tXlthkArglAiAfapsk3v4s8cTLZf22R62ht2SocD2+jSX2HNc4C05SMA==", + "public_key": "021aab430ef88f35eaeb183dcf6f82128d7ad02b628b6e705c90d5708fc66f4c33", + }, + "seed_gateway": "MEQCICHeWBWcuQu7LsziPqX7xQI8svUskEidCJVbUYRxp+D2AiA3P9o19J6Ke6KIY+RGNFE3WPziHYBHwgB6xvyWLZ5BQg==", + "seed": "MEQCICV3BfyeG/d3wthW5L9nWYZYejExBHAhJVlzW5iiTjs8AiAQNq0HnPNAm91ymsKu740lgfWwYcUs8gJHuiS9tz5fAA==", + } + ), + }, ] ServiceProviders.set_fork_points() ServiceProviders.set_nodes() From fbb79785aa9f1ffdab4774958542a80dce709a8e Mon Sep 17 00:00:00 2001 From: Rakni1988 Date: Sat, 9 Mar 2024 19:45:49 +0100 Subject: [PATCH 66/94] explorer v2 --- .../bootstrap-icons.70a9dee9e5ab72aa.woff | Bin 0 -> 176032 bytes .../bootstrap-icons.bfa90bda92a84a6a.woff2 | Bin 0 -> 130396 bytes static/explorer/bootstrap-icons.svg | 1 + static/explorer/index.html | 14 +++ static/explorer/main.js | 2 +- static/explorer/scripts.js | 1 + static/explorer/styles.css | 10 +- templates/explorer/index.html | 17 +-- yadacoin/http/explorer.py | 118 +++++++++++------- 9 files changed, 109 insertions(+), 54 deletions(-) create mode 100644 static/explorer/bootstrap-icons.70a9dee9e5ab72aa.woff create mode 100644 static/explorer/bootstrap-icons.bfa90bda92a84a6a.woff2 create mode 100644 static/explorer/bootstrap-icons.svg create mode 100644 static/explorer/index.html create mode 100644 static/explorer/scripts.js diff --git a/static/explorer/bootstrap-icons.70a9dee9e5ab72aa.woff b/static/explorer/bootstrap-icons.70a9dee9e5ab72aa.woff new file mode 100644 index 0000000000000000000000000000000000000000..51204d27de92c7bb0f8bed6165b9dc888f38ff38 GIT binary patch literal 176032 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 literal 0 HcmV?d00001 diff --git a/static/explorer/bootstrap-icons.bfa90bda92a84a6a.woff2 b/static/explorer/bootstrap-icons.bfa90bda92a84a6a.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..92c4830216044ba21db9f4294b887312e80da38e GIT binary patch literal 130396 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Ã=hYmg-7dH4?&*NqqtUL18qtx> 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 z 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 \ No newline at end of file diff --git a/static/explorer/index.html b/static/explorer/index.html new file mode 100644 index 00000000..b52a30be --- /dev/null +++ b/static/explorer/index.html @@ -0,0 +1,14 @@ + + + + + Explorer + + + + + + + + + diff --git a/static/explorer/main.js b/static/explorer/main.js index 0a26330e..047f8692 100644 --- a/static/explorer/main.js +++ b/static/explorer/main.js @@ -1 +1 @@ -"use strict";(self.webpackChunkexplorer=self.webpackChunkexplorer||[]).push([[179],{90:()=>{function le(e){return"function"==typeof e}function Vo(e){const t=e(r=>{Error.call(r),r.stack=(new Error).stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}const _s=Vo(e=>function(t){e(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((r,o)=>`${o+1}) ${r.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t});function jo(e,n){if(e){const t=e.indexOf(n);0<=t&&e.splice(t,1)}}class lt{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;const{_parentage:t}=this;if(t)if(this._parentage=null,Array.isArray(t))for(const i of t)i.remove(this);else t.remove(this);const{initialTeardown:r}=this;if(le(r))try{r()}catch(i){n=i instanceof _s?i.errors:[i]}const{_finalizers:o}=this;if(o){this._finalizers=null;for(const i of o)try{Ih(i)}catch(s){n=n??[],s instanceof _s?n=[...n,...s.errors]:n.push(s)}}if(n)throw new _s(n)}}add(n){var t;if(n&&n!==this)if(this.closed)Ih(n);else{if(n instanceof lt){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=null!==(t=this._finalizers)&&void 0!==t?t:[]).push(n)}}_hasParent(n){const{_parentage:t}=this;return t===n||Array.isArray(t)&&t.includes(n)}_addParent(n){const{_parentage:t}=this;this._parentage=Array.isArray(t)?(t.push(n),t):t?[t,n]:n}_removeParent(n){const{_parentage:t}=this;t===n?this._parentage=null:Array.isArray(t)&&jo(t,n)}remove(n){const{_finalizers:t}=this;t&&jo(t,n),n instanceof lt&&n._removeParent(this)}}lt.EMPTY=(()=>{const e=new lt;return e.closed=!0,e})();const bh=lt.EMPTY;function Eh(e){return e instanceof lt||e&&"closed"in e&&le(e.remove)&&le(e.add)&&le(e.unsubscribe)}function Ih(e){le(e)?e():e.unsubscribe()}const er={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},ys={setTimeout(e,n,...t){const{delegate:r}=ys;return r?.setTimeout?r.setTimeout(e,n,...t):setTimeout(e,n,...t)},clearTimeout(e){const{delegate:n}=ys;return(n?.clearTimeout||clearTimeout)(e)},delegate:void 0};function Mh(e){ys.setTimeout(()=>{const{onUnhandledError:n}=er;if(!n)throw e;n(e)})}function Ju(){}const dE=Ku("C",void 0,void 0);function Ku(e,n,t){return{kind:e,value:n,error:t}}let tr=null;function Ds(e){if(er.useDeprecatedSynchronousErrorHandling){const n=!tr;if(n&&(tr={errorThrown:!1,error:null}),e(),n){const{errorThrown:t,error:r}=tr;if(tr=null,t)throw r}}else e()}class ec extends lt{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,Eh(n)&&n.add(this)):this.destination=_E}static create(n,t,r){return new Bo(n,t,r)}next(n){this.isStopped?nc(function hE(e){return Ku("N",e,void 0)}(n),this):this._next(n)}error(n){this.isStopped?nc(function fE(e){return Ku("E",void 0,e)}(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?nc(dE,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(n){this.destination.next(n)}_error(n){try{this.destination.error(n)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const gE=Function.prototype.bind;function tc(e,n){return gE.call(e,n)}class mE{constructor(n){this.partialObserver=n}next(n){const{partialObserver:t}=this;if(t.next)try{t.next(n)}catch(r){Cs(r)}}error(n){const{partialObserver:t}=this;if(t.error)try{t.error(n)}catch(r){Cs(r)}else Cs(n)}complete(){const{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(t){Cs(t)}}}class Bo extends ec{constructor(n,t,r){let o;if(super(),le(n)||!n)o={next:n??void 0,error:t??void 0,complete:r??void 0};else{let i;this&&er.useDeprecatedNextContext?(i=Object.create(n),i.unsubscribe=()=>this.unsubscribe(),o={next:n.next&&tc(n.next,i),error:n.error&&tc(n.error,i),complete:n.complete&&tc(n.complete,i)}):o=n}this.destination=new mE(o)}}function Cs(e){er.useDeprecatedSynchronousErrorHandling?function pE(e){er.useDeprecatedSynchronousErrorHandling&&tr&&(tr.errorThrown=!0,tr.error=e)}(e):Mh(e)}function nc(e,n){const{onStoppedNotification:t}=er;t&&ys.setTimeout(()=>t(e,n))}const _E={closed:!0,next:Ju,error:function vE(e){throw e},complete:Ju},rc="function"==typeof Symbol&&Symbol.observable||"@@observable";function Nn(e){return e}function Sh(e){return 0===e.length?Nn:1===e.length?e[0]:function(t){return e.reduce((r,o)=>o(r),t)}}let Ee=(()=>{class e{constructor(t){t&&(this._subscribe=t)}lift(t){const r=new e;return r.source=this,r.operator=t,r}subscribe(t,r,o){const i=function CE(e){return e&&e instanceof ec||function DE(e){return e&&le(e.next)&&le(e.error)&&le(e.complete)}(e)&&Eh(e)}(t)?t:new Bo(t,r,o);return Ds(()=>{const{operator:s,source:a}=this;i.add(s?s.call(i,a):a?this._subscribe(i):this._trySubscribe(i))}),i}_trySubscribe(t){try{return this._subscribe(t)}catch(r){t.error(r)}}forEach(t,r){return new(r=Th(r))((o,i)=>{const s=new Bo({next:a=>{try{t(a)}catch(u){i(u),s.unsubscribe()}},error:i,complete:o});this.subscribe(s)})}_subscribe(t){var r;return null===(r=this.source)||void 0===r?void 0:r.subscribe(t)}[rc](){return this}pipe(...t){return Sh(t)(this)}toPromise(t){return new(t=Th(t))((r,o)=>{let i;this.subscribe(s=>i=s,s=>o(s),()=>r(i))})}}return e.create=n=>new e(n),e})();function Th(e){var n;return null!==(n=e??er.Promise)&&void 0!==n?n:Promise}const wE=Vo(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let kt=(()=>{class e extends Ee{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const r=new Ah(this,this);return r.operator=t,r}_throwIfClosed(){if(this.closed)throw new wE}next(t){Ds(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const r of this.currentObservers)r.next(t)}})}error(t){Ds(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;const{observers:r}=this;for(;r.length;)r.shift().error(t)}})}complete(){Ds(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:t}=this;for(;t.length;)t.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){const{hasError:r,isStopped:o,observers:i}=this;return r||o?bh:(this.currentObservers=null,i.push(t),new lt(()=>{this.currentObservers=null,jo(i,t)}))}_checkFinalizedStatuses(t){const{hasError:r,thrownError:o,isStopped:i}=this;r?t.error(o):i&&t.complete()}asObservable(){const t=new Ee;return t.source=this,t}}return e.create=(n,t)=>new Ah(n,t),e})();class Ah extends kt{constructor(n,t){super(),this.destination=n,this.source=t}next(n){var t,r;null===(r=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===r||r.call(t,n)}error(n){var t,r;null===(r=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===r||r.call(t,n)}complete(){var n,t;null===(t=null===(n=this.destination)||void 0===n?void 0:n.complete)||void 0===t||t.call(n)}_subscribe(n){var t,r;return null!==(r=null===(t=this.source)||void 0===t?void 0:t.subscribe(n))&&void 0!==r?r:bh}}function xh(e){return le(e?.lift)}function xe(e){return n=>{if(xh(n))return n.lift(function(t){try{return e(t,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}function Te(e,n,t,r,o){return new bE(e,n,t,r,o)}class bE extends ec{constructor(n,t,r,o,i,s){super(n),this.onFinalize=i,this.shouldUnsubscribe=s,this._next=t?function(a){try{t(a)}catch(u){n.error(u)}}:super._next,this._error=o?function(a){try{o(a)}catch(u){n.error(u)}finally{this.unsubscribe()}}:super._error,this._complete=r?function(){try{r()}catch(a){n.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:t}=this;super.unsubscribe(),!t&&(null===(n=this.onFinalize)||void 0===n||n.call(this))}}}function ne(e,n){return xe((t,r)=>{let o=0;t.subscribe(Te(r,i=>{r.next(e.call(n,i,o++))}))})}function Rn(e){return this instanceof Rn?(this.v=e,this):new Rn(e)}function Ph(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=function ac(e){var n="function"==typeof Symbol&&Symbol.iterator,t=n&&e[n],r=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(i){t[i]=e[i]&&function(s){return new Promise(function(a,u){!function o(i,s,a,u){Promise.resolve(u).then(function(c){i({value:c,done:a})},s)}(a,u,(s=e[i](s)).done,s.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const Fh=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function kh(e){return le(e?.then)}function Lh(e){return le(e[rc])}function Vh(e){return Symbol.asyncIterator&&le(e?.[Symbol.asyncIterator])}function jh(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const Bh=function GE(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function $h(e){return le(e?.[Bh])}function Hh(e){return function Oh(e,n,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var o,r=t.apply(e,n||[]),i=[];return o={},s("next"),s("throw"),s("return"),o[Symbol.asyncIterator]=function(){return this},o;function s(g){r[g]&&(o[g]=function(v){return new Promise(function(_,y){i.push([g,v,_,y])>1||a(g,v)})})}function a(g,v){try{!function u(g){g.value instanceof Rn?Promise.resolve(g.value.v).then(c,l):d(i[0][2],g)}(r[g](v))}catch(_){d(i[0][3],_)}}function c(g){a("next",g)}function l(g){a("throw",g)}function d(g,v){g(v),i.shift(),i.length&&a(i[0][0],i[0][1])}}(this,arguments,function*(){const t=e.getReader();try{for(;;){const{value:r,done:o}=yield Rn(t.read());if(o)return yield Rn(void 0);yield yield Rn(r)}}finally{t.releaseLock()}})}function Uh(e){return le(e?.getReader)}function dt(e){if(e instanceof Ee)return e;if(null!=e){if(Lh(e))return function qE(e){return new Ee(n=>{const t=e[rc]();if(le(t.subscribe))return t.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Fh(e))return function WE(e){return new Ee(n=>{for(let t=0;t{e.then(t=>{n.closed||(n.next(t),n.complete())},t=>n.error(t)).then(null,Mh)})}(e);if(Vh(e))return zh(e);if($h(e))return function YE(e){return new Ee(n=>{for(const t of e)if(n.next(t),n.closed)return;n.complete()})}(e);if(Uh(e))return function QE(e){return zh(Hh(e))}(e)}throw jh(e)}function zh(e){return new Ee(n=>{(function XE(e,n){var t,r,o,i;return function Nh(e,n,t,r){return new(t||(t=Promise))(function(i,s){function a(l){try{c(r.next(l))}catch(d){s(d)}}function u(l){try{c(r.throw(l))}catch(d){s(d)}}function c(l){l.done?i(l.value):function o(i){return i instanceof t?i:new t(function(s){s(i)})}(l.value).then(a,u)}c((r=r.apply(e,n||[])).next())})}(this,void 0,void 0,function*(){try{for(t=Ph(e);!(r=yield t.next()).done;)if(n.next(r.value),n.closed)return}catch(s){o={error:s}}finally{try{r&&!r.done&&(i=t.return)&&(yield i.call(t))}finally{if(o)throw o.error}}n.complete()})})(e,n).catch(t=>n.error(t))})}function fn(e,n,t,r=0,o=!1){const i=n.schedule(function(){t(),o?e.add(this.schedule(null,r)):this.unsubscribe()},r);if(e.add(i),!o)return i}function Le(e,n,t=1/0){return le(n)?Le((r,o)=>ne((i,s)=>n(r,i,o,s))(dt(e(r,o))),t):("number"==typeof n&&(t=n),xe((r,o)=>function JE(e,n,t,r,o,i,s,a){const u=[];let c=0,l=0,d=!1;const g=()=>{d&&!u.length&&!c&&n.complete()},v=y=>c{i&&n.next(y),c++;let C=!1;dt(t(y,l++)).subscribe(Te(n,M=>{o?.(M),i?v(M):n.next(M)},()=>{C=!0},void 0,()=>{if(C)try{for(c--;u.length&&c_(M)):_(M)}g()}catch(M){n.error(M)}}))};return e.subscribe(Te(n,v,()=>{d=!0,g()})),()=>{a?.()}}(r,o,e,t)))}function Mr(e=1/0){return Le(Nn,e)}const Zt=new Ee(e=>e.complete());function uc(e){return e[e.length-1]}function Gh(e){return le(uc(e))?e.pop():void 0}function $o(e){return function e0(e){return e&&le(e.schedule)}(uc(e))?e.pop():void 0}function qh(e,n=0){return xe((t,r)=>{t.subscribe(Te(r,o=>fn(r,e,()=>r.next(o),n),()=>fn(r,e,()=>r.complete(),n),o=>fn(r,e,()=>r.error(o),n)))})}function Wh(e,n=0){return xe((t,r)=>{r.add(e.schedule(()=>t.subscribe(r),n))})}function Zh(e,n){if(!e)throw new Error("Iterable cannot be null");return new Ee(t=>{fn(t,n,()=>{const r=e[Symbol.asyncIterator]();fn(t,n,()=>{r.next().then(o=>{o.done?t.complete():t.next(o.value)})},0,!0)})})}function Ne(e,n){return n?function u0(e,n){if(null!=e){if(Lh(e))return function n0(e,n){return dt(e).pipe(Wh(n),qh(n))}(e,n);if(Fh(e))return function o0(e,n){return new Ee(t=>{let r=0;return n.schedule(function(){r===e.length?t.complete():(t.next(e[r++]),t.closed||this.schedule())})})}(e,n);if(kh(e))return function r0(e,n){return dt(e).pipe(Wh(n),qh(n))}(e,n);if(Vh(e))return Zh(e,n);if($h(e))return function s0(e,n){return new Ee(t=>{let r;return fn(t,n,()=>{r=e[Bh](),fn(t,n,()=>{let o,i;try{({value:o,done:i}=r.next())}catch(s){return void t.error(s)}i?t.complete():t.next(o)},0,!0)}),()=>le(r?.return)&&r.return()})}(e,n);if(Uh(e))return function a0(e,n){return Zh(Hh(e),n)}(e,n)}throw jh(e)}(e,n):dt(e)}class bt extends kt{constructor(n){super(),this._value=n}get value(){return this.getValue()}_subscribe(n){const t=super._subscribe(n);return!t.closed&&n.next(this._value),t}getValue(){const{hasError:n,thrownError:t,_value:r}=this;if(n)throw t;return this._throwIfClosed(),r}next(n){super.next(this._value=n)}}function B(...e){return Ne(e,$o(e))}function Yh(e={}){const{connector:n=(()=>new kt),resetOnError:t=!0,resetOnComplete:r=!0,resetOnRefCountZero:o=!0}=e;return i=>{let s,a,u,c=0,l=!1,d=!1;const g=()=>{a?.unsubscribe(),a=void 0},v=()=>{g(),s=u=void 0,l=d=!1},_=()=>{const y=s;v(),y?.unsubscribe()};return xe((y,C)=>{c++,!d&&!l&&g();const M=u=u??n();C.add(()=>{c--,0===c&&!d&&!l&&(a=cc(_,o))}),M.subscribe(C),!s&&c>0&&(s=new Bo({next:D=>M.next(D),error:D=>{d=!0,g(),a=cc(v,t,D),M.error(D)},complete:()=>{l=!0,g(),a=cc(v,r),M.complete()}}),dt(y).subscribe(s))})(i)}}function cc(e,n,...t){if(!0===n)return void e();if(!1===n)return;const r=new Bo({next:()=>{r.unsubscribe(),e()}});return dt(n(...t)).subscribe(r)}function Lt(e,n){return xe((t,r)=>{let o=null,i=0,s=!1;const a=()=>s&&!o&&r.complete();t.subscribe(Te(r,u=>{o?.unsubscribe();let c=0;const l=i++;dt(e(u,l)).subscribe(o=Te(r,d=>r.next(n?n(u,d,l,c++):d),()=>{o=null,a()}))},()=>{s=!0,a()}))})}function d0(e,n){return e===n}function ae(e){for(let n in e)if(e[n]===ae)return n;throw Error("Could not find renamed property on target object.")}function ws(e,n){for(const t in n)n.hasOwnProperty(t)&&!e.hasOwnProperty(t)&&(e[t]=n[t])}function Re(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(Re).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const n=e.toString();if(null==n)return""+n;const t=n.indexOf("\n");return-1===t?n:n.substring(0,t)}function lc(e,n){return null==e||""===e?null===n?"":n:null==n||""===n?e:e+" "+n}const f0=ae({__forward_ref__:ae});function fe(e){return e.__forward_ref__=fe,e.toString=function(){return Re(this())},e}function U(e){return dc(e)?e():e}function dc(e){return"function"==typeof e&&e.hasOwnProperty(f0)&&e.__forward_ref__===fe}function fc(e){return e&&!!e.\u0275providers}const Qh="https://g.co/ng/security#xss";class I extends Error{constructor(n,t){super(function bs(e,n){return`NG0${Math.abs(e)}${n?": "+n:""}`}(n,t)),this.code=n}}function G(e){return"string"==typeof e?e:null==e?"":String(e)}function hc(e,n){throw new I(-201,!1)}function Et(e,n){null==e&&function $(e,n,t,r){throw new Error(`ASSERTION ERROR: ${e}`+(null==r?"":` [Expected=> ${t} ${r} ${n} <=Actual]`))}(n,e,null,"!=")}function V(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function ht(e){return{providers:e.providers||[],imports:e.imports||[]}}function Es(e){return Xh(e,Ms)||Xh(e,Jh)}function Xh(e,n){return e.hasOwnProperty(n)?e[n]:null}function Is(e){return e&&(e.hasOwnProperty(pc)||e.hasOwnProperty(D0))?e[pc]:null}const Ms=ae({\u0275prov:ae}),pc=ae({\u0275inj:ae}),Jh=ae({ngInjectableDef:ae}),D0=ae({ngInjectorDef:ae});var X=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(X||{});let gc;function ot(e){const n=gc;return gc=e,n}function ep(e,n,t){const r=Es(e);return r&&"root"==r.providedIn?void 0===r.value?r.value=r.factory():r.value:t&X.Optional?null:void 0!==n?n:void hc(Re(e))}const he=globalThis;class P{constructor(n,t){this._desc=n,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=V({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const Ho={},Dc="__NG_DI_FLAG__",Ss="ngTempTokenPath",b0=/\n/gm,np="__source";let Sr;function On(e){const n=Sr;return Sr=e,n}function M0(e,n=X.Default){if(void 0===Sr)throw new I(-203,!1);return null===Sr?ep(e,void 0,n):Sr.get(e,n&X.Optional?null:void 0,n)}function k(e,n=X.Default){return(function Kh(){return gc}()||M0)(U(e),n)}function R(e,n=X.Default){return k(e,Ts(n))}function Ts(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Cc(e){const n=[];for(let t=0;tn){s=i-1;break}}}for(;ii?"":o[d+1].toLowerCase();const v=8&r?g:null;if(v&&-1!==sp(v,c,0)||2&r&&c!==g){if(jt(r))return!1;s=!0}}}}else{if(!s&&!jt(r)&&!jt(u))return!1;if(s&&jt(u))continue;s=!1,r=u|1&r}}return jt(r)||s}function jt(e){return 0==(1&e)}function O0(e,n,t,r){if(null===n)return-1;let o=0;if(r||!t){let i=!1;for(;o-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&r?o+="."+s:4&r&&(o+=" "+s);else""!==o&&!jt(s)&&(n+=hp(i,o),o=""),r=s,i=i||!jt(r);t++}return""!==o&&(n+=hp(i,o)),n}function Tr(e){return hn(()=>{const n=gp(e),t={...n,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===As.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||Vt.Emulated,styles:e.styles||te,_:null,schemas:e.schemas||null,tView:null,id:""};mp(t);const r=e.dependencies;return t.directiveDefs=Ns(r,!1),t.pipeDefs=Ns(r,!0),t.id=function q0(e){let n=0;const t=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery].join("|");for(const o of t)n=Math.imul(31,n)+o.charCodeAt(0)<<0;return n+=2147483648,"c"+n}(t),t})}function H0(e){return K(e)||Ve(e)}function U0(e){return null!==e}function It(e){return hn(()=>({type:e.type,bootstrap:e.bootstrap||te,declarations:e.declarations||te,imports:e.imports||te,exports:e.exports||te,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function pp(e,n){if(null==e)return Yt;const t={};for(const r in e)if(e.hasOwnProperty(r)){let o=e[r],i=o;Array.isArray(o)&&(i=o[1],o=o[0]),t[o]=r,n&&(n[o]=i)}return t}function z(e){return hn(()=>{const n=gp(e);return mp(n),n})}function Ze(e){return{type:e.type,name:e.name,factory:null,pure:!1!==e.pure,standalone:!0===e.standalone,onDestroy:e.type.prototype.ngOnDestroy||null}}function K(e){return e[xs]||null}function Ve(e){return e[wc]||null}function Ye(e){return e[bc]||null}function pt(e,n){const t=e[op]||null;if(!t&&!0===n)throw new Error(`Type ${Re(e)} does not have '\u0275mod' property.`);return t}function gp(e){const n={};return{type:e.type,providersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:n,inputTransforms:null,inputConfig:e.inputs||Yt,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||te,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:pp(e.inputs,n),outputs:pp(e.outputs)}}function mp(e){e.features?.forEach(n=>n(e))}function Ns(e,n){if(!e)return null;const t=n?Ye:H0;return()=>("function"==typeof e?e():e).map(r=>t(r)).filter(U0)}const Ce=0,N=1,Z=2,_e=3,Bt=4,qo=5,Ue=6,xr=7,Ie=8,Pn=9,Nr=10,q=11,Wo=12,vp=13,Rr=14,Me=15,Zo=16,Or=17,Qt=18,Yo=19,_p=20,Fn=21,gn=22,Qo=23,Xo=24,J=25,Ic=1,yp=2,Xt=7,Pr=9,je=11;function it(e){return Array.isArray(e)&&"object"==typeof e[Ic]}function Qe(e){return Array.isArray(e)&&!0===e[Ic]}function Mc(e){return 0!=(4&e.flags)}function rr(e){return e.componentOffset>-1}function Os(e){return 1==(1&e.flags)}function $t(e){return!!e.template}function Sc(e){return 0!=(512&e[Z])}function or(e,n){return e.hasOwnProperty(pn)?e[pn]:null}let Be=null,Ps=!1;function Mt(e){const n=Be;return Be=e,n}const wp={version:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{}};function Ep(e){if(!Ko(e)||e.dirty){if(!e.producerMustRecompute(e)&&!Sp(e))return void(e.dirty=!1);e.producerRecomputeValue(e),e.dirty=!1}}function Mp(e){e.dirty=!0,function Ip(e){if(void 0===e.liveConsumerNode)return;const n=Ps;Ps=!0;try{for(const t of e.liveConsumerNode)t.dirty||Mp(t)}finally{Ps=n}}(e),e.consumerMarkedDirty?.(e)}function Ac(e){return e&&(e.nextProducerIndex=0),Mt(e)}function xc(e,n){if(Mt(n),e&&void 0!==e.producerNode&&void 0!==e.producerIndexOfThis&&void 0!==e.producerLastReadVersion){if(Ko(e))for(let t=e.nextProducerIndex;te.nextProducerIndex;)e.producerNode.pop(),e.producerLastReadVersion.pop(),e.producerIndexOfThis.pop()}}function Sp(e){Fr(e);for(let n=0;n0}function Fr(e){e.producerNode??=[],e.producerIndexOfThis??=[],e.producerLastReadVersion??=[]}let Np=null;const Fp=()=>{},iI=(()=>({...wp,consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!1,consumerMarkedDirty:e=>{e.schedule(e.ref)},hasRun:!1,cleanupFn:Fp}))();class sI{constructor(n,t,r){this.previousValue=n,this.currentValue=t,this.firstChange=r}isFirstChange(){return this.firstChange}}function St(){return kp}function kp(e){return e.type.prototype.ngOnChanges&&(e.setInput=uI),aI}function aI(){const e=Vp(this),n=e?.current;if(n){const t=e.previous;if(t===Yt)e.previous=n;else for(let r in n)t[r]=n[r];e.current=null,this.ngOnChanges(n)}}function uI(e,n,t,r){const o=this.declaredInputs[t],i=Vp(e)||function cI(e,n){return e[Lp]=n}(e,{previous:Yt,current:null}),s=i.current||(i.current={}),a=i.previous,u=a[o];s[o]=new sI(u&&u.currentValue,n,a===Yt),e[r]=n}St.ngInherit=!0;const Lp="__ngSimpleChanges__";function Vp(e){return e[Lp]||null}const Jt=function(e,n,t){};function pe(e){for(;Array.isArray(e);)e=e[Ce];return e}function ks(e,n){return pe(n[e])}function st(e,n){return pe(n[e.index])}function $p(e,n){return e.data[n]}function gt(e,n){const t=n[e];return it(t)?t:t[Ce]}function Ln(e,n){return null==n?null:e[n]}function Hp(e){e[Or]=0}function gI(e){1024&e[Z]||(e[Z]|=1024,zp(e,1))}function Up(e){1024&e[Z]&&(e[Z]&=-1025,zp(e,-1))}function zp(e,n){let t=e[_e];if(null===t)return;t[qo]+=n;let r=t;for(t=t[_e];null!==t&&(1===n&&1===r[qo]||-1===n&&0===r[qo]);)t[qo]+=n,r=t,t=t[_e]}const H={lFrame:tg(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function Wp(){return H.bindingsEnabled}function w(){return H.lFrame.lView}function ee(){return H.lFrame.tView}function Tt(e){return H.lFrame.contextLView=e,e[Ie]}function At(e){return H.lFrame.contextLView=null,e}function $e(){let e=Zp();for(;null!==e&&64===e.type;)e=e.parent;return e}function Zp(){return H.lFrame.currentTNode}function Kt(e,n){const t=H.lFrame;t.currentTNode=e,t.isParent=n}function Fc(){return H.lFrame.isParent}function kc(){H.lFrame.isParent=!1}function Xe(){const e=H.lFrame;let n=e.bindingRootIndex;return-1===n&&(n=e.bindingRootIndex=e.tView.bindingStartIndex),n}function Vr(){return H.lFrame.bindingIndex++}function SI(e,n){const t=H.lFrame;t.bindingIndex=t.bindingRootIndex=e,Lc(n)}function Lc(e){H.lFrame.currentDirectiveIndex=e}function jc(e){H.lFrame.currentQueryIndex=e}function AI(e){const n=e[N];return 2===n.type?n.declTNode:1===n.type?e[Ue]:null}function Kp(e,n,t){if(t&X.SkipSelf){let o=n,i=e;for(;!(o=o.parent,null!==o||t&X.Host||(o=AI(i),null===o||(i=i[Rr],10&o.type))););if(null===o)return!1;n=o,e=i}const r=H.lFrame=eg();return r.currentTNode=n,r.lView=e,!0}function Bc(e){const n=eg(),t=e[N];H.lFrame=n,n.currentTNode=t.firstChild,n.lView=e,n.tView=t,n.contextLView=e,n.bindingIndex=t.bindingStartIndex,n.inI18n=!1}function eg(){const e=H.lFrame,n=null===e?null:e.child;return null===n?tg(e):n}function tg(e){const n={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return null!==e&&(e.child=n),n}function ng(){const e=H.lFrame;return H.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const rg=ng;function $c(){const e=ng();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function Je(){return H.lFrame.selectedIndex}function ir(e){H.lFrame.selectedIndex=e}function De(){const e=H.lFrame;return $p(e.tView,e.selectedIndex)}let ig=!0;function Ls(){return ig}function Vn(e){ig=e}function Vs(e,n){for(let t=n.directiveStart,r=n.directiveEnd;t=r)break}else n[u]<0&&(e[Or]+=65536),(a>13>16&&(3&e[Z])===n&&(e[Z]+=8192,ag(a,i)):ag(a,i)}const jr=-1;class ti{constructor(n,t,r){this.factory=n,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=r}}function zc(e){return e!==jr}function ni(e){return 32767&e}function ri(e,n){let t=function $I(e){return e>>16}(e),r=n;for(;t>0;)r=r[Rr],t--;return r}let Gc=!0;function $s(e){const n=Gc;return Gc=e,n}const ug=255,cg=5;let HI=0;const en={};function Hs(e,n){const t=lg(e,n);if(-1!==t)return t;const r=n[N];r.firstCreatePass&&(e.injectorIndex=n.length,qc(r.data,e),qc(n,null),qc(r.blueprint,null));const o=Us(e,n),i=e.injectorIndex;if(zc(o)){const s=ni(o),a=ri(o,n),u=a[N].data;for(let c=0;c<8;c++)n[i+c]=a[s+c]|u[s+c]}return n[i+8]=o,i}function qc(e,n){e.push(0,0,0,0,0,0,0,0,n)}function lg(e,n){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===n[e.injectorIndex+8]?-1:e.injectorIndex}function Us(e,n){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let t=0,r=null,o=n;for(;null!==o;){if(r=vg(o),null===r)return jr;if(t++,o=o[Rr],-1!==r.injectorIndex)return r.injectorIndex|t<<16}return jr}function Wc(e,n,t){!function UI(e,n,t){let r;"string"==typeof t?r=t.charCodeAt(0)||0:t.hasOwnProperty(zo)&&(r=t[zo]),null==r&&(r=t[zo]=HI++);const o=r&ug;n.data[e+(o>>cg)]|=1<=0?n&ug:ZI:n}(t);if("function"==typeof i){if(!Kp(n,e,r))return r&X.Host?dg(o,0,r):fg(n,t,r,o);try{let s;if(s=i(r),null!=s||r&X.Optional)return s;hc()}finally{rg()}}else if("number"==typeof i){let s=null,a=lg(e,n),u=jr,c=r&X.Host?n[Me][Ue]:null;for((-1===a||r&X.SkipSelf)&&(u=-1===a?Us(e,n):n[a+8],u!==jr&&mg(r,!1)?(s=n[N],a=ni(u),n=ri(u,n)):a=-1);-1!==a;){const l=n[N];if(gg(i,a,l.data)){const d=GI(a,n,t,s,r,c);if(d!==en)return d}u=n[a+8],u!==jr&&mg(r,n[N].data[a+8]===c)&&gg(i,a,n)?(s=l,a=ni(u),n=ri(u,n)):a=-1}}return o}function GI(e,n,t,r,o,i){const s=n[N],a=s.data[e+8],l=function zs(e,n,t,r,o){const i=e.providerIndexes,s=n.data,a=1048575&i,u=e.directiveStart,l=i>>20,g=o?a+l:e.directiveEnd;for(let v=r?a:a+l;v=u&&_.type===t)return v}if(o){const v=s[u];if(v&&$t(v)&&v.type===t)return u}return null}(a,s,t,null==r?rr(a)&&Gc:r!=s&&0!=(3&a.type),o&X.Host&&i===a);return null!==l?sr(n,s,l,a):en}function sr(e,n,t,r){let o=e[t];const i=n.data;if(function VI(e){return e instanceof ti}(o)){const s=o;s.resolving&&function h0(e,n){const t=n?`. Dependency path: ${n.join(" > ")} > ${e}`:"";throw new I(-200,`Circular dependency in DI detected for ${e}${t}`)}(function se(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():G(e)}(i[t]));const a=$s(s.canSeeViewProviders);s.resolving=!0;const c=s.injectImpl?ot(s.injectImpl):null;Kp(e,r,X.Default);try{o=e[t]=s.factory(void 0,i,e,r),n.firstCreatePass&&t>=r.directiveStart&&function kI(e,n,t){const{ngOnChanges:r,ngOnInit:o,ngDoCheck:i}=n.type.prototype;if(r){const s=kp(n);(t.preOrderHooks??=[]).push(e,s),(t.preOrderCheckHooks??=[]).push(e,s)}o&&(t.preOrderHooks??=[]).push(0-e,o),i&&((t.preOrderHooks??=[]).push(e,i),(t.preOrderCheckHooks??=[]).push(e,i))}(t,i[t],n)}finally{null!==c&&ot(c),$s(a),s.resolving=!1,rg()}}return o}function gg(e,n,t){return!!(t[n+(e>>cg)]&1<{const n=e.prototype.constructor,t=n[pn]||Zc(n),r=Object.prototype;let o=Object.getPrototypeOf(e.prototype).constructor;for(;o&&o!==r;){const i=o[pn]||Zc(o);if(i&&i!==t)return i;o=Object.getPrototypeOf(o)}return i=>new i})}function Zc(e){return dc(e)?()=>{const n=Zc(U(e));return n&&n()}:or(e)}function vg(e){const n=e[N],t=n.type;return 2===t?n.declTNode:1===t?e[Ue]:null}const $r="__parameters__";function Ur(e,n,t){return hn(()=>{const r=function Yc(e){return function(...t){if(e){const r=e(...t);for(const o in r)this[o]=r[o]}}}(n);function o(...i){if(this instanceof o)return r.apply(this,i),this;const s=new o(...i);return a.annotation=s,a;function a(u,c,l){const d=u.hasOwnProperty($r)?u[$r]:Object.defineProperty(u,$r,{value:[]})[$r];for(;d.length<=l;)d.push(null);return(d[l]=d[l]||[]).push(s),u}}return t&&(o.prototype=Object.create(t.prototype)),o.prototype.ngMetadataName=e,o.annotationCls=o,o})}function Gr(e,n){e.forEach(t=>Array.isArray(t)?Gr(t,n):n(t))}function yg(e,n,t){n>=e.length?e.push(t):e.splice(n,0,t)}function qs(e,n){return n>=e.length-1?e.pop():e.splice(n,1)[0]}function mt(e,n,t){let r=qr(e,n);return r>=0?e[1|r]=t:(r=~r,function n1(e,n,t,r){let o=e.length;if(o==n)e.push(t,r);else if(1===o)e.push(r,e[0]),e[0]=t;else{for(o--,e.push(e[o-1],e[o]);o>n;)e[o]=e[o-2],o--;e[n]=t,e[n+1]=r}}(e,r,n,t)),r}function Qc(e,n){const t=qr(e,n);if(t>=0)return e[1|t]}function qr(e,n){return function Dg(e,n,t){let r=0,o=e.length>>t;for(;o!==r;){const i=r+(o-r>>1),s=e[i<n?o=i:r=i+1}return~(o<|^->||--!>|)/g,I1="\u200b$1\u200b";const tl=new Map;let M1=0;const rl="__ngContext__";function ze(e,n){it(n)?(e[rl]=n[Yo],function T1(e){tl.set(e[Yo],e)}(n)):e[rl]=n}let ol;function il(e,n){return ol(e,n)}function ci(e){const n=e[_e];return Qe(n)?n[_e]:n}function Bg(e){return Hg(e[Wo])}function $g(e){return Hg(e[Bt])}function Hg(e){for(;null!==e&&!Qe(e);)e=e[Bt];return e}function Yr(e,n,t,r,o){if(null!=r){let i,s=!1;Qe(r)?i=r:it(r)&&(s=!0,r=r[Ce]);const a=pe(r);0===e&&null!==t?null==o?qg(n,t,a):ar(n,t,a,o||null,!0):1===e&&null!==t?ar(n,t,a,o||null,!0):2===e?function aa(e,n,t){const r=ia(e,n);r&&function W1(e,n,t,r){e.removeChild(n,t,r)}(e,r,n,t)}(n,a,s):3===e&&n.destroyNode(a),null!=i&&function Q1(e,n,t,r,o){const i=t[Xt];i!==pe(t)&&Yr(n,e,r,i,o);for(let a=je;an.replace(E1,I1))}(n))}function ra(e,n,t){return e.createElement(n,t)}function zg(e,n){const t=e[Pr],r=t.indexOf(n);Up(n),t.splice(r,1)}function oa(e,n){if(e.length<=je)return;const t=je+n,r=e[t];if(r){const o=r[Zo];null!==o&&o!==e&&zg(o,r),n>0&&(e[t-1][Bt]=r[Bt]);const i=qs(e,je+n);!function j1(e,n){di(e,n,n[q],2,null,null),n[Ce]=null,n[Ue]=null}(r[N],r);const s=i[Qt];null!==s&&s.detachView(i[N]),r[_e]=null,r[Bt]=null,r[Z]&=-129}return r}function al(e,n){if(!(256&n[Z])){const t=n[q];n[Qo]&&Tp(n[Qo]),n[Xo]&&Tp(n[Xo]),t.destroyNode&&di(e,n,t,3,null,null),function H1(e){let n=e[Wo];if(!n)return ul(e[N],e);for(;n;){let t=null;if(it(n))t=n[Wo];else{const r=n[je];r&&(t=r)}if(!t){for(;n&&!n[Bt]&&n!==e;)it(n)&&ul(n[N],n),n=n[_e];null===n&&(n=e),it(n)&&ul(n[N],n),t=n&&n[Bt]}n=t}}(n)}}function ul(e,n){if(!(256&n[Z])){n[Z]&=-129,n[Z]|=256,function q1(e,n){let t;if(null!=e&&null!=(t=e.destroyHooks))for(let r=0;r=0?r[s]():r[-s].unsubscribe(),i+=2}else t[i].call(r[t[i+1]]);null!==r&&(n[xr]=null);const o=n[Fn];if(null!==o){n[Fn]=null;for(let i=0;i-1){const{encapsulation:i}=e.data[r.directiveStart+o];if(i===Vt.None||i===Vt.Emulated)return null}return st(r,t)}}(e,n.parent,t)}function ar(e,n,t,r,o){e.insertBefore(n,t,r,o)}function qg(e,n,t){e.appendChild(n,t)}function Wg(e,n,t,r,o){null!==r?ar(e,n,t,r,o):qg(e,n,t)}function ia(e,n){return e.parentNode(n)}let ll,pl,Qg=function Yg(e,n,t){return 40&e.type?st(e,t):null};function sa(e,n,t,r){const o=cl(e,r,n),i=n[q],a=function Zg(e,n,t){return Qg(e,n,t)}(r.parent||n[Ue],r,n);if(null!=o)if(Array.isArray(t))for(let u=0;u{t.push(s)};return Gr(n,s=>{const a=s;da(a,i,[],r)&&(o||=[],o.push(a))}),void 0!==o&&_m(o,i),t}function _m(e,n){for(let t=0;t{n(i,r)})}}function da(e,n,t,r){if(!(e=U(e)))return!1;let o=null,i=Is(e);const s=!i&&K(e);if(i||s){if(s&&!s.standalone)return!1;o=e}else{const u=e.ngModule;if(i=Is(u),!i)return!1;o=u}const a=r.has(o);if(s){if(a)return!1;if(r.add(o),s.dependencies){const u="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const c of u)da(c,n,t,r)}}else{if(!i)return!1;{if(null!=i.imports&&!a){let c;r.add(o);try{Gr(i.imports,l=>{da(l,n,t,r)&&(c||=[],c.push(l))})}finally{}void 0!==c&&_m(c,n)}if(!a){const c=or(o)||(()=>new o);n({provide:o,useFactory:c,deps:te},o),n({provide:mm,useValue:o,multi:!0},o),n({provide:gi,useValue:()=>k(o),multi:!0},o)}const u=i.providers;if(null!=u&&!a){const c=e;wl(u,l=>{n(l,c)})}}}return o!==e&&void 0!==e.providers}function wl(e,n){for(let t of e)fc(t)&&(t=t.\u0275providers),Array.isArray(t)?wl(t,n):n(t)}const MM=ae({provide:String,useValue:ae});function bl(e){return null!==e&&"object"==typeof e&&MM in e}function ur(e){return"function"==typeof e}const El=new P("Set Injector scope."),fa={},TM={};let Il;function ha(){return void 0===Il&&(Il=new Dl),Il}class vt{}class Kr extends vt{get destroyed(){return this._destroyed}constructor(n,t,r,o){super(),this.parent=t,this.source=r,this.scopes=o,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,Sl(n,s=>this.processProvider(s)),this.records.set(gm,eo(void 0,this)),o.has("environment")&&this.records.set(vt,eo(void 0,this));const i=this.records.get(El);null!=i&&"string"==typeof i.value&&this.scopes.add(i.value),this.injectorDefTypes=new Set(this.get(mm.multi,te,X.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const t of this._ngOnDestroyHooks)t.ngOnDestroy();const n=this._onDestroyHooks;this._onDestroyHooks=[];for(const t of n)t()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(n){return this.assertNotDestroyed(),this._onDestroyHooks.push(n),()=>this.removeOnDestroy(n)}runInContext(n){this.assertNotDestroyed();const t=On(this),r=ot(void 0);try{return n()}finally{On(t),ot(r)}}get(n,t=Ho,r=X.Default){if(this.assertNotDestroyed(),n.hasOwnProperty(ip))return n[ip](this);r=Ts(r);const i=On(this),s=ot(void 0);try{if(!(r&X.SkipSelf)){let u=this.records.get(n);if(void 0===u){const c=function OM(e){return"function"==typeof e||"object"==typeof e&&e instanceof P}(n)&&Es(n);u=c&&this.injectableDefInScope(c)?eo(Ml(n),fa):null,this.records.set(n,u)}if(null!=u)return this.hydrate(n,u)}return(r&X.Self?ha():this.parent).get(n,t=r&X.Optional&&t===Ho?null:t)}catch(a){if("NullInjectorError"===a.name){if((a[Ss]=a[Ss]||[]).unshift(Re(n)),i)throw a;return function T0(e,n,t,r){const o=e[Ss];throw n[np]&&o.unshift(n[np]),e.message=function A0(e,n,t,r=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let o=Re(n);if(Array.isArray(n))o=n.map(Re).join(" -> ");else if("object"==typeof n){let i=[];for(let s in n)if(n.hasOwnProperty(s)){let a=n[s];i.push(s+":"+("string"==typeof a?JSON.stringify(a):Re(a)))}o=`{${i.join(", ")}}`}return`${t}${r?"("+r+")":""}[${o}]: ${e.replace(b0,"\n ")}`}("\n"+e.message,o,t,r),e.ngTokenPath=o,e[Ss]=null,e}(a,n,"R3InjectorError",this.source)}throw a}finally{ot(s),On(i)}}resolveInjectorInitializers(){const n=On(this),t=ot(void 0);try{const o=this.get(gi.multi,te,X.Self);for(const i of o)i()}finally{On(n),ot(t)}}toString(){const n=[],t=this.records;for(const r of t.keys())n.push(Re(r));return`R3Injector[${n.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new I(205,!1)}processProvider(n){let t=ur(n=U(n))?n:U(n&&n.provide);const r=function xM(e){return bl(e)?eo(void 0,e.useValue):eo(Cm(e),fa)}(n);if(ur(n)||!0!==n.multi)this.records.get(t);else{let o=this.records.get(t);o||(o=eo(void 0,fa,!0),o.factory=()=>Cc(o.multi),this.records.set(t,o)),t=n,o.multi.push(n)}this.records.set(t,r)}hydrate(n,t){return t.value===fa&&(t.value=TM,t.value=t.factory()),"object"==typeof t.value&&t.value&&function RM(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}injectableDefInScope(n){if(!n.providedIn)return!1;const t=U(n.providedIn);return"string"==typeof t?"any"===t||this.scopes.has(t):this.injectorDefTypes.has(t)}removeOnDestroy(n){const t=this._onDestroyHooks.indexOf(n);-1!==t&&this._onDestroyHooks.splice(t,1)}}function Ml(e){const n=Es(e),t=null!==n?n.factory:or(e);if(null!==t)return t;if(e instanceof P)throw new I(204,!1);if(e instanceof Function)return function AM(e){const n=e.length;if(n>0)throw function si(e,n){const t=[];for(let r=0;rt.factory(e):()=>new e}(e);throw new I(204,!1)}function Cm(e,n,t){let r;if(ur(e)){const o=U(e);return or(o)||Ml(o)}if(bl(e))r=()=>U(e.useValue);else if(function Dm(e){return!(!e||!e.useFactory)}(e))r=()=>e.useFactory(...Cc(e.deps||[]));else if(function ym(e){return!(!e||!e.useExisting)}(e))r=()=>k(U(e.useExisting));else{const o=U(e&&(e.useClass||e.provide));if(!function NM(e){return!!e.deps}(e))return or(o)||Ml(o);r=()=>new o(...Cc(e.deps))}return r}function eo(e,n,t=!1){return{factory:e,value:n,multi:t?[]:void 0}}function Sl(e,n){for(const t of e)Array.isArray(t)?Sl(t,n):t&&fc(t)?Sl(t.\u0275providers,n):n(t)}const pa=new P("AppId",{providedIn:"root",factory:()=>PM}),PM="ng",wm=new P("Platform Initializer"),cr=new P("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),bm=new P("CSP nonce",{providedIn:"root",factory:()=>function Xr(){if(void 0!==pl)return pl;if(typeof document<"u")return document;throw new I(210,!1)}().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let Em=(e,n,t)=>null;function Fl(e,n,t=!1){return Em(e,n,t)}class zM{}class Sm{}class qM{resolveComponentFactory(n){throw function GM(e){const n=Error(`No component factory found for ${Re(e)}.`);return n.ngComponent=e,n}(n)}}let Da=(()=>{class e{static#e=this.NULL=new qM}return e})();function WM(){return ro($e(),w())}function ro(e,n){return new _t(st(e,n))}let _t=(()=>{class e{constructor(t){this.nativeElement=t}static#e=this.__NG_ELEMENT_ID__=WM}return e})();class Am{}let yn=(()=>{class e{constructor(){this.destroyNode=null}static#e=this.__NG_ELEMENT_ID__=()=>function YM(){const e=w(),t=gt($e().index,e);return(it(t)?t:e)[q]}()}return e})(),QM=(()=>{class e{static#e=this.\u0275prov=V({token:e,providedIn:"root",factory:()=>null})}return e})();class _i{constructor(n){this.full=n,this.major=n.split(".")[0],this.minor=n.split(".")[1],this.patch=n.split(".").slice(2).join(".")}}const XM=new _i("16.2.12"),Vl={};function Om(e,n=null,t=null,r){const o=Pm(e,n,t,r);return o.resolveInjectorInitializers(),o}function Pm(e,n=null,t=null,r,o=new Set){const i=[t||te,IM(e)];return r=r||("object"==typeof e?void 0:Re(e)),new Kr(i,n||ha(),r||null,o)}let yt=(()=>{class e{static#e=this.THROW_IF_NOT_FOUND=Ho;static#t=this.NULL=new Dl;static create(t,r){if(Array.isArray(t))return Om({name:""},r,t,"");{const o=t.name??"";return Om({name:o},t.parent,t.providers,o)}}static#n=this.\u0275prov=V({token:e,providedIn:"any",factory:()=>k(gm)});static#r=this.__NG_ELEMENT_ID__=-1}return e})();function Bl(e){return e.ngOriginalError}class Dn{constructor(){this._console=console}handleError(n){const t=this._findOriginalError(n);this._console.error("ERROR",n),t&&this._console.error("ORIGINAL ERROR",t)}_findOriginalError(n){let t=n&&Bl(n);for(;t&&Bl(t);)t=Bl(t);return t||null}}function Hl(e){return n=>{setTimeout(e,void 0,n)}}const we=class oS extends kt{constructor(n=!1){super(),this.__isAsync=n}emit(n){super.next(n)}subscribe(n,t,r){let o=n,i=t||(()=>null),s=r;if(n&&"object"==typeof n){const u=n;o=u.next?.bind(u),i=u.error?.bind(u),s=u.complete?.bind(u)}this.__isAsync&&(i=Hl(i),o&&(o=Hl(o)),s&&(s=Hl(s)));const a=super.subscribe({next:o,error:i,complete:s});return n instanceof lt&&n.add(a),a}};function km(...e){}class ge{constructor({enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:r=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new we(!1),this.onMicrotaskEmpty=new we(!1),this.onStable=new we(!1),this.onError=new we(!1),typeof Zone>"u")throw new I(908,!1);Zone.assertZonePatched();const o=this;o._nesting=0,o._outer=o._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(o._inner=o._inner.fork(new Zone.TaskTrackingZoneSpec)),n&&Zone.longStackTraceZoneSpec&&(o._inner=o._inner.fork(Zone.longStackTraceZoneSpec)),o.shouldCoalesceEventChangeDetection=!r&&t,o.shouldCoalesceRunChangeDetection=r,o.lastRequestAnimationFrameId=-1,o.nativeRequestAnimationFrame=function iS(){const e="function"==typeof he.requestAnimationFrame;let n=he[e?"requestAnimationFrame":"setTimeout"],t=he[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&n&&t){const r=n[Zone.__symbol__("OriginalDelegate")];r&&(n=r);const o=t[Zone.__symbol__("OriginalDelegate")];o&&(t=o)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:t}}().nativeRequestAnimationFrame,function uS(e){const n=()=>{!function aS(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(he,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,zl(e),e.isCheckStableRunning=!0,Ul(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),zl(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,r,o,i,s,a)=>{if(function lS(e){return!(!Array.isArray(e)||1!==e.length)&&!0===e[0].data?.__ignore_ng_zone__}(a))return t.invokeTask(o,i,s,a);try{return Lm(e),t.invokeTask(o,i,s,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===i.type||e.shouldCoalesceRunChangeDetection)&&n(),Vm(e)}},onInvoke:(t,r,o,i,s,a,u)=>{try{return Lm(e),t.invoke(o,i,s,a,u)}finally{e.shouldCoalesceRunChangeDetection&&n(),Vm(e)}},onHasTask:(t,r,o,i)=>{t.hasTask(o,i),r===o&&("microTask"==i.change?(e._hasPendingMicrotasks=i.microTask,zl(e),Ul(e)):"macroTask"==i.change&&(e.hasPendingMacrotasks=i.macroTask))},onHandleError:(t,r,o,i)=>(t.handleError(o,i),e.runOutsideAngular(()=>e.onError.emit(i)),!1)})}(o)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!ge.isInAngularZone())throw new I(909,!1)}static assertNotInAngularZone(){if(ge.isInAngularZone())throw new I(909,!1)}run(n,t,r){return this._inner.run(n,t,r)}runTask(n,t,r,o){const i=this._inner,s=i.scheduleEventTask("NgZoneEvent: "+o,n,sS,km,km);try{return i.runTask(s,t,r)}finally{i.cancelTask(s)}}runGuarded(n,t,r){return this._inner.runGuarded(n,t,r)}runOutsideAngular(n){return this._outer.run(n)}}const sS={};function Ul(e){if(0==e._nesting&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function zl(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function Lm(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function Vm(e){e._nesting--,Ul(e)}class cS{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new we,this.onMicrotaskEmpty=new we,this.onStable=new we,this.onError=new we}run(n,t,r){return n.apply(t,r)}runGuarded(n,t,r){return n.apply(t,r)}runOutsideAngular(n){return n()}runTask(n,t,r,o){return n.apply(t,r)}}const jm=new P("",{providedIn:"root",factory:Bm});function Bm(){const e=R(ge);let n=!0;return function c0(...e){const n=$o(e),t=function t0(e,n){return"number"==typeof uc(e)?e.pop():n}(e,1/0),r=e;return r.length?1===r.length?dt(r[0]):Mr(t)(Ne(r,n)):Zt}(new Ee(o=>{n=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{o.next(n),o.complete()})}),new Ee(o=>{let i;e.runOutsideAngular(()=>{i=e.onStable.subscribe(()=>{ge.assertNotInAngularZone(),queueMicrotask(()=>{!n&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(n=!0,o.next(!0))})})});const s=e.onUnstable.subscribe(()=>{ge.assertInAngularZone(),n&&(n=!1,e.runOutsideAngular(()=>{o.next(!1)}))});return()=>{i.unsubscribe(),s.unsubscribe()}}).pipe(Yh()))}function Cn(e){return e instanceof Function?e():e}let Gl=(()=>{class e{constructor(){this.renderDepth=0,this.handler=null}begin(){this.handler?.validateBegin(),this.renderDepth++}end(){this.renderDepth--,0===this.renderDepth&&this.handler?.execute()}ngOnDestroy(){this.handler?.destroy(),this.handler=null}static#e=this.\u0275prov=V({token:e,providedIn:"root",factory:()=>new e})}return e})();function yi(e){for(;e;){e[Z]|=64;const n=ci(e);if(Sc(e)&&!n)return e;e=n}return null}const Gm=new P("",{providedIn:"root",factory:()=>!1});let wa=null;function Ym(e,n){return e[n]??Jm()}function Qm(e,n){const t=Jm();t.producerNode?.length&&(e[n]=wa,t.lView=e,wa=Xm())}const DS={...wp,consumerIsAlwaysLive:!0,consumerMarkedDirty:e=>{yi(e.lView)},lView:null};function Xm(){return Object.create(DS)}function Jm(){return wa??=Xm(),wa}const W={};function m(e){Km(ee(),w(),Je()+e,!1)}function Km(e,n,t,r){if(!r)if(3==(3&n[Z])){const i=e.preOrderCheckHooks;null!==i&&js(n,i,t)}else{const i=e.preOrderHooks;null!==i&&Bs(n,i,0,t)}ir(t)}function b(e,n=X.Default){const t=w();return null===t?k(e,n):hg($e(),t,U(e),n)}function ba(e,n,t,r,o,i,s,a,u,c,l){const d=n.blueprint.slice();return d[Ce]=o,d[Z]=140|r,(null!==c||e&&2048&e[Z])&&(d[Z]|=2048),Hp(d),d[_e]=d[Rr]=e,d[Ie]=t,d[Nr]=s||e&&e[Nr],d[q]=a||e&&e[q],d[Pn]=u||e&&e[Pn]||null,d[Ue]=i,d[Yo]=function S1(){return M1++}(),d[gn]=l,d[_p]=c,d[Me]=2==n.type?e[Me]:d,d}function so(e,n,t,r,o){let i=e.data[n];if(null===i)i=function ql(e,n,t,r,o){const i=Zp(),s=Fc(),u=e.data[n]=function TS(e,n,t,r,o,i){let s=n?n.injectorIndex:-1,a=0;return function Lr(){return null!==H.skipHydrationRootTNode}()&&(a|=128),{type:t,index:r,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:o,attrs:i,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:n,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,s?i:i&&i.parent,t,n,r,o);return null===e.firstChild&&(e.firstChild=u),null!==i&&(s?null==i.child&&null!==u.parent&&(i.child=u):null===i.next&&(i.next=u,u.prev=i)),u}(e,n,t,r,o),function MI(){return H.lFrame.inI18n}()&&(i.flags|=32);else if(64&i.type){i.type=t,i.value=r,i.attrs=o;const s=function ei(){const e=H.lFrame,n=e.currentTNode;return e.isParent?n:n.parent}();i.injectorIndex=null===s?-1:s.injectorIndex}return Kt(i,!0),i}function Di(e,n,t,r){if(0===t)return-1;const o=n.length;for(let i=0;iJ&&Km(e,n,J,!1),Jt(a?2:0,o);const c=a?i:null,l=Ac(c);try{null!==c&&(c.dirty=!1),t(r,o)}finally{xc(c,l)}}finally{a&&null===n[Qo]&&Qm(n,Qo),ir(s),Jt(a?3:1,o)}}function Wl(e,n,t){if(Mc(n)){const r=Mt(null);try{const i=n.directiveEnd;for(let s=n.directiveStart;snull;function ov(e,n,t,r){for(let o in e)if(e.hasOwnProperty(o)){t=null===t?{}:t;const i=e[o];null===r?iv(t,n,o,i):r.hasOwnProperty(o)&&iv(t,n,r[o],i)}return t}function iv(e,n,t,r){e.hasOwnProperty(t)?e[t].push(n,r):e[t]=[n,r]}function Dt(e,n,t,r,o,i,s,a){const u=st(n,t);let l,c=n.inputs;!a&&null!=c&&(l=c[r])?(td(e,t,l,r,o),rr(n)&&function NS(e,n){const t=gt(n,e);16&t[Z]||(t[Z]|=64)}(t,n.index)):3&n.type&&(r=function xS(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(r),o=null!=s?s(o,n.value||"",r):o,i.setProperty(u,r,o))}function Xl(e,n,t,r){if(Wp()){const o=null===r?null:{"":-1},i=function LS(e,n){const t=e.directiveRegistry;let r=null,o=null;if(t)for(let i=0;i0;){const t=e[--n];if("number"==typeof t&&t<0)return t}return 0})(s)!=a&&s.push(a),s.push(t,r,i)}}(e,n,r,Di(e,t,o.hostVars,W),o)}function US(e,n,t,r,o,i){const s=i[n];if(null!==s)for(let a=0;a{class e{constructor(){this.all=new Set,this.queue=new Map}create(t,r,o){const i=typeof Zone>"u"?null:Zone.current,s=function oI(e,n,t){const r=Object.create(iI);t&&(r.consumerAllowSignalWrites=!0),r.fn=e,r.schedule=n;const o=s=>{r.cleanupFn=s};return r.ref={notify:()=>Mp(r),run:()=>{if(r.dirty=!1,r.hasRun&&!Sp(r))return;r.hasRun=!0;const s=Ac(r);try{r.cleanupFn(),r.cleanupFn=Fp,r.fn(o)}finally{xc(r,s)}},cleanup:()=>r.cleanupFn()},r.ref}(t,c=>{this.all.has(c)&&this.queue.set(c,i)},o);let a;this.all.add(s),s.notify();const u=()=>{s.cleanup(),a?.(),this.all.delete(s),this.queue.delete(s)};return a=r?.onDestroy(u),{destroy:u}}flush(){if(0!==this.queue.size)for(const[t,r]of this.queue)this.queue.delete(t),r?r.run(()=>t.run()):t.run()}get isQueueEmpty(){return 0===this.queue.size}static#e=this.\u0275prov=V({token:e,providedIn:"root",factory:()=>new e})}return e})();function Ia(e,n,t){let r=t?e.styles:null,o=t?e.classes:null,i=0;if(null!==n)for(let s=0;s0){_v(e,1);const o=t.components;null!==o&&Dv(e,o,1)}}function Dv(e,n,t){for(let r=0;r-1&&(oa(n,r),qs(t,r))}this._attachedToViewContainer=!1}al(this._lView[N],this._lView)}onDestroy(n){!function Gp(e,n){if(256==(256&e[Z]))throw new I(911,!1);null===e[Fn]&&(e[Fn]=[]),e[Fn].push(n)}(this._lView,n)}markForCheck(){yi(this._cdRefInjectingView||this._lView)}detach(){this._lView[Z]&=-129}reattach(){this._lView[Z]|=128}detectChanges(){Ma(this._lView[N],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new I(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function $1(e,n){di(e,n,n[q],2,null,null)}(this._lView[N],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new I(902,!1);this._appRef=n}}class JS extends wi{constructor(n){super(n),this._view=n}detectChanges(){const n=this._view;Ma(n[N],n,n[Ie],!1)}checkNoChanges(){}get context(){return null}}class Cv extends Da{constructor(n){super(),this.ngModule=n}resolveComponentFactory(n){const t=K(n);return new bi(t,this.ngModule)}}function wv(e){const n=[];for(let t in e)e.hasOwnProperty(t)&&n.push({propName:e[t],templateName:t});return n}class eT{constructor(n,t){this.injector=n,this.parentInjector=t}get(n,t,r){r=Ts(r);const o=this.injector.get(n,Vl,r);return o!==Vl||t===Vl?o:this.parentInjector.get(n,t,r)}}class bi extends Sm{get inputs(){const n=this.componentDef,t=n.inputTransforms,r=wv(n.inputs);if(null!==t)for(const o of r)t.hasOwnProperty(o.propName)&&(o.transform=t[o.propName]);return r}get outputs(){return wv(this.componentDef.outputs)}constructor(n,t){super(),this.componentDef=n,this.ngModule=t,this.componentType=n.type,this.selector=function j0(e){return e.map(V0).join(",")}(n.selectors),this.ngContentSelectors=n.ngContentSelectors?n.ngContentSelectors:[],this.isBoundToModule=!!t}create(n,t,r,o){let i=(o=o||this.ngModule)instanceof vt?o:o?.injector;i&&null!==this.componentDef.getStandaloneInjector&&(i=this.componentDef.getStandaloneInjector(i)||i);const s=i?new eT(n,i):n,a=s.get(Am,null);if(null===a)throw new I(407,!1);const d={rendererFactory:a,sanitizer:s.get(QM,null),effectManager:s.get(gv,null),afterRenderEventManager:s.get(Gl,null)},g=a.createRenderer(null,this.componentDef),v=this.componentDef.selectors[0][0]||"div",_=r?function bS(e,n,t,r){const i=r.get(Gm,!1)||t===Vt.ShadowDom,s=e.selectRootElement(n,i);return function ES(e){rv(e)}(s),s}(g,r,this.componentDef.encapsulation,s):ra(g,v,function KS(e){const n=e.toLowerCase();return"svg"===n?"svg":"math"===n?"math":null}(v)),M=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let D=null;null!==_&&(D=Fl(_,s,!0));const O=Ql(0,null,null,1,0,null,null,null,null,null,null),j=ba(null,O,null,M,null,null,d,g,s,null,D);let Q,ke;Bc(j);try{const dn=this.componentDef;let Ir,wh=null;dn.findHostDirectiveDefs?(Ir=[],wh=new Map,dn.findHostDirectiveDefs(dn,Ir,wh),Ir.push(dn)):Ir=[dn];const gB=function nT(e,n){const t=e[N],r=J;return e[r]=n,so(t,r,2,"#host",null)}(j,_),mB=function rT(e,n,t,r,o,i,s){const a=o[N];!function oT(e,n,t,r){for(const o of e)n.mergedAttrs=Go(n.mergedAttrs,o.hostAttrs);null!==n.mergedAttrs&&(Ia(n,n.mergedAttrs,!0),null!==t&&nm(r,t,n))}(r,e,n,s);let u=null;null!==n&&(u=Fl(n,o[Pn]));const c=i.rendererFactory.createRenderer(n,t);let l=16;t.signals?l=4096:t.onPush&&(l=64);const d=ba(o,nv(t),null,l,o[e.index],e,i,c,null,null,u);return a.firstCreatePass&&Jl(a,e,r.length-1),Ea(o,d),o[e.index]=d}(gB,_,dn,Ir,j,d,g);ke=$p(O,J),_&&function sT(e,n,t,r){if(r)Ec(e,t,["ng-version",XM.full]);else{const{attrs:o,classes:i}=function B0(e){const n=[],t=[];let r=1,o=2;for(;r0&&tm(e,t,i.join(" "))}}(g,dn,_,r),void 0!==t&&function aT(e,n,t){const r=e.projection=[];for(let o=0;o=0;r--){const o=e[r];o.hostVars=n+=o.hostVars,o.hostAttrs=Go(o.hostAttrs,t=Go(t,o.hostAttrs))}}(r)}function Sa(e){return e===Yt?{}:e===te?[]:e}function lT(e,n){const t=e.viewQuery;e.viewQuery=t?(r,o)=>{n(r,o),t(r,o)}:n}function dT(e,n){const t=e.contentQueries;e.contentQueries=t?(r,o,i)=>{n(r,o,i),t(r,o,i)}:n}function fT(e,n){const t=e.hostBindings;e.hostBindings=t?(r,o)=>{n(r,o),t(r,o)}:n}function Ta(e){return!!rd(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function rd(e){return null!==e&&("function"==typeof e||"object"==typeof e)}function nn(e,n,t){return e[n]=t}function Ge(e,n,t){return!Object.is(e[n],t)&&(e[n]=t,!0)}function lr(e,n,t,r){const o=Ge(e,n,t);return Ge(e,n+1,r)||o}function Nt(e,n,t,r,o,i){const s=lr(e,n,t,r);return lr(e,n+2,o,i)||s}function uo(e,n,t,r){return Ge(e,Vr(),t)?n+G(t)+r:W}function A(e,n,t,r,o,i,s,a){const u=w(),c=ee(),l=e+J,d=c.firstCreatePass?function LT(e,n,t,r,o,i,s,a,u){const c=n.consts,l=so(n,e,4,s||null,Ln(c,a));Xl(n,t,l,Ln(c,u)),Vs(n,l);const d=l.tView=Ql(2,l,r,o,i,n.directiveRegistry,n.pipeRegistry,null,n.schemas,c,null);return null!==n.queries&&(n.queries.template(n,l),d.queries=n.queries.embeddedTView(l)),l}(l,c,u,n,t,r,o,i,s):c.data[l];Kt(d,!1);const g=Bv(c,u,d,e);Ls()&&sa(c,u,g,d),ze(g,u),Ea(u,u[l]=cv(g,u,g,d)),Os(d)&&Zl(c,u,d),null!=s&&Yl(u,d,a)}let Bv=function $v(e,n,t,r){return Vn(!0),n[q].createComment("")};function S(e,n,t){const r=w();return Ge(r,Vr(),n)&&Dt(ee(),De(),r,e,n,r[q],t,!1),S}function cd(e,n,t,r,o){const s=o?"class":"style";td(e,t,n.inputs[s],s,r)}function h(e,n,t,r){const o=w(),i=ee(),s=J+e,a=o[q],u=i.firstCreatePass?function HT(e,n,t,r,o,i){const s=n.consts,u=so(n,e,2,r,Ln(s,o));return Xl(n,t,u,Ln(s,i)),null!==u.attrs&&Ia(u,u.attrs,!1),null!==u.mergedAttrs&&Ia(u,u.mergedAttrs,!0),null!==n.queries&&n.queries.elementStart(n,u),u}(s,i,o,n,t,r):i.data[s],c=Hv(i,o,u,a,n,e);o[s]=c;const l=Os(u);return Kt(u,!0),nm(a,c,u),32!=(32&u.flags)&&Ls()&&sa(i,o,c,u),0===function vI(){return H.lFrame.elementDepthCount}()&&ze(c,o),function _I(){H.lFrame.elementDepthCount++}(),l&&(Zl(i,o,u),Wl(i,u,o)),null!==r&&Yl(o,u),h}function f(){let e=$e();Fc()?kc():(e=e.parent,Kt(e,!1));const n=e;(function DI(e){return H.skipHydrationRootTNode===e})(n)&&function EI(){H.skipHydrationRootTNode=null}(),function yI(){H.lFrame.elementDepthCount--}();const t=ee();return t.firstCreatePass&&(Vs(t,e),Mc(e)&&t.queries.elementEnd(e)),null!=n.classesWithoutHost&&function jI(e){return 0!=(8&e.flags)}(n)&&cd(t,n,w(),n.classesWithoutHost,!0),null!=n.stylesWithoutHost&&function BI(e){return 0!=(16&e.flags)}(n)&&cd(t,n,w(),n.stylesWithoutHost,!1),f}function Pe(e,n,t,r){return h(e,n,t,r),f(),Pe}let Hv=(e,n,t,r,o,i)=>(Vn(!0),ra(r,o,function og(){return H.lFrame.currentNamespace}()));function $n(e,n,t){const r=w(),o=ee(),i=e+J,s=o.firstCreatePass?function GT(e,n,t,r,o){const i=n.consts,s=Ln(i,r),a=so(n,e,8,"ng-container",s);return null!==s&&Ia(a,s,!0),Xl(n,t,a,Ln(i,o)),null!==n.queries&&n.queries.elementStart(n,a),a}(i,o,r,n,t):o.data[i];Kt(s,!0);const a=zv(o,r,s,e);return r[i]=a,Ls()&&sa(o,r,a,s),ze(a,r),Os(s)&&(Zl(o,r,s),Wl(o,s,r)),null!=t&&Yl(r,s),$n}function Hn(){let e=$e();const n=ee();return Fc()?kc():(e=e.parent,Kt(e,!1)),n.firstCreatePass&&(Vs(n,e),Mc(e)&&n.queries.elementEnd(e)),Hn}let zv=(e,n,t,r)=>(Vn(!0),sl(n[q],""));function Rt(){return w()}function Ti(e){return!!e&&"function"==typeof e.then}function Gv(e){return!!e&&"function"==typeof e.subscribe}function re(e,n,t,r){const o=w(),i=ee(),s=$e();return function Wv(e,n,t,r,o,i,s){const a=Os(r),c=e.firstCreatePass&&function fv(e){return e.cleanup||(e.cleanup=[])}(e),l=n[Ie],d=function dv(e){return e[xr]||(e[xr]=[])}(n);let g=!0;if(3&r.type||s){const y=st(r,n),C=s?s(y):y,M=d.length,D=s?j=>s(pe(j[r.index])):r.index;let O=null;if(!s&&a&&(O=function ZT(e,n,t,r){const o=e.cleanup;if(null!=o)for(let i=0;iu?a[u]:null}"string"==typeof s&&(i+=2)}return null}(e,n,o,r.index)),null!==O)(O.__ngLastListenerFn__||O).__ngNextListenerFn__=i,O.__ngLastListenerFn__=i,g=!1;else{i=Yv(r,n,l,i,!1);const j=t.listen(C,o,i);d.push(i,j),c&&c.push(o,D,M,M+1)}}else i=Yv(r,n,l,i,!1);const v=r.outputs;let _;if(g&&null!==v&&(_=v[o])){const y=_.length;if(y)for(let C=0;C-1?gt(e.index,n):n);let u=Zv(n,t,r,s),c=i.__ngNextListenerFn__;for(;c;)u=Zv(n,t,c,s)&&u,c=c.__ngNextListenerFn__;return o&&!1===u&&s.preventDefault(),u}}function E(e=1){return function xI(e){return(H.lFrame.contextLView=function NI(e,n){for(;e>0;)n=n[Rr],e--;return n}(e,H.lFrame.contextLView))[Ie]}(e)}function F(e,n,t,r,o){const i=w(),s=uo(i,n,t,r);return s!==W&&Dt(ee(),De(),i,e,s,i[q],o,!1),F}function Oa(e,n){return e<<17|n<<2}function Un(e){return e>>17&32767}function ld(e){return 2|e}function dr(e){return(131068&e)>>2}function dd(e,n){return-131069&e|n<<2}function fd(e){return 1|e}function i_(e,n,t,r,o){const i=e[t+1],s=null===n;let a=r?Un(i):dr(i),u=!1;for(;0!==a&&(!1===u||s);){const l=e[a+1];rA(e[a],n)&&(u=!0,e[a+1]=r?fd(l):ld(l)),a=r?Un(l):dr(l)}u&&(e[t+1]=r?ld(i):fd(i))}function rA(e,n){return null===e||null==n||(Array.isArray(e)?e[1]:e)===n||!(!Array.isArray(e)||"string"!=typeof n)&&qr(e,n)>=0}function Pa(e,n){return function Ht(e,n,t,r){const o=w(),i=ee(),s=function vn(e){const n=H.lFrame,t=n.bindingIndex;return n.bindingIndex=n.bindingIndex+e,t}(2);i.firstUpdatePass&&function p_(e,n,t,r){const o=e.data;if(null===o[t+1]){const i=o[Je()],s=function h_(e,n){return n>=e.expandoStartIndex}(e,t);(function __(e,n){return 0!=(e.flags&(n?8:16))})(i,r)&&null===n&&!s&&(n=!1),n=function fA(e,n,t,r){const o=function Vc(e){const n=H.lFrame.currentDirectiveIndex;return-1===n?null:e[n]}(e);let i=r?n.residualClasses:n.residualStyles;if(null===o)0===(r?n.classBindings:n.styleBindings)&&(t=Ai(t=hd(null,e,n,t,r),n.attrs,r),i=null);else{const s=n.directiveStylingLast;if(-1===s||e[s]!==o)if(t=hd(o,e,n,t,r),null===i){let u=function hA(e,n,t){const r=t?n.classBindings:n.styleBindings;if(0!==dr(r))return e[Un(r)]}(e,n,r);void 0!==u&&Array.isArray(u)&&(u=hd(null,e,n,u[1],r),u=Ai(u,n.attrs,r),function pA(e,n,t,r){e[Un(t?n.classBindings:n.styleBindings)]=r}(e,n,r,u))}else i=function gA(e,n,t){let r;const o=n.directiveEnd;for(let i=1+n.directiveStylingLast;i0)&&(c=!0)):l=t,o)if(0!==u){const g=Un(e[a+1]);e[r+1]=Oa(g,a),0!==g&&(e[g+1]=dd(e[g+1],r)),e[a+1]=function KT(e,n){return 131071&e|n<<17}(e[a+1],r)}else e[r+1]=Oa(a,0),0!==a&&(e[a+1]=dd(e[a+1],r)),a=r;else e[r+1]=Oa(u,0),0===a?a=r:e[u+1]=dd(e[u+1],r),u=r;c&&(e[r+1]=ld(e[r+1])),i_(e,l,r,!0),i_(e,l,r,!1),function nA(e,n,t,r,o){const i=o?e.residualClasses:e.residualStyles;null!=i&&"string"==typeof n&&qr(i,n)>=0&&(t[r+1]=fd(t[r+1]))}(n,l,e,r,i),s=Oa(a,u),i?n.classBindings=s:n.styleBindings=s}(o,i,n,t,s,r)}}(i,e,s,r),n!==W&&Ge(o,s,n)&&function m_(e,n,t,r,o,i,s,a){if(!(3&n.type))return;const u=e.data,c=u[a+1],l=function eA(e){return 1==(1&e)}(c)?v_(u,n,t,o,dr(c),s):void 0;Fa(l)||(Fa(i)||function JT(e){return 2==(2&e)}(c)&&(i=v_(u,null,t,o,a,s)),function X1(e,n,t,r,o){if(n)o?e.addClass(t,r):e.removeClass(t,r);else{let i=-1===r.indexOf("-")?void 0:jn.DashCase;null==o?e.removeStyle(t,r,i):("string"==typeof o&&o.endsWith("!important")&&(o=o.slice(0,-10),i|=jn.Important),e.setStyle(t,r,o,i))}}(r,s,ks(Je(),t),o,i))}(i,i.data[Je()],o,o[q],e,o[s+1]=function yA(e,n){return null==e||""===e||("string"==typeof n?e+=n:"object"==typeof e&&(e=Re(Bn(e)))),e}(n,t),r,s)}(e,n,null,!0),Pa}function hd(e,n,t,r,o){let i=null;const s=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const u=e[o],c=Array.isArray(u),l=c?u[1]:u,d=null===l;let g=t[o+1];g===W&&(g=d?te:void 0);let v=d?Qc(g,r):l===r?g:void 0;if(c&&!Fa(v)&&(v=Qc(u,r)),Fa(v)&&(a=v,s))return a;const _=e[o+1];o=s?Un(_):dr(_)}if(null!==n){let u=i?n.residualClasses:n.residualStyles;null!=u&&(a=Qc(u,r))}return a}function Fa(e){return void 0!==e}function p(e,n=""){const t=w(),r=ee(),o=e+J,i=r.firstCreatePass?so(r,o,1,n,null):r.data[o],s=y_(r,t,i,n,e);t[o]=s,Ls()&&sa(r,t,s,i),Kt(i,!1)}let y_=(e,n,t,r,o)=>(Vn(!0),function na(e,n){return e.createText(n)}(n[q],r));function T(e){return x("",e,""),T}function x(e,n,t){const r=w(),o=uo(r,e,n,t);return o!==W&&function wn(e,n,t){const r=ks(n,e);!function Ug(e,n,t){e.setValue(n,t)}(e[q],r,t)}(r,Je(),o),x}const yo="en-US";let $_=yo;function md(e,n,t,r,o){if(e=U(e),Array.isArray(e))for(let i=0;i>20;if(ur(e)||!e.multi){const v=new ti(c,o,b),_=_d(u,n,o?l:l+g,d);-1===_?(Wc(Hs(a,s),i,u),vd(i,e,n.length),n.push(u),a.directiveStart++,a.directiveEnd++,o&&(a.providerIndexes+=1048576),t.push(v),s.push(v)):(t[_]=v,s[_]=v)}else{const v=_d(u,n,l+g,d),_=_d(u,n,l,l+g),C=_>=0&&t[_];if(o&&!C||!o&&!(v>=0&&t[v])){Wc(Hs(a,s),i,u);const M=function Bx(e,n,t,r,o){const i=new ti(e,t,b);return i.multi=[],i.index=n,i.componentProviders=0,fy(i,o,r&&!t),i}(o?jx:Vx,t.length,o,r,c);!o&&C&&(t[_].providerFactory=M),vd(i,e,n.length,0),n.push(u),a.directiveStart++,a.directiveEnd++,o&&(a.providerIndexes+=1048576),t.push(M),s.push(M)}else vd(i,e,v>-1?v:_,fy(t[o?_:v],c,!o&&r));!o&&r&&C&&t[_].componentProviders++}}}function vd(e,n,t,r){const o=ur(n),i=function SM(e){return!!e.useClass}(n);if(o||i){const u=(i?U(n.useClass):n).prototype.ngOnDestroy;if(u){const c=e.destroyHooks||(e.destroyHooks=[]);if(!o&&n.multi){const l=c.indexOf(t);-1===l?c.push(t,[r,u]):c[l+1].push(r,u)}else c.push(t,u)}}}function fy(e,n,t){return t&&e.componentProviders++,e.multi.push(n)-1}function _d(e,n,t,r){for(let o=t;o{t.providersResolver=(r,o)=>function Lx(e,n,t){const r=ee();if(r.firstCreatePass){const o=$t(e);md(t,r.data,r.blueprint,o,!0),md(n,r.data,r.blueprint,o,!1)}}(r,o?o(e):e,n)}}class hr{}class hy{}class Dd extends hr{constructor(n,t,r){super(),this._parent=t,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new Cv(this);const o=pt(n);this._bootstrapComponents=Cn(o.bootstrap),this._r3Injector=Pm(n,t,[{provide:hr,useValue:this},{provide:Da,useValue:this.componentFactoryResolver},...r],Re(n),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(n)}get injector(){return this._r3Injector}destroy(){const n=this._r3Injector;!n.destroyed&&n.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}}class Cd extends hy{constructor(n){super(),this.moduleType=n}create(n){return new Dd(this.moduleType,n,[])}}class py extends hr{constructor(n){super(),this.componentFactoryResolver=new Cv(this),this.instance=null;const t=new Kr([...n.providers,{provide:hr,useValue:this},{provide:Da,useValue:this.componentFactoryResolver}],n.parent||ha(),n.debugName,new Set(["environment"]));this.injector=t,n.runEnvironmentInitializers&&t.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(n){this.injector.onDestroy(n)}}function wd(e,n,t=null){return new py({providers:e,parent:n,debugName:t,runEnvironmentInitializers:!0}).injector}let Ux=(()=>{class e{constructor(t){this._injector=t,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(t){if(!t.standalone)return null;if(!this.cachedInjectors.has(t)){const r=vm(0,t.type),o=r.length>0?wd([r],this._injector,`Standalone[${t.type.name}]`):null;this.cachedInjectors.set(t,o)}return this.cachedInjectors.get(t)}ngOnDestroy(){try{for(const t of this.cachedInjectors.values())null!==t&&t.destroy()}finally{this.cachedInjectors.clear()}}static#e=this.\u0275prov=V({token:e,providedIn:"environment",factory:()=>new e(k(vt))})}return e})();function gy(e){e.getStandaloneInjector=n=>n.get(Ux).getOrCreateStandaloneInjector(e)}function Fi(e,n,t,r){return by(w(),Xe(),e,n,t,r)}function wy(e,n,t,r,o,i,s){return function My(e,n,t,r,o,i,s,a,u){const c=n+t;return Nt(e,c,o,i,s,a)?nn(e,c+4,u?r.call(u,o,i,s,a):r(o,i,s,a)):ki(e,c+4)}(w(),Xe(),e,n,t,r,o,i,s)}function Ba(e,n,t,r,o,i,s,a){const u=Xe()+e,c=w(),l=Nt(c,u,t,r,o,i);return Ge(c,u+4,s)||l?nn(c,u+5,a?n.call(a,t,r,o,i,s):n(t,r,o,i,s)):function Ei(e,n){return e[n]}(c,u+5)}function ki(e,n){const t=e[n];return t===W?void 0:t}function by(e,n,t,r,o,i){const s=n+t;return Ge(e,s,o)?nn(e,s+1,i?r.call(i,o):r(o)):ki(e,s+1)}function $a(e,n){const t=ee();let r;const o=e+J;t.firstCreatePass?(r=function iN(e,n){if(n)for(let t=n.length-1;t>=0;t--){const r=n[t];if(e===r.name)return r}}(n,t.pipeRegistry),t.data[o]=r,r.onDestroy&&(t.destroyHooks??=[]).push(o,r.onDestroy)):r=t.data[o];const i=r.factory||(r.factory=or(r.type)),a=ot(b);try{const u=$s(!1),c=i();return $s(u),function BT(e,n,t,r){t>=e.data.length&&(e.data[t]=null,e.blueprint[t]=null),n[t]=r}(t,w(),o,c),c}finally{ot(a)}}function Ha(e,n,t){const r=e+J,o=w(),i=function kr(e,n){return e[n]}(o,r);return function Li(e,n){return e[N].data[n].pure}(o,r)?by(o,Xe(),n,i.transform,t,i):i.transform(t)}function fN(e,n,t,r=!0){const o=n[N];if(function U1(e,n,t,r){const o=je+r,i=t.length;r>0&&(t[o-1][Bt]=n),r{class e{static#e=this.__NG_ELEMENT_ID__=gN}return e})();const hN=bn,pN=class extends hN{constructor(n,t,r){super(),this._declarationLView=n,this._declarationTContainer=t,this.elementRef=r}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(n,t){return this.createEmbeddedViewImpl(n,t)}createEmbeddedViewImpl(n,t,r){const o=function dN(e,n,t,r){const o=n.tView,a=ba(e,o,t,4096&e[Z]?4096:16,null,n,null,null,null,r?.injector??null,r?.hydrationInfo??null);a[Zo]=e[n.index];const c=e[Qt];return null!==c&&(a[Qt]=c.createEmbeddedView(o)),nd(o,a,t),a}(this._declarationLView,this._declarationTContainer,n,{injector:t,hydrationInfo:r});return new wi(o)}};function gN(){return function Ua(e,n){return 4&e.type?new pN(n,e,ro(e,n)):null}($e(),w())}let zt=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=CN}return e})();function CN(){return function Py(e,n){let t;const r=n[e.index];return Qe(r)?t=r:(t=cv(r,n,null,e),n[e.index]=t,Ea(n,t)),Fy(t,n,e,r),new Ry(t,e,n)}($e(),w())}const wN=zt,Ry=class extends wN{constructor(n,t,r){super(),this._lContainer=n,this._hostTNode=t,this._hostLView=r}get element(){return ro(this._hostTNode,this._hostLView)}get injector(){return new Ke(this._hostTNode,this._hostLView)}get parentInjector(){const n=Us(this._hostTNode,this._hostLView);if(zc(n)){const t=ri(n,this._hostLView),r=ni(n);return new Ke(t[N].data[r+8],t)}return new Ke(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){const t=Oy(this._lContainer);return null!==t&&t[n]||null}get length(){return this._lContainer.length-je}createEmbeddedView(n,t,r){let o,i;"number"==typeof r?o=r:null!=r&&(o=r.index,i=r.injector);const a=n.createEmbeddedViewImpl(t||{},i,null);return this.insertImpl(a,o,false),a}createComponent(n,t,r,o,i){const s=n&&!function ii(e){return"function"==typeof e}(n);let a;if(s)a=t;else{const y=t||{};a=y.index,r=y.injector,o=y.projectableNodes,i=y.environmentInjector||y.ngModuleRef}const u=s?n:new bi(K(n)),c=r||this.parentInjector;if(!i&&null==u.ngModule){const C=(s?c:this.parentInjector).get(vt,null);C&&(i=C)}K(u.componentType??{});const v=u.create(c,o,null,i);return this.insertImpl(v.hostView,a,false),v}insert(n,t){return this.insertImpl(n,t,!1)}insertImpl(n,t,r){const o=n._lView;if(function pI(e){return Qe(e[_e])}(o)){const u=this.indexOf(n);if(-1!==u)this.detach(u);else{const c=o[_e],l=new Ry(c,c[Ue],c[_e]);l.detach(l.indexOf(n))}}const s=this._adjustIndex(t),a=this._lContainer;return fN(a,o,s,!r),n.attachToViewContainerRef(),yg(Id(a),s,n),n}move(n,t){return this.insert(n,t)}indexOf(n){const t=Oy(this._lContainer);return null!==t?t.indexOf(n):-1}remove(n){const t=this._adjustIndex(n,-1),r=oa(this._lContainer,t);r&&(qs(Id(this._lContainer),t),al(r[N],r))}detach(n){const t=this._adjustIndex(n,-1),r=oa(this._lContainer,t);return r&&null!=qs(Id(this._lContainer),t)?new wi(r):null}_adjustIndex(n,t=0){return n??this.length+t}};function Oy(e){return e[8]}function Id(e){return e[8]||(e[8]=[])}let Fy=function ky(e,n,t,r){if(e[Xt])return;let o;o=8&t.type?pe(r):function bN(e,n){const t=e[q],r=t.createComment(""),o=st(n,e);return ar(t,ia(t,o),r,function Z1(e,n){return e.nextSibling(n)}(t,o),!1),r}(n,t),e[Xt]=o};const kd=new P("Application Initializer");let Ld=(()=>{class e{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,r)=>{this.resolve=t,this.reject=r}),this.appInits=R(kd,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const t=[];for(const o of this.appInits){const i=o();if(Ti(i))t.push(i);else if(Gv(i)){const s=new Promise((a,u)=>{i.subscribe({complete:a,error:u})});t.push(s)}}const r=()=>{this.done=!0,this.resolve()};Promise.all(t).then(()=>{r()}).catch(o=>{this.reject(o)}),0===t.length&&r(),this.initialized=!0}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),aD=(()=>{class e{log(t){console.log(t)}warn(t){console.warn(t)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();const En=new P("LocaleId",{providedIn:"root",factory:()=>R(En,X.Optional|X.SkipSelf)||function eR(){return typeof $localize<"u"&&$localize.locale||yo}()});let qa=(()=>{class e{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new bt(!1)}add(){this.hasPendingTasks.next(!0);const t=this.taskId++;return this.pendingTasks.add(t),t}remove(t){this.pendingTasks.delete(t),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();class rR{constructor(n,t){this.ngModuleFactory=n,this.componentFactories=t}}let uD=(()=>{class e{compileModuleSync(t){return new Cd(t)}compileModuleAsync(t){return Promise.resolve(this.compileModuleSync(t))}compileModuleAndAllComponentsSync(t){const r=this.compileModuleSync(t),i=Cn(pt(t).declarations).reduce((s,a)=>{const u=K(a);return u&&s.push(new bi(u)),s},[]);return new rR(r,i)}compileModuleAndAllComponentsAsync(t){return Promise.resolve(this.compileModuleAndAllComponentsSync(t))}clearCache(){}clearCacheFor(t){}getModuleId(t){}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const fD=new P(""),Za=new P("");let Hd,Bd=(()=>{class e{constructor(t,r,o){this._ngZone=t,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Hd||(function IR(e){Hd=e}(o),o.addToWindow(r)),this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{ge.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(t)||(clearTimeout(r.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,r,o){let i=-1;r&&r>0&&(i=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==i),t(this._didWork,this.getPendingTasks())},r)),this._callbacks.push({doneCb:t,timeoutId:i,updateCb:o})}whenStable(t,r,o){if(o&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,r,o),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(t){this.registry.registerApplication(t,this)}unregisterApplication(t){this.registry.unregisterApplication(t)}findProviders(t,r,o){return[]}static#e=this.\u0275fac=function(r){return new(r||e)(k(ge),k($d),k(Za))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})(),$d=(()=>{class e{constructor(){this._applications=new Map}registerApplication(t,r){this._applications.set(t,r)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,r=!0){return Hd?.findTestabilityInTree(this,t,r)??null}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})(),zn=null;const hD=new P("AllowMultipleToken"),Ud=new P("PlatformDestroyListeners"),zd=new P("appBootstrapListener");class gD{constructor(n,t){this.name=n,this.token=t}}function vD(e,n,t=[]){const r=`Platform: ${n}`,o=new P(r);return(i=[])=>{let s=Gd();if(!s||s.injector.get(hD,!1)){const a=[...t,...i,{provide:o,useValue:!0}];e?e(a):function TR(e){if(zn&&!zn.get(hD,!1))throw new I(400,!1);(function pD(){!function K0(e){Np=e}(()=>{throw new I(600,!1)})})(),zn=e;const n=e.get(yD);(function mD(e){e.get(wm,null)?.forEach(t=>t())})(e)}(function _D(e=[],n){return yt.create({name:n,providers:[{provide:El,useValue:"platform"},{provide:Ud,useValue:new Set([()=>zn=null])},...e]})}(a,r))}return function xR(e){const n=Gd();if(!n)throw new I(401,!1);return n}()}}function Gd(){return zn?.get(yD)??null}let yD=(()=>{class e{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,r){const o=function NR(e="zone.js",n){return"noop"===e?new cS:"zone.js"===e?new ge(n):e}(r?.ngZone,function DD(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}({eventCoalescing:r?.ngZoneEventCoalescing,runCoalescing:r?.ngZoneRunCoalescing}));return o.run(()=>{const i=function Hx(e,n,t){return new Dd(e,n,t)}(t.moduleType,this.injector,function ID(e){return[{provide:ge,useFactory:e},{provide:gi,multi:!0,useFactory:()=>{const n=R(OR,{optional:!0});return()=>n.initialize()}},{provide:ED,useFactory:RR},{provide:jm,useFactory:Bm}]}(()=>o)),s=i.injector.get(Dn,null);return o.runOutsideAngular(()=>{const a=o.onError.subscribe({next:u=>{s.handleError(u)}});i.onDestroy(()=>{Ya(this._modules,i),a.unsubscribe()})}),function CD(e,n,t){try{const r=t();return Ti(r)?r.catch(o=>{throw n.runOutsideAngular(()=>e.handleError(o)),o}):r}catch(r){throw n.runOutsideAngular(()=>e.handleError(r)),r}}(s,o,()=>{const a=i.injector.get(Ld);return a.runInitializers(),a.donePromise.then(()=>(function H_(e){Et(e,"Expected localeId to be defined"),"string"==typeof e&&($_=e.toLowerCase().replace(/_/g,"-"))}(i.injector.get(En,yo)||yo),this._moduleDoBootstrap(i),i))})})}bootstrapModule(t,r=[]){const o=wD({},r);return function MR(e,n,t){const r=new Cd(t);return Promise.resolve(r)}(0,0,t).then(i=>this.bootstrapModuleFactory(i,o))}_moduleDoBootstrap(t){const r=t.injector.get(wo);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(o=>r.bootstrap(o));else{if(!t.instance.ngDoBootstrap)throw new I(-403,!1);t.instance.ngDoBootstrap(r)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new I(404,!1);this._modules.slice().forEach(r=>r.destroy()),this._destroyListeners.forEach(r=>r());const t=this._injector.get(Ud,null);t&&(t.forEach(r=>r()),t.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}static#e=this.\u0275fac=function(r){return new(r||e)(k(yt))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();function wD(e,n){return Array.isArray(n)?n.reduce(wD,e):{...e,...n}}let wo=(()=>{class e{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=R(ED),this.zoneIsStable=R(jm),this.componentTypes=[],this.components=[],this.isStable=R(qa).hasPendingTasks.pipe(Lt(t=>t?B(!1):this.zoneIsStable),function l0(e,n=Nn){return e=e??d0,xe((t,r)=>{let o,i=!0;t.subscribe(Te(r,s=>{const a=n(s);(i||!e(o,a))&&(i=!1,o=a,r.next(s))}))})}(),Yh()),this._injector=R(vt)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(t,r){const o=t instanceof Sm;if(!this._injector.get(Ld).done)throw!o&&function Ar(e){const n=K(e)||Ve(e)||Ye(e);return null!==n&&n.standalone}(t),new I(405,!1);let s;s=o?t:this._injector.get(Da).resolveComponentFactory(t),this.componentTypes.push(s.componentType);const a=function SR(e){return e.isBoundToModule}(s)?void 0:this._injector.get(hr),c=s.create(yt.NULL,[],r||s.selector,a),l=c.location.nativeElement,d=c.injector.get(fD,null);return d?.registerApplication(l),c.onDestroy(()=>{this.detachView(c.hostView),Ya(this.components,c),d?.unregisterApplication(l)}),this._loadComponent(c),c}tick(){if(this._runningTick)throw new I(101,!1);try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this.internalErrorHandler(t)}finally{this._runningTick=!1}}attachView(t){const r=t;this._views.push(r),r.attachToAppRef(this)}detachView(t){const r=t;Ya(this._views,r),r.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t);const r=this._injector.get(zd,[]);r.push(...this._bootstrapListeners),r.forEach(o=>o(t))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(t=>t()),this._views.slice().forEach(t=>t.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(t){return this._destroyListeners.push(t),()=>Ya(this._destroyListeners,t)}destroy(){if(this._destroyed)throw new I(406,!1);const t=this._injector;t.destroy&&!t.destroyed&&t.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Ya(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}const ED=new P("",{providedIn:"root",factory:()=>R(Dn).handleError.bind(void 0)});function RR(){const e=R(ge),n=R(Dn);return t=>e.runOutsideAngular(()=>n.handleError(t))}let OR=(()=>{class e{constructor(){this.zone=R(ge),this.applicationRef=R(wo)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();let Qa=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=FR}return e})();function FR(e){return function kR(e,n,t){if(rr(e)&&!t){const r=gt(e.index,n);return new wi(r,r)}return 47&e.type?new wi(n[Me],n):null}($e(),w(),16==(16&e))}class AD{constructor(){}supports(n){return Ta(n)}create(n){return new HR(n)}}const $R=(e,n)=>n;class HR{constructor(n){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=n||$R}forEachItem(n){let t;for(t=this._itHead;null!==t;t=t._next)n(t)}forEachOperation(n){let t=this._itHead,r=this._removalsHead,o=0,i=null;for(;t||r;){const s=!r||t&&t.currentIndex{s=this._trackByFn(o,a),null!==t&&Object.is(t.trackById,s)?(r&&(t=this._verifyReinsertion(t,a,s,o)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,s,o),r=!0),t=t._next,o++}),this.length=o;return this._truncate(t),this.collection=n,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let n;for(n=this._previousItHead=this._itHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._additionsHead;null!==n;n=n._nextAdded)n.previousIndex=n.currentIndex;for(this._additionsHead=this._additionsTail=null,n=this._movesHead;null!==n;n=n._nextMoved)n.previousIndex=n.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(n,t,r,o){let i;return null===n?i=this._itTail:(i=n._prev,this._remove(n)),null!==(n=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._reinsertAfter(n,i,o)):null!==(n=null===this._linkedRecords?null:this._linkedRecords.get(r,o))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._moveAfter(n,i,o)):n=this._addAfter(new UR(t,r),i,o),n}_verifyReinsertion(n,t,r,o){let i=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null);return null!==i?n=this._reinsertAfter(i,n._prev,o):n.currentIndex!=o&&(n.currentIndex=o,this._addToMoves(n,o)),n}_truncate(n){for(;null!==n;){const t=n._next;this._addToRemovals(this._unlink(n)),n=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(n,t,r){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(n);const o=n._prevRemoved,i=n._nextRemoved;return null===o?this._removalsHead=i:o._nextRemoved=i,null===i?this._removalsTail=o:i._prevRemoved=o,this._insertAfter(n,t,r),this._addToMoves(n,r),n}_moveAfter(n,t,r){return this._unlink(n),this._insertAfter(n,t,r),this._addToMoves(n,r),n}_addAfter(n,t,r){return this._insertAfter(n,t,r),this._additionsTail=null===this._additionsTail?this._additionsHead=n:this._additionsTail._nextAdded=n,n}_insertAfter(n,t,r){const o=null===t?this._itHead:t._next;return n._next=o,n._prev=t,null===o?this._itTail=n:o._prev=n,null===t?this._itHead=n:t._next=n,null===this._linkedRecords&&(this._linkedRecords=new xD),this._linkedRecords.put(n),n.currentIndex=r,n}_remove(n){return this._addToRemovals(this._unlink(n))}_unlink(n){null!==this._linkedRecords&&this._linkedRecords.remove(n);const t=n._prev,r=n._next;return null===t?this._itHead=r:t._next=r,null===r?this._itTail=t:r._prev=t,n}_addToMoves(n,t){return n.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=n:this._movesTail._nextMoved=n),n}_addToRemovals(n){return null===this._unlinkedRecords&&(this._unlinkedRecords=new xD),this._unlinkedRecords.put(n),n.currentIndex=null,n._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=n,n._prevRemoved=null):(n._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=n),n}_addIdentityChange(n,t){return n.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=n:this._identityChangesTail._nextIdentityChange=n,n}}class UR{constructor(n,t){this.item=n,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class zR{constructor(){this._head=null,this._tail=null}add(n){null===this._head?(this._head=this._tail=n,n._nextDup=null,n._prevDup=null):(this._tail._nextDup=n,n._prevDup=this._tail,n._nextDup=null,this._tail=n)}get(n,t){let r;for(r=this._head;null!==r;r=r._nextDup)if((null===t||t<=r.currentIndex)&&Object.is(r.trackById,n))return r;return null}remove(n){const t=n._prevDup,r=n._nextDup;return null===t?this._head=r:t._nextDup=r,null===r?this._tail=t:r._prevDup=t,null===this._head}}class xD{constructor(){this.map=new Map}put(n){const t=n.trackById;let r=this.map.get(t);r||(r=new zR,this.map.set(t,r)),r.add(n)}get(n,t){const o=this.map.get(n);return o?o.get(n,t):null}remove(n){const t=n.trackById;return this.map.get(t).remove(n)&&this.map.delete(t),n}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function ND(e,n,t){const r=e.previousIndex;if(null===r)return r;let o=0;return t&&r{if(t&&t.key===o)this._maybeAddToChanges(t,r),this._appendAfter=t,t=t._next;else{const i=this._getOrCreateRecordForKey(o,r);t=this._insertBeforeOrAppend(t,i)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let r=t;null!==r;r=r._nextRemoved)r===this._mapHead&&(this._mapHead=null),this._records.delete(r.key),r._nextRemoved=r._next,r.previousValue=r.currentValue,r.currentValue=null,r._prev=null,r._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(n,t){if(n){const r=n._prev;return t._next=n,t._prev=r,n._prev=t,r&&(r._next=t),n===this._mapHead&&(this._mapHead=t),this._appendAfter=n,n}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(n,t){if(this._records.has(n)){const o=this._records.get(n);this._maybeAddToChanges(o,t);const i=o._prev,s=o._next;return i&&(i._next=s),s&&(s._prev=i),o._next=null,o._prev=null,o}const r=new qR(n);return this._records.set(n,r),r.currentValue=t,this._addToAdditions(r),r}_reset(){if(this.isDirty){let n;for(this._previousMapHead=this._mapHead,n=this._previousMapHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._changesHead;null!==n;n=n._nextChanged)n.previousValue=n.currentValue;for(n=this._additionsHead;null!=n;n=n._nextAdded)n.previousValue=n.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(n,t){Object.is(t,n.currentValue)||(n.previousValue=n.currentValue,n.currentValue=t,this._addToChanges(n))}_addToAdditions(n){null===this._additionsHead?this._additionsHead=this._additionsTail=n:(this._additionsTail._nextAdded=n,this._additionsTail=n)}_addToChanges(n){null===this._changesHead?this._changesHead=this._changesTail=n:(this._changesTail._nextChanged=n,this._changesTail=n)}_forEach(n,t){n instanceof Map?n.forEach(t):Object.keys(n).forEach(r=>t(n[r],r))}}class qR{constructor(n){this.key=n,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function OD(){return new Ka([new AD])}let Ka=(()=>{class e{static#e=this.\u0275prov=V({token:e,providedIn:"root",factory:OD});constructor(t){this.factories=t}static create(t,r){if(null!=r){const o=r.factories.slice();t=t.concat(o)}return new e(t)}static extend(t){return{provide:e,useFactory:r=>e.create(t,r||OD()),deps:[[e,new Ys,new Zs]]}}find(t){const r=this.factories.find(o=>o.supports(t));if(null!=r)return r;throw new I(901,!1)}}return e})();function PD(){return new Bi([new RD])}let Bi=(()=>{class e{static#e=this.\u0275prov=V({token:e,providedIn:"root",factory:PD});constructor(t){this.factories=t}static create(t,r){if(r){const o=r.factories.slice();t=t.concat(o)}return new e(t)}static extend(t){return{provide:e,useFactory:r=>e.create(t,r||PD()),deps:[[e,new Ys,new Zs]]}}find(t){const r=this.factories.find(o=>o.supports(t));if(r)return r;throw new I(901,!1)}}return e})();const YR=vD(null,"core",[]);let QR=(()=>{class e{constructor(t){}static#e=this.\u0275fac=function(r){return new(r||e)(k(wo))};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({})}return e})();let Xd=null;function Gn(){return Xd}class lO{}const Ct=new P("DocumentToken");let Jd=(()=>{class e{historyGo(t){throw new Error("Not implemented")}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:function(){return R(fO)},providedIn:"platform"})}return e})();const dO=new P("Location Initialized");let fO=(()=>{class e extends Jd{constructor(){super(),this._doc=R(Ct),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Gn().getBaseHref(this._doc)}onPopState(t){const r=Gn().getGlobalEventTarget(this._doc,"window");return r.addEventListener("popstate",t,!1),()=>r.removeEventListener("popstate",t)}onHashChange(t){const r=Gn().getGlobalEventTarget(this._doc,"window");return r.addEventListener("hashchange",t,!1),()=>r.removeEventListener("hashchange",t)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(t){this._location.pathname=t}pushState(t,r,o){this._history.pushState(t,r,o)}replaceState(t,r,o){this._history.replaceState(t,r,o)}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:function(){return new e},providedIn:"platform"})}return e})();function Kd(e,n){if(0==e.length)return n;if(0==n.length)return e;let t=0;return e.endsWith("/")&&t++,n.startsWith("/")&&t++,2==t?e+n.substring(1):1==t?e+n:e+"/"+n}function UD(e){const n=e.match(/#|\?|$/),t=n&&n.index||e.length;return e.slice(0,t-("/"===e[t-1]?1:0))+e.slice(t)}function In(e){return e&&"?"!==e[0]?"?"+e:e}let gr=(()=>{class e{historyGo(t){throw new Error("Not implemented")}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:function(){return R(GD)},providedIn:"root"})}return e})();const zD=new P("appBaseHref");let GD=(()=>{class e extends gr{constructor(t,r){super(),this._platformLocation=t,this._removeListenerFns=[],this._baseHref=r??this._platformLocation.getBaseHrefFromDOM()??R(Ct).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return Kd(this._baseHref,t)}path(t=!1){const r=this._platformLocation.pathname+In(this._platformLocation.search),o=this._platformLocation.hash;return o&&t?`${r}${o}`:r}pushState(t,r,o,i){const s=this.prepareExternalUrl(o+In(i));this._platformLocation.pushState(t,r,s)}replaceState(t,r,o,i){const s=this.prepareExternalUrl(o+In(i));this._platformLocation.replaceState(t,r,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(t=0){this._platformLocation.historyGo?.(t)}static#e=this.\u0275fac=function(r){return new(r||e)(k(Jd),k(zD,8))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),hO=(()=>{class e extends gr{constructor(t,r){super(),this._platformLocation=t,this._baseHref="",this._removeListenerFns=[],null!=r&&(this._baseHref=r)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}path(t=!1){let r=this._platformLocation.hash;return null==r&&(r="#"),r.length>0?r.substring(1):r}prepareExternalUrl(t){const r=Kd(this._baseHref,t);return r.length>0?"#"+r:r}pushState(t,r,o,i){let s=this.prepareExternalUrl(o+In(i));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.pushState(t,r,s)}replaceState(t,r,o,i){let s=this.prepareExternalUrl(o+In(i));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.replaceState(t,r,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(t=0){this._platformLocation.historyGo?.(t)}static#e=this.\u0275fac=function(r){return new(r||e)(k(Jd),k(zD,8))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})(),ef=(()=>{class e{constructor(t){this._subject=new we,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=t;const r=this._locationStrategy.getBaseHref();this._basePath=function mO(e){if(new RegExp("^(https?:)?//").test(e)){const[,t]=e.split(/\/\/[^\/]+/);return t}return e}(UD(qD(r))),this._locationStrategy.onPopState(o=>{this._subject.emit({url:this.path(!0),pop:!0,state:o.state,type:o.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(t=!1){return this.normalize(this._locationStrategy.path(t))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(t,r=""){return this.path()==this.normalize(t+In(r))}normalize(t){return e.stripTrailingSlash(function gO(e,n){if(!e||!n.startsWith(e))return n;const t=n.substring(e.length);return""===t||["/",";","?","#"].includes(t[0])?t:n}(this._basePath,qD(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._locationStrategy.prepareExternalUrl(t)}go(t,r="",o=null){this._locationStrategy.pushState(o,"",t,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+In(r)),o)}replaceState(t,r="",o=null){this._locationStrategy.replaceState(o,"",t,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+In(r)),o)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(t=0){this._locationStrategy.historyGo?.(t)}onUrlChange(t){return this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(r=>{this._notifyUrlChangeListeners(r.url,r.state)})),()=>{const r=this._urlChangeListeners.indexOf(t);this._urlChangeListeners.splice(r,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(t="",r){this._urlChangeListeners.forEach(o=>o(t,r))}subscribe(t,r,o){return this._subject.subscribe({next:t,error:r,complete:o})}static#e=this.normalizeQueryParams=In;static#t=this.joinWithSlash=Kd;static#n=this.stripTrailingSlash=UD;static#r=this.\u0275fac=function(r){return new(r||e)(k(gr))};static#o=this.\u0275prov=V({token:e,factory:function(){return function pO(){return new ef(k(gr))}()},providedIn:"root"})}return e})();function qD(e){return e.replace(/\/index.html$/,"")}function tC(e,n){n=encodeURIComponent(n);for(const t of e.split(";")){const r=t.indexOf("="),[o,i]=-1==r?[t,""]:[t.slice(0,r),t.slice(r+1)];if(o.trim()===n)return decodeURIComponent(i)}return null}const ff=/\s+/,nC=[];let du=(()=>{class e{constructor(t,r,o,i){this._iterableDiffers=t,this._keyValueDiffers=r,this._ngEl=o,this._renderer=i,this.initialClasses=nC,this.stateMap=new Map}set klass(t){this.initialClasses=null!=t?t.trim().split(ff):nC}set ngClass(t){this.rawClass="string"==typeof t?t.trim().split(ff):t}ngDoCheck(){for(const r of this.initialClasses)this._updateState(r,!0);const t=this.rawClass;if(Array.isArray(t)||t instanceof Set)for(const r of t)this._updateState(r,!0);else if(null!=t)for(const r of Object.keys(t))this._updateState(r,!!t[r]);this._applyStateDiff()}_updateState(t,r){const o=this.stateMap.get(t);void 0!==o?(o.enabled!==r&&(o.changed=!0,o.enabled=r),o.touched=!0):this.stateMap.set(t,{enabled:r,changed:!0,touched:!0})}_applyStateDiff(){for(const t of this.stateMap){const r=t[0],o=t[1];o.changed?(this._toggleClass(r,o.enabled),o.changed=!1):o.touched||(o.enabled&&this._toggleClass(r,!1),this.stateMap.delete(r)),o.touched=!1}}_toggleClass(t,r){(t=t.trim()).length>0&&t.split(ff).forEach(o=>{r?this._renderer.addClass(this._ngEl.nativeElement,o):this._renderer.removeClass(this._ngEl.nativeElement,o)})}static#e=this.\u0275fac=function(r){return new(r||e)(b(Ka),b(Bi),b(_t),b(yn))};static#t=this.\u0275dir=z({type:e,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"},standalone:!0})}return e})();class tP{constructor(n,t,r,o){this.$implicit=n,this.ngForOf=t,this.index=r,this.count=o}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let fu=(()=>{class e{set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}constructor(t,r,o){this._viewContainer=t,this._template=r,this._differs=o,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;!this._differ&&t&&(this._differ=this._differs.find(t).create(this.ngForTrackBy))}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const r=this._viewContainer;t.forEachOperation((o,i,s)=>{if(null==o.previousIndex)r.createEmbeddedView(this._template,new tP(o.item,this._ngForOf,-1,-1),null===s?void 0:s);else if(null==s)r.remove(null===i?void 0:i);else if(null!==i){const a=r.get(i);r.move(a,s),oC(a,o)}});for(let o=0,i=r.length;o{oC(r.get(o.currentIndex),o)})}static ngTemplateContextGuard(t,r){return!0}static#e=this.\u0275fac=function(r){return new(r||e)(b(zt),b(bn),b(Ka))};static#t=this.\u0275dir=z({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0})}return e})();function oC(e,n){e.context.$implicit=n.item}let Ui=(()=>{class e{constructor(t,r){this._viewContainer=t,this._context=new nP,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){iC("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){iC("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,r){return!0}static#e=this.\u0275fac=function(r){return new(r||e)(b(zt),b(bn))};static#t=this.\u0275dir=z({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0})}return e})();class nP{constructor(){this.$implicit=null,this.ngIf=null}}function iC(e,n){if(n&&!n.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${Re(n)}'.`)}let SP=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({})}return e})();function cC(e){return"server"===e}let NP=(()=>{class e{static#e=this.\u0275prov=V({token:e,providedIn:"root",factory:()=>new RP(k(Ct),window)})}return e})();class RP{constructor(n,t){this.document=n,this.window=t,this.offset=()=>[0,0]}setOffset(n){this.offset=Array.isArray(n)?()=>n:n}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(n){this.supportsScrolling()&&this.window.scrollTo(n[0],n[1])}scrollToAnchor(n){if(!this.supportsScrolling())return;const t=function OP(e,n){const t=e.getElementById(n)||e.getElementsByName(n)[0];if(t)return t;if("function"==typeof e.createTreeWalker&&e.body&&"function"==typeof e.body.attachShadow){const r=e.createTreeWalker(e.body,NodeFilter.SHOW_ELEMENT);let o=r.currentNode;for(;o;){const i=o.shadowRoot;if(i){const s=i.getElementById(n)||i.querySelector(`[name="${n}"]`);if(s)return s}o=r.nextNode()}}return null}(this.document,n);t&&(this.scrollToElement(t),t.focus())}setHistoryScrollRestoration(n){this.supportsScrolling()&&(this.window.history.scrollRestoration=n)}scrollToElement(n){const t=n.getBoundingClientRect(),r=t.left+this.window.pageXOffset,o=t.top+this.window.pageYOffset,i=this.offset();this.window.scrollTo(r-i[0],o-i[1])}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch{return!1}}}class lC{}class nF extends lO{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class yf extends nF{static makeCurrent(){!function cO(e){Xd||(Xd=e)}(new yf)}onAndCancel(n,t,r){return n.addEventListener(t,r),()=>{n.removeEventListener(t,r)}}dispatchEvent(n,t){n.dispatchEvent(t)}remove(n){n.parentNode&&n.parentNode.removeChild(n)}createElement(n,t){return(t=t||this.getDefaultDocument()).createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,t){return"window"===t?window:"document"===t?n:"body"===t?n.body:null}getBaseHref(n){const t=function rF(){return Gi=Gi||document.querySelector("base"),Gi?Gi.getAttribute("href"):null}();return null==t?null:function oF(e){gu=gu||document.createElement("a"),gu.setAttribute("href",e);const n=gu.pathname;return"/"===n.charAt(0)?n:`/${n}`}(t)}resetBaseElement(){Gi=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return tC(document.cookie,n)}}let gu,Gi=null,sF=(()=>{class e{build(){return new XMLHttpRequest}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();const Df=new P("EventManagerPlugins");let gC=(()=>{class e{constructor(t,r){this._zone=r,this._eventNameToPlugin=new Map,t.forEach(o=>{o.manager=this}),this._plugins=t.slice().reverse()}addEventListener(t,r,o){return this._findPluginFor(r).addEventListener(t,r,o)}getZone(){return this._zone}_findPluginFor(t){let r=this._eventNameToPlugin.get(t);if(r)return r;if(r=this._plugins.find(i=>i.supports(t)),!r)throw new I(5101,!1);return this._eventNameToPlugin.set(t,r),r}static#e=this.\u0275fac=function(r){return new(r||e)(k(Df),k(ge))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();class mC{constructor(n){this._doc=n}}const Cf="ng-app-id";let vC=(()=>{class e{constructor(t,r,o,i={}){this.doc=t,this.appId=r,this.nonce=o,this.platformId=i,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=cC(i),this.resetHostNodes()}addStyles(t){for(const r of t)1===this.changeUsageCount(r,1)&&this.onStyleAdded(r)}removeStyles(t){for(const r of t)this.changeUsageCount(r,-1)<=0&&this.onStyleRemoved(r)}ngOnDestroy(){const t=this.styleNodesInDOM;t&&(t.forEach(r=>r.remove()),t.clear());for(const r of this.getAllStyles())this.onStyleRemoved(r);this.resetHostNodes()}addHost(t){this.hostNodes.add(t);for(const r of this.getAllStyles())this.addStyleToHost(t,r)}removeHost(t){this.hostNodes.delete(t)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(t){for(const r of this.hostNodes)this.addStyleToHost(r,t)}onStyleRemoved(t){const r=this.styleRef;r.get(t)?.elements?.forEach(o=>o.remove()),r.delete(t)}collectServerRenderedStyles(){const t=this.doc.head?.querySelectorAll(`style[${Cf}="${this.appId}"]`);if(t?.length){const r=new Map;return t.forEach(o=>{null!=o.textContent&&r.set(o.textContent,o)}),r}return null}changeUsageCount(t,r){const o=this.styleRef;if(o.has(t)){const i=o.get(t);return i.usage+=r,i.usage}return o.set(t,{usage:r,elements:[]}),r}getStyleElement(t,r){const o=this.styleNodesInDOM,i=o?.get(r);if(i?.parentNode===t)return o.delete(r),i.removeAttribute(Cf),i;{const s=this.doc.createElement("style");return this.nonce&&s.setAttribute("nonce",this.nonce),s.textContent=r,this.platformIsServer&&s.setAttribute(Cf,this.appId),s}}addStyleToHost(t,r){const o=this.getStyleElement(t,r);t.appendChild(o);const i=this.styleRef,s=i.get(r)?.elements;s?s.push(o):i.set(r,{elements:[o],usage:1})}resetHostNodes(){const t=this.hostNodes;t.clear(),t.add(this.doc.head)}static#e=this.\u0275fac=function(r){return new(r||e)(k(Ct),k(pa),k(bm,8),k(cr))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();const wf={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},bf=/%COMP%/g,lF=new P("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function yC(e,n){return n.map(t=>t.replace(bf,e))}let DC=(()=>{class e{constructor(t,r,o,i,s,a,u,c=null){this.eventManager=t,this.sharedStylesHost=r,this.appId=o,this.removeStylesOnCompDestroy=i,this.doc=s,this.platformId=a,this.ngZone=u,this.nonce=c,this.rendererByCompId=new Map,this.platformIsServer=cC(a),this.defaultRenderer=new Ef(t,s,u,this.platformIsServer)}createRenderer(t,r){if(!t||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===Vt.ShadowDom&&(r={...r,encapsulation:Vt.Emulated});const o=this.getOrCreateRenderer(t,r);return o instanceof wC?o.applyToHost(t):o instanceof If&&o.applyStyles(),o}getOrCreateRenderer(t,r){const o=this.rendererByCompId;let i=o.get(r.id);if(!i){const s=this.doc,a=this.ngZone,u=this.eventManager,c=this.sharedStylesHost,l=this.removeStylesOnCompDestroy,d=this.platformIsServer;switch(r.encapsulation){case Vt.Emulated:i=new wC(u,c,r,this.appId,l,s,a,d);break;case Vt.ShadowDom:return new pF(u,c,t,r,s,a,this.nonce,d);default:i=new If(u,c,r,l,s,a,d)}o.set(r.id,i)}return i}ngOnDestroy(){this.rendererByCompId.clear()}static#e=this.\u0275fac=function(r){return new(r||e)(k(gC),k(vC),k(pa),k(lF),k(Ct),k(cr),k(ge),k(bm))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();class Ef{constructor(n,t,r,o){this.eventManager=n,this.doc=t,this.ngZone=r,this.platformIsServer=o,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(n,t){return t?this.doc.createElementNS(wf[t]||t,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,t){(CC(n)?n.content:n).appendChild(t)}insertBefore(n,t,r){n&&(CC(n)?n.content:n).insertBefore(t,r)}removeChild(n,t){n&&n.removeChild(t)}selectRootElement(n,t){let r="string"==typeof n?this.doc.querySelector(n):n;if(!r)throw new I(-5104,!1);return t||(r.textContent=""),r}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,t,r,o){if(o){t=o+":"+t;const i=wf[o];i?n.setAttributeNS(i,t,r):n.setAttribute(t,r)}else n.setAttribute(t,r)}removeAttribute(n,t,r){if(r){const o=wf[r];o?n.removeAttributeNS(o,t):n.removeAttribute(`${r}:${t}`)}else n.removeAttribute(t)}addClass(n,t){n.classList.add(t)}removeClass(n,t){n.classList.remove(t)}setStyle(n,t,r,o){o&(jn.DashCase|jn.Important)?n.style.setProperty(t,r,o&jn.Important?"important":""):n.style[t]=r}removeStyle(n,t,r){r&jn.DashCase?n.style.removeProperty(t):n.style[t]=""}setProperty(n,t,r){n[t]=r}setValue(n,t){n.nodeValue=t}listen(n,t,r){if("string"==typeof n&&!(n=Gn().getGlobalEventTarget(this.doc,n)))throw new Error(`Unsupported event target ${n} for event ${t}`);return this.eventManager.addEventListener(n,t,this.decoratePreventDefault(r))}decoratePreventDefault(n){return t=>{if("__ngUnwrap__"===t)return n;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>n(t)):n(t))&&t.preventDefault()}}}function CC(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class pF extends Ef{constructor(n,t,r,o,i,s,a,u){super(n,i,s,u),this.sharedStylesHost=t,this.hostEl=r,this.shadowRoot=r.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=yC(o.id,o.styles);for(const l of c){const d=document.createElement("style");a&&d.setAttribute("nonce",a),d.textContent=l,this.shadowRoot.appendChild(d)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,t){return super.appendChild(this.nodeOrShadowRoot(n),t)}insertBefore(n,t,r){return super.insertBefore(this.nodeOrShadowRoot(n),t,r)}removeChild(n,t){return super.removeChild(this.nodeOrShadowRoot(n),t)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class If extends Ef{constructor(n,t,r,o,i,s,a,u){super(n,i,s,a),this.sharedStylesHost=t,this.removeStylesOnCompDestroy=o,this.styles=u?yC(u,r.styles):r.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class wC extends If{constructor(n,t,r,o,i,s,a,u){const c=o+"-"+r.id;super(n,t,r,i,s,a,u,c),this.contentAttr=function dF(e){return"_ngcontent-%COMP%".replace(bf,e)}(c),this.hostAttr=function fF(e){return"_nghost-%COMP%".replace(bf,e)}(c)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,t){const r=super.createElement(n,t);return super.setAttribute(r,this.contentAttr,""),r}}let gF=(()=>{class e extends mC{constructor(t){super(t)}supports(t){return!0}addEventListener(t,r,o){return t.addEventListener(r,o,!1),()=>this.removeEventListener(t,r,o)}removeEventListener(t,r,o){return t.removeEventListener(r,o)}static#e=this.\u0275fac=function(r){return new(r||e)(k(Ct))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();const bC=["alt","control","meta","shift"],mF={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},vF={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let _F=(()=>{class e extends mC{constructor(t){super(t)}supports(t){return null!=e.parseEventName(t)}addEventListener(t,r,o){const i=e.parseEventName(r),s=e.eventCallback(i.fullKey,o,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Gn().onAndCancel(t,i.domEventName,s))}static parseEventName(t){const r=t.toLowerCase().split("."),o=r.shift();if(0===r.length||"keydown"!==o&&"keyup"!==o)return null;const i=e._normalizeKey(r.pop());let s="",a=r.indexOf("code");if(a>-1&&(r.splice(a,1),s="code."),bC.forEach(c=>{const l=r.indexOf(c);l>-1&&(r.splice(l,1),s+=c+".")}),s+=i,0!=r.length||0===i.length)return null;const u={};return u.domEventName=o,u.fullKey=s,u}static matchEventFullKeyCode(t,r){let o=mF[t.key]||t.key,i="";return r.indexOf("code.")>-1&&(o=t.code,i="code."),!(null==o||!o)&&(o=o.toLowerCase()," "===o?o="space":"."===o&&(o="dot"),bC.forEach(s=>{s!==o&&(0,vF[s])(t)&&(i+=s+".")}),i+=o,i===r)}static eventCallback(t,r,o){return i=>{e.matchEventFullKeyCode(i,t)&&o.runGuarded(()=>r(i))}}static _normalizeKey(t){return"esc"===t?"escape":t}static#e=this.\u0275fac=function(r){return new(r||e)(k(Ct))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();const wF=vD(YR,"browser",[{provide:cr,useValue:"browser"},{provide:wm,useValue:function yF(){yf.makeCurrent()},multi:!0},{provide:Ct,useFactory:function CF(){return function nM(e){pl=e}(document),document},deps:[]}]),bF=new P(""),MC=[{provide:Za,useClass:class iF{addToWindow(n){he.getAngularTestability=(r,o=!0)=>{const i=n.findTestabilityInTree(r,o);if(null==i)throw new I(5103,!1);return i},he.getAllAngularTestabilities=()=>n.getAllTestabilities(),he.getAllAngularRootElements=()=>n.getAllRootElements(),he.frameworkStabilizers||(he.frameworkStabilizers=[]),he.frameworkStabilizers.push(r=>{const o=he.getAllAngularTestabilities();let i=o.length,s=!1;const a=function(u){s=s||u,i--,0==i&&r(s)};o.forEach(u=>{u.whenStable(a)})})}findTestabilityInTree(n,t,r){return null==t?null:n.getTestability(t)??(r?Gn().isShadowRoot(t)?this.findTestabilityInTree(n,t.host,!0):this.findTestabilityInTree(n,t.parentElement,!0):null)}},deps:[]},{provide:fD,useClass:Bd,deps:[ge,$d,Za]},{provide:Bd,useClass:Bd,deps:[ge,$d,Za]}],SC=[{provide:El,useValue:"root"},{provide:Dn,useFactory:function DF(){return new Dn},deps:[]},{provide:Df,useClass:gF,multi:!0,deps:[Ct,ge,cr]},{provide:Df,useClass:_F,multi:!0,deps:[Ct]},DC,vC,gC,{provide:Am,useExisting:DC},{provide:lC,useClass:sF,deps:[]},[]];let EF=(()=>{class e{constructor(t){}static withServerTransition(t){return{ngModule:e,providers:[{provide:pa,useValue:t.appId}]}}static#e=this.\u0275fac=function(r){return new(r||e)(k(bF,12))};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({providers:[...SC,...MC],imports:[SP,QR]})}return e})(),TC=(()=>{class e{constructor(t){this._doc=t}getTitle(){return this._doc.title}setTitle(t){this._doc.title=t||""}static#e=this.\u0275fac=function(r){return new(r||e)(k(Ct))};static#t=this.\u0275prov=V({token:e,factory:function(r){let o=null;return o=r?new r:function MF(){return new TC(k(Ct))}(),o},providedIn:"root"})}return e})();function Io(e,n){return le(n)?Le(e,n,1):Le(e,1)}function Tn(e,n){return xe((t,r)=>{let o=0;t.subscribe(Te(r,i=>e.call(n,i,o++)&&r.next(i)))})}function qi(e){return xe((n,t)=>{try{n.subscribe(t)}finally{t.add(e)}})}typeof window<"u"&&window;class mu{}class vu{}class an{constructor(n){this.normalizedNames=new Map,this.lazyUpdate=null,n?"string"==typeof n?this.lazyInit=()=>{this.headers=new Map,n.split("\n").forEach(t=>{const r=t.indexOf(":");if(r>0){const o=t.slice(0,r),i=o.toLowerCase(),s=t.slice(r+1).trim();this.maybeSetNormalizedName(o,i),this.headers.has(i)?this.headers.get(i).push(s):this.headers.set(i,[s])}})}:typeof Headers<"u"&&n instanceof Headers?(this.headers=new Map,n.forEach((t,r)=>{this.setHeaderEntries(r,t)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(n).forEach(([t,r])=>{this.setHeaderEntries(t,r)})}:this.headers=new Map}has(n){return this.init(),this.headers.has(n.toLowerCase())}get(n){this.init();const t=this.headers.get(n.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(n){return this.init(),this.headers.get(n.toLowerCase())||null}append(n,t){return this.clone({name:n,value:t,op:"a"})}set(n,t){return this.clone({name:n,value:t,op:"s"})}delete(n,t){return this.clone({name:n,value:t,op:"d"})}maybeSetNormalizedName(n,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,n)}init(){this.lazyInit&&(this.lazyInit instanceof an?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(n=>this.applyUpdate(n)),this.lazyUpdate=null))}copyFrom(n){n.init(),Array.from(n.headers.keys()).forEach(t=>{this.headers.set(t,n.headers.get(t)),this.normalizedNames.set(t,n.normalizedNames.get(t))})}clone(n){const t=new an;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof an?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([n]),t}applyUpdate(n){const t=n.name.toLowerCase();switch(n.op){case"a":case"s":let r=n.value;if("string"==typeof r&&(r=[r]),0===r.length)return;this.maybeSetNormalizedName(n.name,t);const o=("a"===n.op?this.headers.get(t):void 0)||[];o.push(...r),this.headers.set(t,o);break;case"d":const i=n.value;if(i){let s=this.headers.get(t);if(!s)return;s=s.filter(a=>-1===i.indexOf(a)),0===s.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,s)}else this.headers.delete(t),this.normalizedNames.delete(t)}}setHeaderEntries(n,t){const r=(Array.isArray(t)?t:[t]).map(i=>i.toString()),o=n.toLowerCase();this.headers.set(o,r),this.maybeSetNormalizedName(n,o)}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>n(this.normalizedNames.get(t),this.headers.get(t)))}}class NF{encodeKey(n){return RC(n)}encodeValue(n){return RC(n)}decodeKey(n){return decodeURIComponent(n)}decodeValue(n){return decodeURIComponent(n)}}const OF=/%(\d[a-f0-9])/gi,PF={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function RC(e){return encodeURIComponent(e).replace(OF,(n,t)=>PF[t]??n)}function _u(e){return`${e}`}class Wn{constructor(n={}){if(this.updates=null,this.cloneFrom=null,this.encoder=n.encoder||new NF,n.fromString){if(n.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function RF(e,n){const t=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(o=>{const i=o.indexOf("="),[s,a]=-1==i?[n.decodeKey(o),""]:[n.decodeKey(o.slice(0,i)),n.decodeValue(o.slice(i+1))],u=t.get(s)||[];u.push(a),t.set(s,u)}),t}(n.fromString,this.encoder)}else n.fromObject?(this.map=new Map,Object.keys(n.fromObject).forEach(t=>{const r=n.fromObject[t],o=Array.isArray(r)?r.map(_u):[_u(r)];this.map.set(t,o)})):this.map=null}has(n){return this.init(),this.map.has(n)}get(n){this.init();const t=this.map.get(n);return t?t[0]:null}getAll(n){return this.init(),this.map.get(n)||null}keys(){return this.init(),Array.from(this.map.keys())}append(n,t){return this.clone({param:n,value:t,op:"a"})}appendAll(n){const t=[];return Object.keys(n).forEach(r=>{const o=n[r];Array.isArray(o)?o.forEach(i=>{t.push({param:r,value:i,op:"a"})}):t.push({param:r,value:o,op:"a"})}),this.clone(t)}set(n,t){return this.clone({param:n,value:t,op:"s"})}delete(n,t){return this.clone({param:n,value:t,op:"d"})}toString(){return this.init(),this.keys().map(n=>{const t=this.encoder.encodeKey(n);return this.map.get(n).map(r=>t+"="+this.encoder.encodeValue(r)).join("&")}).filter(n=>""!==n).join("&")}clone(n){const t=new Wn({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(n),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(n=>this.map.set(n,this.cloneFrom.map.get(n))),this.updates.forEach(n=>{switch(n.op){case"a":case"s":const t=("a"===n.op?this.map.get(n.param):void 0)||[];t.push(_u(n.value)),this.map.set(n.param,t);break;case"d":if(void 0===n.value){this.map.delete(n.param);break}{let r=this.map.get(n.param)||[];const o=r.indexOf(_u(n.value));-1!==o&&r.splice(o,1),r.length>0?this.map.set(n.param,r):this.map.delete(n.param)}}}),this.cloneFrom=this.updates=null)}}class FF{constructor(){this.map=new Map}set(n,t){return this.map.set(n,t),this}get(n){return this.map.has(n)||this.map.set(n,n.defaultValue()),this.map.get(n)}delete(n){return this.map.delete(n),this}has(n){return this.map.has(n)}keys(){return this.map.keys()}}function OC(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function PC(e){return typeof Blob<"u"&&e instanceof Blob}function FC(e){return typeof FormData<"u"&&e instanceof FormData}class Wi{constructor(n,t,r,o){let i;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=n.toUpperCase(),function kF(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||o?(this.body=void 0!==r?r:null,i=o):i=r,i&&(this.reportProgress=!!i.reportProgress,this.withCredentials=!!i.withCredentials,i.responseType&&(this.responseType=i.responseType),i.headers&&(this.headers=i.headers),i.context&&(this.context=i.context),i.params&&(this.params=i.params)),this.headers||(this.headers=new an),this.context||(this.context=new FF),this.params){const s=this.params.toString();if(0===s.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":ad.set(g,n.setHeaders[g]),u)),n.setParams&&(c=Object.keys(n.setParams).reduce((d,g)=>d.set(g,n.setParams[g]),c)),new Wi(t,r,i,{params:c,headers:u,context:l,reportProgress:a,responseType:o,withCredentials:s})}}var Mo=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(Mo||{});class Sf{constructor(n,t=200,r="OK"){this.headers=n.headers||new an,this.status=void 0!==n.status?n.status:t,this.statusText=n.statusText||r,this.url=n.url||null,this.ok=this.status>=200&&this.status<300}}class Tf extends Sf{constructor(n={}){super(n),this.type=Mo.ResponseHeader}clone(n={}){return new Tf({headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class So extends Sf{constructor(n={}){super(n),this.type=Mo.Response,this.body=void 0!==n.body?n.body:null}clone(n={}){return new So({body:void 0!==n.body?n.body:this.body,headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class kC extends Sf{constructor(n){super(n,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${n.url||"(unknown url)"}`:`Http failure response for ${n.url||"(unknown url)"}: ${n.status} ${n.statusText}`,this.error=n.error||null}}function Af(e,n){return{body:n,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}let Zi=(()=>{class e{constructor(t){this.handler=t}request(t,r,o={}){let i;if(t instanceof Wi)i=t;else{let u,c;u=o.headers instanceof an?o.headers:new an(o.headers),o.params&&(c=o.params instanceof Wn?o.params:new Wn({fromObject:o.params})),i=new Wi(t,r,void 0!==o.body?o.body:null,{headers:u,context:o.context,params:c,reportProgress:o.reportProgress,responseType:o.responseType||"json",withCredentials:o.withCredentials})}const s=B(i).pipe(Io(u=>this.handler.handle(u)));if(t instanceof Wi||"events"===o.observe)return s;const a=s.pipe(Tn(u=>u instanceof So));switch(o.observe||"body"){case"body":switch(i.responseType){case"arraybuffer":return a.pipe(ne(u=>{if(null!==u.body&&!(u.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return u.body}));case"blob":return a.pipe(ne(u=>{if(null!==u.body&&!(u.body instanceof Blob))throw new Error("Response is not a Blob.");return u.body}));case"text":return a.pipe(ne(u=>{if(null!==u.body&&"string"!=typeof u.body)throw new Error("Response is not a string.");return u.body}));default:return a.pipe(ne(u=>u.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${o.observe}}`)}}delete(t,r={}){return this.request("DELETE",t,r)}get(t,r={}){return this.request("GET",t,r)}head(t,r={}){return this.request("HEAD",t,r)}jsonp(t,r){return this.request("JSONP",t,{params:(new Wn).append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,r={}){return this.request("OPTIONS",t,r)}patch(t,r,o={}){return this.request("PATCH",t,Af(o,r))}post(t,r,o={}){return this.request("POST",t,Af(o,r))}put(t,r,o={}){return this.request("PUT",t,Af(o,r))}static#e=this.\u0275fac=function(r){return new(r||e)(k(mu))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();function jC(e,n){return n(e)}function jF(e,n){return(t,r)=>n.intercept(t,{handle:o=>e(o,r)})}const $F=new P(""),Yi=new P(""),BC=new P("");function HF(){let e=null;return(n,t)=>{null===e&&(e=(R($F,{optional:!0})??[]).reduceRight(jF,jC));const r=R(qa),o=r.add();return e(n,t).pipe(qi(()=>r.remove(o)))}}let $C=(()=>{class e extends mu{constructor(t,r){super(),this.backend=t,this.injector=r,this.chain=null,this.pendingTasks=R(qa)}handle(t){if(null===this.chain){const o=Array.from(new Set([...this.injector.get(Yi),...this.injector.get(BC,[])]));this.chain=o.reduceRight((i,s)=>function BF(e,n,t){return(r,o)=>t.runInContext(()=>n(r,i=>e(i,o)))}(i,s,this.injector),jC)}const r=this.pendingTasks.add();return this.chain(t,o=>this.backend.handle(o)).pipe(qi(()=>this.pendingTasks.remove(r)))}static#e=this.\u0275fac=function(r){return new(r||e)(k(vu),k(vt))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();const qF=/^\)\]\}',?\n/;let UC=(()=>{class e{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new I(-2800,!1);const r=this.xhrFactory;return(r.\u0275loadImpl?Ne(r.\u0275loadImpl()):B(null)).pipe(Lt(()=>new Ee(i=>{const s=r.build();if(s.open(t.method,t.urlWithParams),t.withCredentials&&(s.withCredentials=!0),t.headers.forEach((y,C)=>s.setRequestHeader(y,C.join(","))),t.headers.has("Accept")||s.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const y=t.detectContentTypeHeader();null!==y&&s.setRequestHeader("Content-Type",y)}if(t.responseType){const y=t.responseType.toLowerCase();s.responseType="json"!==y?y:"text"}const a=t.serializeBody();let u=null;const c=()=>{if(null!==u)return u;const y=s.statusText||"OK",C=new an(s.getAllResponseHeaders()),M=function WF(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(s)||t.url;return u=new Tf({headers:C,status:s.status,statusText:y,url:M}),u},l=()=>{let{headers:y,status:C,statusText:M,url:D}=c(),O=null;204!==C&&(O=typeof s.response>"u"?s.responseText:s.response),0===C&&(C=O?200:0);let j=C>=200&&C<300;if("json"===t.responseType&&"string"==typeof O){const Q=O;O=O.replace(qF,"");try{O=""!==O?JSON.parse(O):null}catch(ke){O=Q,j&&(j=!1,O={error:ke,text:O})}}j?(i.next(new So({body:O,headers:y,status:C,statusText:M,url:D||void 0})),i.complete()):i.error(new kC({error:O,headers:y,status:C,statusText:M,url:D||void 0}))},d=y=>{const{url:C}=c(),M=new kC({error:y,status:s.status||0,statusText:s.statusText||"Unknown Error",url:C||void 0});i.error(M)};let g=!1;const v=y=>{g||(i.next(c()),g=!0);let C={type:Mo.DownloadProgress,loaded:y.loaded};y.lengthComputable&&(C.total=y.total),"text"===t.responseType&&s.responseText&&(C.partialText=s.responseText),i.next(C)},_=y=>{let C={type:Mo.UploadProgress,loaded:y.loaded};y.lengthComputable&&(C.total=y.total),i.next(C)};return s.addEventListener("load",l),s.addEventListener("error",d),s.addEventListener("timeout",d),s.addEventListener("abort",d),t.reportProgress&&(s.addEventListener("progress",v),null!==a&&s.upload&&s.upload.addEventListener("progress",_)),s.send(a),i.next({type:Mo.Sent}),()=>{s.removeEventListener("error",d),s.removeEventListener("abort",d),s.removeEventListener("load",l),s.removeEventListener("timeout",d),t.reportProgress&&(s.removeEventListener("progress",v),null!==a&&s.upload&&s.upload.removeEventListener("progress",_)),s.readyState!==s.DONE&&s.abort()}})))}static#e=this.\u0275fac=function(r){return new(r||e)(k(lC))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();const xf=new P("XSRF_ENABLED"),zC=new P("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),GC=new P("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class qC{}let QF=(()=>{class e{constructor(t,r,o){this.doc=t,this.platform=r,this.cookieName=o,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=tC(t,this.cookieName),this.lastCookieString=t),this.lastToken}static#e=this.\u0275fac=function(r){return new(r||e)(k(Ct),k(cr),k(zC))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();function XF(e,n){const t=e.url.toLowerCase();if(!R(xf)||"GET"===e.method||"HEAD"===e.method||t.startsWith("http://")||t.startsWith("https://"))return n(e);const r=R(qC).getToken(),o=R(GC);return null!=r&&!e.headers.has(o)&&(e=e.clone({headers:e.headers.set(o,r)})),n(e)}var Zn=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(Zn||{});function JF(...e){const n=[Zi,UC,$C,{provide:mu,useExisting:$C},{provide:vu,useExisting:UC},{provide:Yi,useValue:XF,multi:!0},{provide:xf,useValue:!0},{provide:qC,useClass:QF}];for(const t of e)n.push(...t.\u0275providers);return function Cl(e){return{\u0275providers:e}}(n)}const WC=new P("LEGACY_INTERCEPTOR_FN");function KF(){return function mr(e,n){return{\u0275kind:e,\u0275providers:n}}(Zn.LegacyInterceptors,[{provide:WC,useFactory:HF},{provide:Yi,useExisting:WC,multi:!0}])}let ek=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({providers:[JF(KF())]})}return e})();const{isArray:sk}=Array,{getPrototypeOf:ak,prototype:uk,keys:ck}=Object;function ZC(e){if(1===e.length){const n=e[0];if(sk(n))return{args:n,keys:null};if(function lk(e){return e&&"object"==typeof e&&ak(e)===uk}(n)){const t=ck(n);return{args:t.map(r=>n[r]),keys:t}}}return{args:e,keys:null}}const{isArray:dk}=Array;function YC(e){return ne(n=>function fk(e,n){return dk(n)?e(...n):e(n)}(e,n))}function QC(e,n){return e.reduce((t,r,o)=>(t[r]=n[o],t),{})}let XC=(()=>{class e{constructor(t,r){this._renderer=t,this._elementRef=r,this.onChange=o=>{},this.onTouched=()=>{}}setProperty(t,r){this._renderer.setProperty(this._elementRef.nativeElement,t,r)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}static#e=this.\u0275fac=function(r){return new(r||e)(b(yn),b(_t))};static#t=this.\u0275dir=z({type:e})}return e})(),vr=(()=>{class e extends XC{static#e=this.\u0275fac=function(){let t;return function(o){return(t||(t=He(e)))(o||e)}}();static#t=this.\u0275dir=z({type:e,features:[ue]})}return e})();const un=new P("NgValueAccessor"),gk={provide:un,useExisting:fe(()=>Qi),multi:!0},vk=new P("CompositionEventMode");let Qi=(()=>{class e extends XC{constructor(t,r,o){super(t,r),this._compositionMode=o,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function mk(){const e=Gn()?Gn().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(t){this.setProperty("value",t??"")}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}static#e=this.\u0275fac=function(r){return new(r||e)(b(yn),b(_t),b(vk,8))};static#t=this.\u0275dir=z({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(r,o){1&r&&re("input",function(s){return o._handleInput(s.target.value)})("blur",function(){return o.onTouched()})("compositionstart",function(){return o._compositionStart()})("compositionend",function(s){return o._compositionEnd(s.target.value)})},features:[ye([gk]),ue]})}return e})();const qe=new P("NgValidators"),Qn=new P("NgAsyncValidators");function uw(e){return null!=e}function cw(e){return Ti(e)?Ne(e):e}function lw(e){let n={};return e.forEach(t=>{n=null!=t?{...n,...t}:n}),0===Object.keys(n).length?null:n}function dw(e,n){return n.map(t=>t(e))}function fw(e){return e.map(n=>function yk(e){return!e.validate}(n)?n:t=>n.validate(t))}function Nf(e){return null!=e?function hw(e){if(!e)return null;const n=e.filter(uw);return 0==n.length?null:function(t){return lw(dw(t,n))}}(fw(e)):null}function Rf(e){return null!=e?function pw(e){if(!e)return null;const n=e.filter(uw);return 0==n.length?null:function(t){return function hk(...e){const n=Gh(e),{args:t,keys:r}=ZC(e),o=new Ee(i=>{const{length:s}=t;if(!s)return void i.complete();const a=new Array(s);let u=s,c=s;for(let l=0;l{d||(d=!0,c--),a[l]=g},()=>u--,void 0,()=>{(!u||!d)&&(c||i.next(r?QC(r,a):a),i.complete())}))}});return n?o.pipe(YC(n)):o}(dw(t,n).map(cw)).pipe(ne(lw))}}(fw(e)):null}function gw(e,n){return null===e?[n]:Array.isArray(e)?[...e,n]:[e,n]}function Of(e){return e?Array.isArray(e)?e:[e]:[]}function Cu(e,n){return Array.isArray(e)?e.includes(n):e===n}function _w(e,n){const t=Of(n);return Of(e).forEach(o=>{Cu(t,o)||t.push(o)}),t}function yw(e,n){return Of(n).filter(t=>!Cu(e,t))}class Dw{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(n){this._rawValidators=n||[],this._composedValidatorFn=Nf(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=Rf(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(n){this._onDestroyCallbacks.push(n)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(n=>n()),this._onDestroyCallbacks=[]}reset(n=void 0){this.control&&this.control.reset(n)}hasError(n,t){return!!this.control&&this.control.hasError(n,t)}getError(n,t){return this.control?this.control.getError(n,t):null}}class rt extends Dw{get formDirective(){return null}get path(){return null}}class Xn extends Dw{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class Cw{constructor(n){this._cd=n}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let Pf=(()=>{class e extends Cw{constructor(t){super(t)}static#e=this.\u0275fac=function(r){return new(r||e)(b(Xn,2))};static#t=this.\u0275dir=z({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(r,o){2&r&&Pa("ng-untouched",o.isUntouched)("ng-touched",o.isTouched)("ng-pristine",o.isPristine)("ng-dirty",o.isDirty)("ng-valid",o.isValid)("ng-invalid",o.isInvalid)("ng-pending",o.isPending)},features:[ue]})}return e})(),ww=(()=>{class e extends Cw{constructor(t){super(t)}static#e=this.\u0275fac=function(r){return new(r||e)(b(rt,10))};static#t=this.\u0275dir=z({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(r,o){2&r&&Pa("ng-untouched",o.isUntouched)("ng-touched",o.isTouched)("ng-pristine",o.isPristine)("ng-dirty",o.isDirty)("ng-valid",o.isValid)("ng-invalid",o.isInvalid)("ng-pending",o.isPending)("ng-submitted",o.isSubmitted)},features:[ue]})}return e})();const Xi="VALID",bu="INVALID",To="PENDING",Ji="DISABLED";function Lf(e){return(Eu(e)?e.validators:e)||null}function Vf(e,n){return(Eu(n)?n.asyncValidators:e)||null}function Eu(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}class Mw{constructor(n,t){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(n),this._assignAsyncValidators(t)}get validator(){return this._composedValidatorFn}set validator(n){this._rawValidators=this._composedValidatorFn=n}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(n){this._rawAsyncValidators=this._composedAsyncValidatorFn=n}get parent(){return this._parent}get valid(){return this.status===Xi}get invalid(){return this.status===bu}get pending(){return this.status==To}get disabled(){return this.status===Ji}get enabled(){return this.status!==Ji}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(n){this._assignValidators(n)}setAsyncValidators(n){this._assignAsyncValidators(n)}addValidators(n){this.setValidators(_w(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(_w(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(yw(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(yw(n,this._rawAsyncValidators))}hasValidator(n){return Cu(this._rawValidators,n)}hasAsyncValidator(n){return Cu(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){this.touched=!0,this._parent&&!n.onlySelf&&this._parent.markAsTouched(n)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(n=>n.markAllAsTouched())}markAsUntouched(n={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}markAsDirty(n={}){this.pristine=!1,this._parent&&!n.onlySelf&&this._parent.markAsDirty(n)}markAsPristine(n={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}markAsPending(n={}){this.status=To,!1!==n.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!n.onlySelf&&this._parent.markAsPending(n)}disable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=Ji,this.errors=null,this._forEachChild(r=>{r.disable({...n,onlySelf:!0})}),this._updateValue(),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...n,skipPristineCheck:t}),this._onDisabledChange.forEach(r=>r(!0))}enable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=Xi,this._forEachChild(r=>{r.enable({...n,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors({...n,skipPristineCheck:t}),this._onDisabledChange.forEach(r=>r(!1))}_updateAncestors(n){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(n){this._parent=n}getRawValue(){return this.value}updateValueAndValidity(n={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Xi||this.status===To)&&this._runAsyncValidator(n.emitEvent)),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity(n)}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Ji:Xi}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n){if(this.asyncValidator){this.status=To,this._hasOwnPendingAsyncValidator=!0;const t=cw(this.asyncValidator(this));this._asyncValidationSubscription=t.subscribe(r=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(r,{emitEvent:n})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(n,t={}){this.errors=n,this._updateControlsErrors(!1!==t.emitEvent)}get(n){let t=n;return null==t||(Array.isArray(t)||(t=t.split(".")),0===t.length)?null:t.reduce((r,o)=>r&&r._find(o),this)}getError(n,t){const r=t?this.get(t):this;return r&&r.errors?r.errors[n]:null}hasError(n,t){return!!this.getError(n,t)}get root(){let n=this;for(;n._parent;)n=n._parent;return n}_updateControlsErrors(n){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(n)}_initObservables(){this.valueChanges=new we,this.statusChanges=new we}_calculateStatus(){return this._allControlsDisabled()?Ji:this.errors?bu:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(To)?To:this._anyControlsHaveStatus(bu)?bu:Xi}_anyControlsHaveStatus(n){return this._anyControls(t=>t.status===n)}_anyControlsDirty(){return this._anyControls(n=>n.dirty)}_anyControlsTouched(){return this._anyControls(n=>n.touched)}_updatePristine(n={}){this.pristine=!this._anyControlsDirty(),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}_updateTouched(n={}){this.touched=this._anyControlsTouched(),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){Eu(n)&&null!=n.updateOn&&(this._updateOn=n.updateOn)}_parentMarkedDirty(n){return!n&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(n){return null}_assignValidators(n){this._rawValidators=Array.isArray(n)?n.slice():n,this._composedValidatorFn=function bk(e){return Array.isArray(e)?Nf(e):e||null}(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=function Ek(e){return Array.isArray(e)?Rf(e):e||null}(this._rawAsyncValidators)}}class jf extends Mw{constructor(n,t,r){super(Lf(t),Vf(r,t)),this.controls=n,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(n,t){return this.controls[n]?this.controls[n]:(this.controls[n]=t,t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange),t)}addControl(n,t,r={}){this.registerControl(n,t),this.updateValueAndValidity({emitEvent:r.emitEvent}),this._onCollectionChange()}removeControl(n,t={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}setControl(n,t,r={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],t&&this.registerControl(n,t),this.updateValueAndValidity({emitEvent:r.emitEvent}),this._onCollectionChange()}contains(n){return this.controls.hasOwnProperty(n)&&this.controls[n].enabled}setValue(n,t={}){(function Iw(e,n,t){e._forEachChild((r,o)=>{if(void 0===t[o])throw new I(1002,"")})})(this,0,n),Object.keys(n).forEach(r=>{(function Ew(e,n,t){const r=e.controls;if(!(n?Object.keys(r):r).length)throw new I(1e3,"");if(!r[t])throw new I(1001,"")})(this,!0,r),this.controls[r].setValue(n[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(n,t={}){null!=n&&(Object.keys(n).forEach(r=>{const o=this.controls[r];o&&o.patchValue(n[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(n={},t={}){this._forEachChild((r,o)=>{r.reset(n?n[o]:null,{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}getRawValue(){return this._reduceChildren({},(n,t,r)=>(n[r]=t.getRawValue(),n))}_syncPendingControls(){let n=this._reduceChildren(!1,(t,r)=>!!r._syncPendingControls()||t);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){Object.keys(this.controls).forEach(t=>{const r=this.controls[t];r&&n(r,t)})}_setUpControls(){this._forEachChild(n=>{n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(n){for(const[t,r]of Object.entries(this.controls))if(this.contains(t)&&n(r))return!0;return!1}_reduceValue(){return this._reduceChildren({},(t,r,o)=>((r.enabled||this.disabled)&&(t[o]=r.value),t))}_reduceChildren(n,t){let r=n;return this._forEachChild((o,i)=>{r=t(r,o,i)}),r}_allControlsDisabled(){for(const n of Object.keys(this.controls))if(this.controls[n].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(n){return this.controls.hasOwnProperty(n)?this.controls[n]:null}}const _r=new P("CallSetDisabledState",{providedIn:"root",factory:()=>Ki}),Ki="always";function es(e,n,t=Ki){Bf(e,n),n.valueAccessor.writeValue(e.value),(e.disabled||"always"===t)&&n.valueAccessor.setDisabledState?.(e.disabled),function Sk(e,n){n.valueAccessor.registerOnChange(t=>{e._pendingValue=t,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&Sw(e,n)})}(e,n),function Ak(e,n){const t=(r,o)=>{n.valueAccessor.writeValue(r),o&&n.viewToModelUpdate(r)};e.registerOnChange(t),n._registerOnDestroy(()=>{e._unregisterOnChange(t)})}(e,n),function Tk(e,n){n.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&Sw(e,n),"submit"!==e.updateOn&&e.markAsTouched()})}(e,n),function Mk(e,n){if(n.valueAccessor.setDisabledState){const t=r=>{n.valueAccessor.setDisabledState(r)};e.registerOnDisabledChange(t),n._registerOnDestroy(()=>{e._unregisterOnDisabledChange(t)})}}(e,n)}function Su(e,n){e.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(n)})}function Bf(e,n){const t=function mw(e){return e._rawValidators}(e);null!==n.validator?e.setValidators(gw(t,n.validator)):"function"==typeof t&&e.setValidators([t]);const r=function vw(e){return e._rawAsyncValidators}(e);null!==n.asyncValidator?e.setAsyncValidators(gw(r,n.asyncValidator)):"function"==typeof r&&e.setAsyncValidators([r]);const o=()=>e.updateValueAndValidity();Su(n._rawValidators,o),Su(n._rawAsyncValidators,o)}function Sw(e,n){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}const Pk={provide:rt,useExisting:fe(()=>Au)},ts=(()=>Promise.resolve())();let Au=(()=>{class e extends rt{constructor(t,r,o){super(),this.callSetDisabledState=o,this.submitted=!1,this._directives=new Set,this.ngSubmit=new we,this.form=new jf({},Nf(t),Rf(r))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){ts.then(()=>{const r=this._findContainer(t.path);t.control=r.registerControl(t.name,t.control),es(t.control,t,this.callSetDisabledState),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){ts.then(()=>{const r=this._findContainer(t.path);r&&r.removeControl(t.name),this._directives.delete(t)})}addFormGroup(t){ts.then(()=>{const r=this._findContainer(t.path),o=new jf({});(function Tw(e,n){Bf(e,n)})(o,t),r.registerControl(t.name,o),o.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){ts.then(()=>{const r=this._findContainer(t.path);r&&r.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,r){ts.then(()=>{this.form.get(t.path).setValue(r)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,function Aw(e,n){e._syncPendingControls(),n.forEach(t=>{const r=t.control;"submit"===r.updateOn&&r._pendingChange&&(t.viewToModelUpdate(r._pendingValue),r._pendingChange=!1)})}(this.form,this._directives),this.ngSubmit.emit(t),"dialog"===t?.target?.method}onReset(){this.resetForm()}resetForm(t=void 0){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}static#e=this.\u0275fac=function(r){return new(r||e)(b(qe,10),b(Qn,10),b(_r,8))};static#t=this.\u0275dir=z({type:e,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(r,o){1&r&&re("submit",function(s){return o.onSubmit(s)})("reset",function(){return o.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[ye([Pk]),ue]})}return e})();function xw(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function Nw(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const Rw=class extends Mw{constructor(n=null,t,r){super(Lf(t),Vf(r,t)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(n),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),Eu(t)&&(t.nonNullable||t.initialValueIsDefault)&&(this.defaultValue=Nw(n)?n.value:n)}setValue(n,t={}){this.value=this._pendingValue=n,this._onChange.length&&!1!==t.emitModelToViewChange&&this._onChange.forEach(r=>r(this.value,!1!==t.emitViewToModelChange)),this.updateValueAndValidity(t)}patchValue(n,t={}){this.setValue(n,t)}reset(n=this.defaultValue,t={}){this._applyFormState(n),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1}_updateValue(){}_anyControls(n){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(n){this._onChange.push(n)}_unregisterOnChange(n){xw(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){xw(this._onDisabledChange,n)}_forEachChild(n){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(n){Nw(n)?(this.value=this._pendingValue=n.value,n.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=n}},Lk={provide:Xn,useExisting:fe(()=>xu)},Fw=(()=>Promise.resolve())();let xu=(()=>{class e extends Xn{constructor(t,r,o,i,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this.control=new Rw,this._registered=!1,this.name="",this.update=new we,this._parent=t,this._setValidators(r),this._setAsyncValidators(o),this.valueAccessor=function Uf(e,n){if(!n)return null;let t,r,o;return Array.isArray(n),n.forEach(i=>{i.constructor===Qi?t=i:function Rk(e){return Object.getPrototypeOf(e.constructor)===vr}(i)?r=i:o=i}),o||r||t||null}(0,i)}ngOnChanges(t){if(this._checkForErrors(),!this._registered||"name"in t){if(this._registered&&(this._checkName(),this.formDirective)){const r=t.name.previousValue;this.formDirective.removeControl({name:r,path:this._getPath(r)})}this._setUpControl()}"isDisabled"in t&&this._updateDisabled(t),function Hf(e,n){if(!e.hasOwnProperty("model"))return!1;const t=e.model;return!!t.isFirstChange()||!Object.is(n,t.currentValue)}(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){es(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){Fw.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(t){const r=t.isDisabled.currentValue,o=0!==r&&function bo(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}(r);Fw.then(()=>{o&&!this.control.disabled?this.control.disable():!o&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(t){return this._parent?function Iu(e,n){return[...n.path,e]}(t,this._parent):[t]}static#e=this.\u0275fac=function(r){return new(r||e)(b(rt,9),b(qe,10),b(Qn,10),b(un,10),b(Qa,8),b(_r,8))};static#t=this.\u0275dir=z({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[ye([Lk]),ue,St]})}return e})(),kw=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275dir=z({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]})}return e})(),Vw=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({})}return e})();const zf=new P("NgModelWithFormControlWarning");let tb=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({imports:[Vw]})}return e})(),u2=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:_r,useValue:t.callSetDisabledState??Ki}]}}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({imports:[tb]})}return e})(),c2=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:zf,useValue:t.warnOnNgModelWithFormControl??"always"},{provide:_r,useValue:t.callSetDisabledState??Ki}]}}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({imports:[tb]})}return e})(),Nu=(()=>{class e{formatTransactionTime(t){const r=new Date(1e3*t);return"Invalid Date"===r.toString()?(console.error("Invalid Date Format:",t),"Invalid Date"):r.toLocaleDateString(void 0,{year:"numeric",month:"2-digit",day:"2-digit"})+", "+r.toLocaleTimeString()}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Ru=(()=>{class e{getTransactionType(t){return 0===t.inputs.length&&0===t.outputs.length?(console.log("Encrypted Message"),"Encrypted Message"):0===t.inputs.length&&1===t.outputs.length&&0===t.outputs[0]?.value?(console.log("Message"),"Message"):0===t.inputs.length&&t.outputs.length>=1&&t.outputs[0]?.value>0?(console.log("Coinbase"),"Coinbase"):t.inputs.length>0&&t.outputs.length>1&&t.outputs[0]?.value>0?(console.log("Coin Transfer"),"Coin Transfer"):t.outputs.length>=2&&0===t.outputs[0]?.value?(console.log("Create Identity"),"Create Identity"):(console.log("Unknown Transaction Type"),"Unknown Transaction Type")}isEncryptedMessageTransaction(t){return 0===t.inputs.length&&0===t.outputs.length}isMessageTransaction(t){return 0===t.inputs.length&&1===t.outputs.length&&0===t.outputs[0]?.value}isCoinbaseTransaction(t){return 0===t.inputs.length&&t.outputs.length>=1&&t.outputs[0]?.value>0}isTransferTransaction(t){return t.inputs.length>0&&t.outputs.length>1&&t.outputs[0]?.value>0}isCreateIdentityTransaction(t){return t.outputs.length>=2&&0===t.outputs[0]?.value}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Xf(...e){const n=$o(e),t=Gh(e),{args:r,keys:o}=ZC(e);if(0===r.length)return Ne([],n);const i=new Ee(function d2(e,n,t=Nn){return r=>{nb(n,()=>{const{length:o}=e,i=new Array(o);let s=o,a=o;for(let u=0;u{const c=Ne(e[u],n);let l=!1;c.subscribe(Te(r,d=>{i[u]=d,l||(l=!0,a--),a||r.next(t(i.slice()))},()=>{--s||r.complete()}))},r)},r)}}(r,n,o?s=>QC(o,s):Nn));return t?i.pipe(YC(t)):i}function nb(e,n,t){e?fn(t,e,n):n()}const Ou=Vo(e=>function(){e(this),this.name="EmptyError",this.message="no elements in sequence"});function Jf(...e){return function f2(){return Mr(1)}()(Ne(e,$o(e)))}function rb(e){return new Ee(n=>{dt(e()).subscribe(n)})}function ns(e,n){const t=le(e)?e:()=>e,r=o=>o.error(t());return new Ee(n?o=>n.schedule(r,0,o):r)}function Kf(){return xe((e,n)=>{let t=null;e._refCount++;const r=Te(n,void 0,void 0,void 0,()=>{if(!e||e._refCount<=0||0<--e._refCount)return void(t=null);const o=e._connection,i=t;t=null,o&&(!i||o===i)&&o.unsubscribe(),n.unsubscribe()});e.subscribe(r),r.closed||(t=e.connect())})}class ob extends Ee{constructor(n,t){super(),this.source=n,this.subjectFactory=t,this._subject=null,this._refCount=0,this._connection=null,xh(n)&&(this.lift=n.lift)}_subscribe(n){return this.getSubject().subscribe(n)}getSubject(){const n=this._subject;return(!n||n.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:n}=this;this._subject=this._connection=null,n?.unsubscribe()}connect(){let n=this._connection;if(!n){n=this._connection=new lt;const t=this.getSubject();n.add(this.source.subscribe(Te(t,void 0,()=>{this._teardown(),t.complete()},r=>{this._teardown(),t.error(r)},()=>this._teardown()))),n.closed&&(this._connection=null,n=lt.EMPTY)}return n}refCount(){return Kf()(this)}}function Ao(e){return e<=0?()=>Zt:xe((n,t)=>{let r=0;n.subscribe(Te(t,o=>{++r<=e&&(t.next(o),e<=r&&t.complete())}))})}function Pu(e){return xe((n,t)=>{let r=!1;n.subscribe(Te(t,o=>{r=!0,t.next(o)},()=>{r||t.next(e),t.complete()}))})}function ib(e=p2){return xe((n,t)=>{let r=!1;n.subscribe(Te(t,o=>{r=!0,t.next(o)},()=>r?t.complete():t.error(e())))})}function p2(){return new Ou}function Dr(e,n){const t=arguments.length>=2;return r=>r.pipe(e?Tn((o,i)=>e(o,i,r)):Nn,Ao(1),t?Pu(n):ib(()=>new Ou))}function We(e,n,t){const r=le(e)||n||t?{next:e,error:n,complete:t}:e;return r?xe((o,i)=>{var s;null===(s=r.subscribe)||void 0===s||s.call(r);let a=!0;o.subscribe(Te(i,u=>{var c;null===(c=r.next)||void 0===c||c.call(r,u),i.next(u)},()=>{var u;a=!1,null===(u=r.complete)||void 0===u||u.call(r),i.complete()},u=>{var c;a=!1,null===(c=r.error)||void 0===c||c.call(r,u),i.error(u)},()=>{var u,c;a&&(null===(u=r.unsubscribe)||void 0===u||u.call(r)),null===(c=r.finalize)||void 0===c||c.call(r)}))}):Nn}function Cr(e){return xe((n,t)=>{let i,r=null,o=!1;r=n.subscribe(Te(t,void 0,void 0,s=>{i=dt(e(s,Cr(e)(n))),r?(r.unsubscribe(),r=null,i.subscribe(t)):o=!0})),o&&(r.unsubscribe(),r=null,i.subscribe(t))})}function eh(e){return e<=0?()=>Zt:xe((n,t)=>{let r=[];n.subscribe(Te(t,o=>{r.push(o),e{for(const o of r)t.next(o);t.complete()},void 0,()=>{r=null}))})}const Y="primary",rs=Symbol("RouteTitle");class D2{constructor(n){this.params=n||{}}has(n){return Object.prototype.hasOwnProperty.call(this.params,n)}get(n){if(this.has(n)){const t=this.params[n];return Array.isArray(t)?t[0]:t}return null}getAll(n){if(this.has(n)){const t=this.params[n];return Array.isArray(t)?t:[t]}return[]}get keys(){return Object.keys(this.params)}}function xo(e){return new D2(e)}function C2(e,n,t){const r=t.path.split("/");if(r.length>e.length||"full"===t.pathMatch&&(n.hasChildren()||r.lengthr[i]===o)}return e===n}function ab(e){return e.length>0?e[e.length-1]:null}function Jn(e){return function l2(e){return!!e&&(e instanceof Ee||le(e.lift)&&le(e.subscribe))}(e)?e:Ti(e)?Ne(Promise.resolve(e)):B(e)}const b2={exact:function lb(e,n,t){if(!wr(e.segments,n.segments)||!Fu(e.segments,n.segments,t)||e.numberOfChildren!==n.numberOfChildren)return!1;for(const r in n.children)if(!e.children[r]||!lb(e.children[r],n.children[r],t))return!1;return!0},subset:db},ub={exact:function E2(e,n){return cn(e,n)},subset:function I2(e,n){return Object.keys(n).length<=Object.keys(e).length&&Object.keys(n).every(t=>sb(e[t],n[t]))},ignored:()=>!0};function cb(e,n,t){return b2[t.paths](e.root,n.root,t.matrixParams)&&ub[t.queryParams](e.queryParams,n.queryParams)&&!("exact"===t.fragment&&e.fragment!==n.fragment)}function db(e,n,t){return fb(e,n,n.segments,t)}function fb(e,n,t,r){if(e.segments.length>t.length){const o=e.segments.slice(0,t.length);return!(!wr(o,t)||n.hasChildren()||!Fu(o,t,r))}if(e.segments.length===t.length){if(!wr(e.segments,t)||!Fu(e.segments,t,r))return!1;for(const o in n.children)if(!e.children[o]||!db(e.children[o],n.children[o],r))return!1;return!0}{const o=t.slice(0,e.segments.length),i=t.slice(e.segments.length);return!!(wr(e.segments,o)&&Fu(e.segments,o,r)&&e.children[Y])&&fb(e.children[Y],n,i,r)}}function Fu(e,n,t){return n.every((r,o)=>ub[t](e[o].parameters,r.parameters))}class No{constructor(n=new ce([],{}),t={},r=null){this.root=n,this.queryParams=t,this.fragment=r}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=xo(this.queryParams)),this._queryParamMap}toString(){return T2.serialize(this)}}class ce{constructor(n,t){this.segments=n,this.children=t,this.parent=null,Object.values(t).forEach(r=>r.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return ku(this)}}class os{constructor(n,t){this.path=n,this.parameters=t}get parameterMap(){return this._parameterMap||(this._parameterMap=xo(this.parameters)),this._parameterMap}toString(){return gb(this)}}function wr(e,n){return e.length===n.length&&e.every((t,r)=>t.path===n[r].path)}let is=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:function(){return new th},providedIn:"root"})}return e})();class th{parse(n){const t=new j2(n);return new No(t.parseRootSegment(),t.parseQueryParams(),t.parseFragment())}serialize(n){const t=`/${ss(n.root,!0)}`,r=function N2(e){const n=Object.keys(e).map(t=>{const r=e[t];return Array.isArray(r)?r.map(o=>`${Lu(t)}=${Lu(o)}`).join("&"):`${Lu(t)}=${Lu(r)}`}).filter(t=>!!t);return n.length?`?${n.join("&")}`:""}(n.queryParams);return`${t}${r}${"string"==typeof n.fragment?`#${function A2(e){return encodeURI(e)}(n.fragment)}`:""}`}}const T2=new th;function ku(e){return e.segments.map(n=>gb(n)).join("/")}function ss(e,n){if(!e.hasChildren())return ku(e);if(n){const t=e.children[Y]?ss(e.children[Y],!1):"",r=[];return Object.entries(e.children).forEach(([o,i])=>{o!==Y&&r.push(`${o}:${ss(i,!1)}`)}),r.length>0?`${t}(${r.join("//")})`:t}{const t=function S2(e,n){let t=[];return Object.entries(e.children).forEach(([r,o])=>{r===Y&&(t=t.concat(n(o,r)))}),Object.entries(e.children).forEach(([r,o])=>{r!==Y&&(t=t.concat(n(o,r)))}),t}(e,(r,o)=>o===Y?[ss(e.children[Y],!1)]:[`${o}:${ss(r,!1)}`]);return 1===Object.keys(e.children).length&&null!=e.children[Y]?`${ku(e)}/${t[0]}`:`${ku(e)}/(${t.join("//")})`}}function hb(e){return encodeURIComponent(e).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Lu(e){return hb(e).replace(/%3B/gi,";")}function nh(e){return hb(e).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Vu(e){return decodeURIComponent(e)}function pb(e){return Vu(e.replace(/\+/g,"%20"))}function gb(e){return`${nh(e.path)}${function x2(e){return Object.keys(e).map(n=>`;${nh(n)}=${nh(e[n])}`).join("")}(e.parameters)}`}const R2=/^[^\/()?;#]+/;function rh(e){const n=e.match(R2);return n?n[0]:""}const O2=/^[^\/()?;=#]+/,F2=/^[^=?&#]+/,L2=/^[^&#]+/;class j2{constructor(n){this.url=n,this.remaining=n}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new ce([],{}):new ce([],this.parseChildren())}parseQueryParams(){const n={};if(this.consumeOptional("?"))do{this.parseQueryParam(n)}while(this.consumeOptional("&"));return n}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const n=[];for(this.peekStartsWith("(")||n.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),n.push(this.parseSegment());let t={};this.peekStartsWith("/(")&&(this.capture("/"),t=this.parseParens(!0));let r={};return this.peekStartsWith("(")&&(r=this.parseParens(!1)),(n.length>0||Object.keys(t).length>0)&&(r[Y]=new ce(n,t)),r}parseSegment(){const n=rh(this.remaining);if(""===n&&this.peekStartsWith(";"))throw new I(4009,!1);return this.capture(n),new os(Vu(n),this.parseMatrixParams())}parseMatrixParams(){const n={};for(;this.consumeOptional(";");)this.parseParam(n);return n}parseParam(n){const t=function P2(e){const n=e.match(O2);return n?n[0]:""}(this.remaining);if(!t)return;this.capture(t);let r="";if(this.consumeOptional("=")){const o=rh(this.remaining);o&&(r=o,this.capture(r))}n[Vu(t)]=Vu(r)}parseQueryParam(n){const t=function k2(e){const n=e.match(F2);return n?n[0]:""}(this.remaining);if(!t)return;this.capture(t);let r="";if(this.consumeOptional("=")){const s=function V2(e){const n=e.match(L2);return n?n[0]:""}(this.remaining);s&&(r=s,this.capture(r))}const o=pb(t),i=pb(r);if(n.hasOwnProperty(o)){let s=n[o];Array.isArray(s)||(s=[s],n[o]=s),s.push(i)}else n[o]=i}parseParens(n){const t={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const r=rh(this.remaining),o=this.remaining[r.length];if("/"!==o&&")"!==o&&";"!==o)throw new I(4010,!1);let i;r.indexOf(":")>-1?(i=r.slice(0,r.indexOf(":")),this.capture(i),this.capture(":")):n&&(i=Y);const s=this.parseChildren();t[i]=1===Object.keys(s).length?s[Y]:new ce([],s),this.consumeOptional("//")}return t}peekStartsWith(n){return this.remaining.startsWith(n)}consumeOptional(n){return!!this.peekStartsWith(n)&&(this.remaining=this.remaining.substring(n.length),!0)}capture(n){if(!this.consumeOptional(n))throw new I(4011,!1)}}function mb(e){return e.segments.length>0?new ce([],{[Y]:e}):e}function vb(e){const n={};for(const r of Object.keys(e.children)){const i=vb(e.children[r]);if(r===Y&&0===i.segments.length&&i.hasChildren())for(const[s,a]of Object.entries(i.children))n[s]=a;else(i.segments.length>0||i.hasChildren())&&(n[r]=i)}return function B2(e){if(1===e.numberOfChildren&&e.children[Y]){const n=e.children[Y];return new ce(e.segments.concat(n.segments),n.children)}return e}(new ce(e.segments,n))}function br(e){return e instanceof No}function _b(e){let n;const o=mb(function t(i){const s={};for(const u of i.children){const c=t(u);s[u.outlet]=c}const a=new ce(i.url,s);return i===e&&(n=a),a}(e.root));return n??o}function yb(e,n,t,r){let o=e;for(;o.parent;)o=o.parent;if(0===n.length)return oh(o,o,o,t,r);const i=function H2(e){if("string"==typeof e[0]&&1===e.length&&"/"===e[0])return new Cb(!0,0,e);let n=0,t=!1;const r=e.reduce((o,i,s)=>{if("object"==typeof i&&null!=i){if(i.outlets){const a={};return Object.entries(i.outlets).forEach(([u,c])=>{a[u]="string"==typeof c?c.split("/"):c}),[...o,{outlets:a}]}if(i.segmentPath)return[...o,i.segmentPath]}return"string"!=typeof i?[...o,i]:0===s?(i.split("/").forEach((a,u)=>{0==u&&"."===a||(0==u&&""===a?t=!0:".."===a?n++:""!=a&&o.push(a))}),o):[...o,i]},[]);return new Cb(t,n,r)}(n);if(i.toRoot())return oh(o,o,new ce([],{}),t,r);const s=function U2(e,n,t){if(e.isAbsolute)return new Bu(n,!0,0);if(!t)return new Bu(n,!1,NaN);if(null===t.parent)return new Bu(t,!0,0);const r=ju(e.commands[0])?0:1;return function z2(e,n,t){let r=e,o=n,i=t;for(;i>o;){if(i-=o,r=r.parent,!r)throw new I(4005,!1);o=r.segments.length}return new Bu(r,!1,o-i)}(t,t.segments.length-1+r,e.numberOfDoubleDots)}(i,o,e),a=s.processChildren?us(s.segmentGroup,s.index,i.commands):wb(s.segmentGroup,s.index,i.commands);return oh(o,s.segmentGroup,a,t,r)}function ju(e){return"object"==typeof e&&null!=e&&!e.outlets&&!e.segmentPath}function as(e){return"object"==typeof e&&null!=e&&e.outlets}function oh(e,n,t,r,o){let s,i={};r&&Object.entries(r).forEach(([u,c])=>{i[u]=Array.isArray(c)?c.map(l=>`${l}`):`${c}`}),s=e===n?t:Db(e,n,t);const a=mb(vb(s));return new No(a,i,o)}function Db(e,n,t){const r={};return Object.entries(e.children).forEach(([o,i])=>{r[o]=i===n?t:Db(i,n,t)}),new ce(e.segments,r)}class Cb{constructor(n,t,r){if(this.isAbsolute=n,this.numberOfDoubleDots=t,this.commands=r,n&&r.length>0&&ju(r[0]))throw new I(4003,!1);const o=r.find(as);if(o&&o!==ab(r))throw new I(4004,!1)}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class Bu{constructor(n,t,r){this.segmentGroup=n,this.processChildren=t,this.index=r}}function wb(e,n,t){if(e||(e=new ce([],{})),0===e.segments.length&&e.hasChildren())return us(e,n,t);const r=function q2(e,n,t){let r=0,o=n;const i={match:!1,pathIndex:0,commandIndex:0};for(;o=t.length)return i;const s=e.segments[o],a=t[r];if(as(a))break;const u=`${a}`,c=r0&&void 0===u)break;if(u&&c&&"object"==typeof c&&void 0===c.outlets){if(!Eb(u,c,s))return i;r+=2}else{if(!Eb(u,{},s))return i;r++}o++}return{match:!0,pathIndex:o,commandIndex:r}}(e,n,t),o=t.slice(r.commandIndex);if(r.match&&r.pathIndexi!==Y)&&e.children[Y]&&1===e.numberOfChildren&&0===e.children[Y].segments.length){const i=us(e.children[Y],n,t);return new ce(e.segments,i.children)}return Object.entries(r).forEach(([i,s])=>{"string"==typeof s&&(s=[s]),null!==s&&(o[i]=wb(e.children[i],n,s))}),Object.entries(e.children).forEach(([i,s])=>{void 0===r[i]&&(o[i]=s)}),new ce(e.segments,o)}}function ih(e,n,t){const r=e.segments.slice(0,n);let o=0;for(;o{"string"==typeof r&&(r=[r]),null!==r&&(n[t]=ih(new ce([],{}),0,r))}),n}function bb(e){const n={};return Object.entries(e).forEach(([t,r])=>n[t]=`${r}`),n}function Eb(e,n,t){return e==t.path&&cn(n,t.parameters)}const cs="imperative";class ln{constructor(n,t){this.id=n,this.url=t}}class $u extends ln{constructor(n,t,r="imperative",o=null){super(n,t),this.type=0,this.navigationTrigger=r,this.restoredState=o}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class Kn extends ln{constructor(n,t,r){super(n,t),this.urlAfterRedirects=r,this.type=1}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class ls extends ln{constructor(n,t,r,o){super(n,t),this.reason=r,this.code=o,this.type=2}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class Ro extends ln{constructor(n,t,r,o){super(n,t),this.reason=r,this.code=o,this.type=16}}class Hu extends ln{constructor(n,t,r,o){super(n,t),this.error=r,this.target=o,this.type=3}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class Ib extends ln{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=4}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Z2 extends ln{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=7}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Y2 extends ln{constructor(n,t,r,o,i){super(n,t),this.urlAfterRedirects=r,this.state=o,this.shouldActivate=i,this.type=8}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class Q2 extends ln{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=5}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class X2 extends ln{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=6}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class J2{constructor(n){this.route=n,this.type=9}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class K2{constructor(n){this.route=n,this.type=10}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class eL{constructor(n){this.snapshot=n,this.type=11}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class tL{constructor(n){this.snapshot=n,this.type=12}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class nL{constructor(n){this.snapshot=n,this.type=13}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class rL{constructor(n){this.snapshot=n,this.type=14}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Mb{constructor(n,t,r){this.routerEvent=n,this.position=t,this.anchor=r,this.type=15}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}class sh{}class ah{constructor(n){this.url=n}}class oL{constructor(){this.outlet=null,this.route=null,this.injector=null,this.children=new ds,this.attachRef=null}}let ds=(()=>{class e{constructor(){this.contexts=new Map}onChildOutletCreated(t,r){const o=this.getOrCreateContext(t);o.outlet=r,this.contexts.set(t,o)}onChildOutletDestroyed(t){const r=this.getContext(t);r&&(r.outlet=null,r.attachRef=null)}onOutletDeactivated(){const t=this.contexts;return this.contexts=new Map,t}onOutletReAttached(t){this.contexts=t}getOrCreateContext(t){let r=this.getContext(t);return r||(r=new oL,this.contexts.set(t,r)),r}getContext(t){return this.contexts.get(t)||null}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();class Sb{constructor(n){this._root=n}get root(){return this._root.value}parent(n){const t=this.pathFromRoot(n);return t.length>1?t[t.length-2]:null}children(n){const t=uh(n,this._root);return t?t.children.map(r=>r.value):[]}firstChild(n){const t=uh(n,this._root);return t&&t.children.length>0?t.children[0].value:null}siblings(n){const t=ch(n,this._root);return t.length<2?[]:t[t.length-2].children.map(o=>o.value).filter(o=>o!==n)}pathFromRoot(n){return ch(n,this._root).map(t=>t.value)}}function uh(e,n){if(e===n.value)return n;for(const t of n.children){const r=uh(e,t);if(r)return r}return null}function ch(e,n){if(e===n.value)return[n];for(const t of n.children){const r=ch(e,t);if(r.length)return r.unshift(n),r}return[]}class An{constructor(n,t){this.value=n,this.children=t}toString(){return`TreeNode(${this.value})`}}function Oo(e){const n={};return e&&e.children.forEach(t=>n[t.value.outlet]=t),n}class Tb extends Sb{constructor(n,t){super(n),this.snapshot=t,lh(this,n)}toString(){return this.snapshot.toString()}}function Ab(e,n){const t=function iL(e,n){const s=new Uu([],{},{},"",{},Y,n,null,{});return new Nb("",new An(s,[]))}(0,n),r=new bt([new os("",{})]),o=new bt({}),i=new bt({}),s=new bt({}),a=new bt(""),u=new Er(r,o,s,a,i,Y,n,t.root);return u.snapshot=t.root,new Tb(new An(u,[]),t)}class Er{constructor(n,t,r,o,i,s,a,u){this.urlSubject=n,this.paramsSubject=t,this.queryParamsSubject=r,this.fragmentSubject=o,this.dataSubject=i,this.outlet=s,this.component=a,this._futureSnapshot=u,this.title=this.dataSubject?.pipe(ne(c=>c[rs]))??B(void 0),this.url=n,this.params=t,this.queryParams=r,this.fragment=o,this.data=i}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=this.params.pipe(ne(n=>xo(n)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(ne(n=>xo(n)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function xb(e,n="emptyOnly"){const t=e.pathFromRoot;let r=0;if("always"!==n)for(r=t.length-1;r>=1;){const o=t[r],i=t[r-1];if(o.routeConfig&&""===o.routeConfig.path)r--;else{if(i.component)break;r--}}return function sL(e){return e.reduce((n,t)=>({params:{...n.params,...t.params},data:{...n.data,...t.data},resolve:{...t.data,...n.resolve,...t.routeConfig?.data,...t._resolvedData}}),{params:{},data:{},resolve:{}})}(t.slice(r))}class Uu{get title(){return this.data?.[rs]}constructor(n,t,r,o,i,s,a,u,c){this.url=n,this.params=t,this.queryParams=r,this.fragment=o,this.data=i,this.outlet=s,this.component=a,this.routeConfig=u,this._resolve=c}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=xo(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=xo(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(r=>r.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class Nb extends Sb{constructor(n,t){super(t),this.url=n,lh(this,t)}toString(){return Rb(this._root)}}function lh(e,n){n.value._routerState=e,n.children.forEach(t=>lh(e,t))}function Rb(e){const n=e.children.length>0?` { ${e.children.map(Rb).join(", ")} } `:"";return`${e.value}${n}`}function dh(e){if(e.snapshot){const n=e.snapshot,t=e._futureSnapshot;e.snapshot=t,cn(n.queryParams,t.queryParams)||e.queryParamsSubject.next(t.queryParams),n.fragment!==t.fragment&&e.fragmentSubject.next(t.fragment),cn(n.params,t.params)||e.paramsSubject.next(t.params),function w2(e,n){if(e.length!==n.length)return!1;for(let t=0;tcn(t.parameters,n[r].parameters))}(e.url,n.url);return t&&!(!e.parent!=!n.parent)&&(!e.parent||fh(e.parent,n.parent))}let Ob=(()=>{class e{constructor(){this.activated=null,this._activatedRoute=null,this.name=Y,this.activateEvents=new we,this.deactivateEvents=new we,this.attachEvents=new we,this.detachEvents=new we,this.parentContexts=R(ds),this.location=R(zt),this.changeDetector=R(Qa),this.environmentInjector=R(vt),this.inputBinder=R(zu,{optional:!0}),this.supportsBindingToComponentInputs=!0}get activatedComponentRef(){return this.activated}ngOnChanges(t){if(t.name){const{firstChange:r,previousValue:o}=t.name;if(r)return;this.isTrackedInParentContexts(o)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(o)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(t){return this.parentContexts.getContext(t)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;const t=this.parentContexts.getContext(this.name);t?.route&&(t.attachRef?this.attach(t.attachRef,t.route):this.activateWith(t.route,t.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new I(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new I(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new I(4012,!1);this.location.detach();const t=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(t.instance),t}attach(t,r){this.activated=t,this._activatedRoute=r,this.location.insert(t.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(t.instance)}deactivate(){if(this.activated){const t=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(t)}}activateWith(t,r){if(this.isActivated)throw new I(4013,!1);this._activatedRoute=t;const o=this.location,s=t.snapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,u=new aL(t,a,o.injector);this.activated=o.createComponent(s,{index:o.length,injector:u,environmentInjector:r??this.environmentInjector}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275dir=z({type:e,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[St]})}return e})();class aL{constructor(n,t,r){this.route=n,this.childContexts=t,this.parent=r}get(n,t){return n===Er?this.route:n===ds?this.childContexts:this.parent.get(n,t)}}const zu=new P("");let Pb=(()=>{class e{constructor(){this.outletDataSubscriptions=new Map}bindActivatedRouteToOutletComponent(t){this.unsubscribeFromRouteData(t),this.subscribeToRouteData(t)}unsubscribeFromRouteData(t){this.outletDataSubscriptions.get(t)?.unsubscribe(),this.outletDataSubscriptions.delete(t)}subscribeToRouteData(t){const{activatedRoute:r}=t,o=Xf([r.queryParams,r.params,r.data]).pipe(Lt(([i,s,a],u)=>(a={...i,...s,...a},0===u?B(a):Promise.resolve(a)))).subscribe(i=>{if(!t.isActivated||!t.activatedComponentRef||t.activatedRoute!==r||null===r.component)return void this.unsubscribeFromRouteData(t);const s=function uO(e){const n=K(e);if(!n)return null;const t=new bi(n);return{get selector(){return t.selector},get type(){return t.componentType},get inputs(){return t.inputs},get outputs(){return t.outputs},get ngContentSelectors(){return t.ngContentSelectors},get isStandalone(){return n.standalone},get isSignal(){return n.signals}}}(r.component);if(s)for(const{templateName:a}of s.inputs)t.activatedComponentRef.setInput(a,i[a]);else this.unsubscribeFromRouteData(t)});this.outletDataSubscriptions.set(t,o)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();function fs(e,n,t){if(t&&e.shouldReuseRoute(n.value,t.value.snapshot)){const r=t.value;r._futureSnapshot=n.value;const o=function cL(e,n,t){return n.children.map(r=>{for(const o of t.children)if(e.shouldReuseRoute(r.value,o.value.snapshot))return fs(e,r,o);return fs(e,r)})}(e,n,t);return new An(r,o)}{if(e.shouldAttach(n.value)){const i=e.retrieve(n.value);if(null!==i){const s=i.route;return s.value._futureSnapshot=n.value,s.children=n.children.map(a=>fs(e,a)),s}}const r=function lL(e){return new Er(new bt(e.url),new bt(e.params),new bt(e.queryParams),new bt(e.fragment),new bt(e.data),e.outlet,e.component,e)}(n.value),o=n.children.map(i=>fs(e,i));return new An(r,o)}}const hh="ngNavigationCancelingError";function Fb(e,n){const{redirectTo:t,navigationBehaviorOptions:r}=br(n)?{redirectTo:n,navigationBehaviorOptions:void 0}:n,o=kb(!1,0,n);return o.url=t,o.navigationBehaviorOptions=r,o}function kb(e,n,t){const r=new Error("NavigationCancelingError: "+(e||""));return r[hh]=!0,r.cancellationCode=n,t&&(r.url=t),r}function Lb(e){return e&&e[hh]}let Vb=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=Tr({type:e,selectors:[["ng-component"]],standalone:!0,features:[gy],decls:1,vars:0,template:function(r,o){1&r&&Pe(0,"router-outlet")},dependencies:[Ob],encapsulation:2})}return e})();function ph(e){const n=e.children&&e.children.map(ph),t=n?{...e,children:n}:{...e};return!t.component&&!t.loadComponent&&(n||t.loadChildren)&&t.outlet&&t.outlet!==Y&&(t.component=Vb),t}function Wt(e){return e.outlet||Y}function hs(e){if(!e)return null;if(e.routeConfig?._injector)return e.routeConfig._injector;for(let n=e.parent;n;n=n.parent){const t=n.routeConfig;if(t?._loadedInjector)return t._loadedInjector;if(t?._injector)return t._injector}return null}class _L{constructor(n,t,r,o,i){this.routeReuseStrategy=n,this.futureState=t,this.currState=r,this.forwardEvent=o,this.inputBindingEnabled=i}activate(n){const t=this.futureState._root,r=this.currState?this.currState._root:null;this.deactivateChildRoutes(t,r,n),dh(this.futureState.root),this.activateChildRoutes(t,r,n)}deactivateChildRoutes(n,t,r){const o=Oo(t);n.children.forEach(i=>{const s=i.value.outlet;this.deactivateRoutes(i,o[s],r),delete o[s]}),Object.values(o).forEach(i=>{this.deactivateRouteAndItsChildren(i,r)})}deactivateRoutes(n,t,r){const o=n.value,i=t?t.value:null;if(o===i)if(o.component){const s=r.getContext(o.outlet);s&&this.deactivateChildRoutes(n,t,s.children)}else this.deactivateChildRoutes(n,t,r);else i&&this.deactivateRouteAndItsChildren(t,r)}deactivateRouteAndItsChildren(n,t){n.value.component&&this.routeReuseStrategy.shouldDetach(n.value.snapshot)?this.detachAndStoreRouteSubtree(n,t):this.deactivateRouteAndOutlet(n,t)}detachAndStoreRouteSubtree(n,t){const r=t.getContext(n.value.outlet),o=r&&n.value.component?r.children:t,i=Oo(n);for(const s of Object.keys(i))this.deactivateRouteAndItsChildren(i[s],o);if(r&&r.outlet){const s=r.outlet.detach(),a=r.children.onOutletDeactivated();this.routeReuseStrategy.store(n.value.snapshot,{componentRef:s,route:n,contexts:a})}}deactivateRouteAndOutlet(n,t){const r=t.getContext(n.value.outlet),o=r&&n.value.component?r.children:t,i=Oo(n);for(const s of Object.keys(i))this.deactivateRouteAndItsChildren(i[s],o);r&&(r.outlet&&(r.outlet.deactivate(),r.children.onOutletDeactivated()),r.attachRef=null,r.route=null)}activateChildRoutes(n,t,r){const o=Oo(t);n.children.forEach(i=>{this.activateRoutes(i,o[i.value.outlet],r),this.forwardEvent(new rL(i.value.snapshot))}),n.children.length&&this.forwardEvent(new tL(n.value.snapshot))}activateRoutes(n,t,r){const o=n.value,i=t?t.value:null;if(dh(o),o===i)if(o.component){const s=r.getOrCreateContext(o.outlet);this.activateChildRoutes(n,t,s.children)}else this.activateChildRoutes(n,t,r);else if(o.component){const s=r.getOrCreateContext(o.outlet);if(this.routeReuseStrategy.shouldAttach(o.snapshot)){const a=this.routeReuseStrategy.retrieve(o.snapshot);this.routeReuseStrategy.store(o.snapshot,null),s.children.onOutletReAttached(a.contexts),s.attachRef=a.componentRef,s.route=a.route.value,s.outlet&&s.outlet.attach(a.componentRef,a.route.value),dh(a.route.value),this.activateChildRoutes(n,null,s.children)}else{const a=hs(o.snapshot);s.attachRef=null,s.route=o,s.injector=a,s.outlet&&s.outlet.activateWith(o,s.injector),this.activateChildRoutes(n,null,s.children)}}else this.activateChildRoutes(n,null,r)}}class jb{constructor(n){this.path=n,this.route=this.path[this.path.length-1]}}class Gu{constructor(n,t){this.component=n,this.route=t}}function yL(e,n,t){const r=e._root;return ps(r,n?n._root:null,t,[r.value])}function Po(e,n){const t=Symbol(),r=n.get(e,t);return r===t?"function"!=typeof e||function _0(e){return null!==Es(e)}(e)?n.get(e):e:r}function ps(e,n,t,r,o={canDeactivateChecks:[],canActivateChecks:[]}){const i=Oo(n);return e.children.forEach(s=>{(function CL(e,n,t,r,o={canDeactivateChecks:[],canActivateChecks:[]}){const i=e.value,s=n?n.value:null,a=t?t.getContext(e.value.outlet):null;if(s&&i.routeConfig===s.routeConfig){const u=function wL(e,n,t){if("function"==typeof t)return t(e,n);switch(t){case"pathParamsChange":return!wr(e.url,n.url);case"pathParamsOrQueryParamsChange":return!wr(e.url,n.url)||!cn(e.queryParams,n.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!fh(e,n)||!cn(e.queryParams,n.queryParams);default:return!fh(e,n)}}(s,i,i.routeConfig.runGuardsAndResolvers);u?o.canActivateChecks.push(new jb(r)):(i.data=s.data,i._resolvedData=s._resolvedData),ps(e,n,i.component?a?a.children:null:t,r,o),u&&a&&a.outlet&&a.outlet.isActivated&&o.canDeactivateChecks.push(new Gu(a.outlet.component,s))}else s&&gs(n,a,o),o.canActivateChecks.push(new jb(r)),ps(e,null,i.component?a?a.children:null:t,r,o)})(s,i[s.value.outlet],t,r.concat([s.value]),o),delete i[s.value.outlet]}),Object.entries(i).forEach(([s,a])=>gs(a,t.getContext(s),o)),o}function gs(e,n,t){const r=Oo(e),o=e.value;Object.entries(r).forEach(([i,s])=>{gs(s,o.component?n?n.children.getContext(i):null:n,t)}),t.canDeactivateChecks.push(new Gu(o.component&&n&&n.outlet&&n.outlet.isActivated?n.outlet.component:null,o))}function ms(e){return"function"==typeof e}function Bb(e){return e instanceof Ou||"EmptyError"===e?.name}const qu=Symbol("INITIAL_VALUE");function Fo(){return Lt(e=>Xf(e.map(n=>n.pipe(Ao(1),function h2(...e){const n=$o(e);return xe((t,r)=>{(n?Jf(e,t,n):Jf(e,t)).subscribe(r)})}(qu)))).pipe(ne(n=>{for(const t of n)if(!0!==t){if(t===qu)return qu;if(!1===t||t instanceof No)return t}return!0}),Tn(n=>n!==qu),Ao(1)))}function $b(e){return function yE(...e){return Sh(e)}(We(n=>{if(br(n))throw Fb(0,n)}),ne(n=>!0===n))}class Wu{constructor(n){this.segmentGroup=n||null}}class Hb{constructor(n){this.urlTree=n}}function ko(e){return ns(new Wu(e))}function Ub(e){return ns(new Hb(e))}class HL{constructor(n,t){this.urlSerializer=n,this.urlTree=t}noMatchError(n){return new I(4002,!1)}lineralizeSegments(n,t){let r=[],o=t.root;for(;;){if(r=r.concat(o.segments),0===o.numberOfChildren)return B(r);if(o.numberOfChildren>1||!o.children[Y])return ns(new I(4e3,!1));o=o.children[Y]}}applyRedirectCommands(n,t,r){return this.applyRedirectCreateUrlTree(t,this.urlSerializer.parse(t),n,r)}applyRedirectCreateUrlTree(n,t,r,o){const i=this.createSegmentGroup(n,t.root,r,o);return new No(i,this.createQueryParams(t.queryParams,this.urlTree.queryParams),t.fragment)}createQueryParams(n,t){const r={};return Object.entries(n).forEach(([o,i])=>{if("string"==typeof i&&i.startsWith(":")){const a=i.substring(1);r[o]=t[a]}else r[o]=i}),r}createSegmentGroup(n,t,r,o){const i=this.createSegments(n,t.segments,r,o);let s={};return Object.entries(t.children).forEach(([a,u])=>{s[a]=this.createSegmentGroup(n,u,r,o)}),new ce(i,s)}createSegments(n,t,r,o){return t.map(i=>i.path.startsWith(":")?this.findPosParam(n,i,o):this.findOrReturn(i,r))}findPosParam(n,t,r){const o=r[t.path.substring(1)];if(!o)throw new I(4001,!1);return o}findOrReturn(n,t){let r=0;for(const o of t){if(o.path===n.path)return t.splice(r),o;r++}return n}}const gh={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function UL(e,n,t,r,o){const i=mh(e,n,t);return i.matched?(r=function fL(e,n){return e.providers&&!e._injector&&(e._injector=wd(e.providers,n,`Route: ${e.path}`)),e._injector??n}(n,r),function jL(e,n,t,r){const o=n.canMatch;return o&&0!==o.length?B(o.map(s=>{const a=Po(s,e);return Jn(function TL(e){return e&&ms(e.canMatch)}(a)?a.canMatch(n,t):e.runInContext(()=>a(n,t)))})).pipe(Fo(),$b()):B(!0)}(r,n,t).pipe(ne(s=>!0===s?i:{...gh}))):B(i)}function mh(e,n,t){if(""===n.path)return"full"===n.pathMatch&&(e.hasChildren()||t.length>0)?{...gh}:{matched:!0,consumedSegments:[],remainingSegments:t,parameters:{},positionalParamSegments:{}};const o=(n.matcher||C2)(t,e,n);if(!o)return{...gh};const i={};Object.entries(o.posParams??{}).forEach(([a,u])=>{i[a]=u.path});const s=o.consumed.length>0?{...i,...o.consumed[o.consumed.length-1].parameters}:i;return{matched:!0,consumedSegments:o.consumed,remainingSegments:t.slice(o.consumed.length),parameters:s,positionalParamSegments:o.posParams??{}}}function zb(e,n,t,r){return t.length>0&&function qL(e,n,t){return t.some(r=>Zu(e,n,r)&&Wt(r)!==Y)}(e,t,r)?{segmentGroup:new ce(n,GL(r,new ce(t,e.children))),slicedSegments:[]}:0===t.length&&function WL(e,n,t){return t.some(r=>Zu(e,n,r))}(e,t,r)?{segmentGroup:new ce(e.segments,zL(e,0,t,r,e.children)),slicedSegments:t}:{segmentGroup:new ce(e.segments,e.children),slicedSegments:t}}function zL(e,n,t,r,o){const i={};for(const s of r)if(Zu(e,t,s)&&!o[Wt(s)]){const a=new ce([],{});i[Wt(s)]=a}return{...o,...i}}function GL(e,n){const t={};t[Y]=n;for(const r of e)if(""===r.path&&Wt(r)!==Y){const o=new ce([],{});t[Wt(r)]=o}return t}function Zu(e,n,t){return(!(e.hasChildren()||n.length>0)||"full"!==t.pathMatch)&&""===t.path}class XL{constructor(n,t,r,o,i,s,a){this.injector=n,this.configLoader=t,this.rootComponentType=r,this.config=o,this.urlTree=i,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.allowRedirects=!0,this.applyRedirects=new HL(this.urlSerializer,this.urlTree)}noMatchError(n){return new I(4002,!1)}recognize(){const n=zb(this.urlTree.root,[],[],this.config).segmentGroup;return this.processSegmentGroup(this.injector,this.config,n,Y).pipe(Cr(t=>{if(t instanceof Hb)return this.allowRedirects=!1,this.urlTree=t.urlTree,this.match(t.urlTree);throw t instanceof Wu?this.noMatchError(t):t}),ne(t=>{const r=new Uu([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,{},Y,this.rootComponentType,null,{}),o=new An(r,t),i=new Nb("",o),s=function $2(e,n,t=null,r=null){return yb(_b(e),n,t,r)}(r,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,i.url=this.urlSerializer.serialize(s),this.inheritParamsAndData(i._root),{state:i,tree:s}}))}match(n){return this.processSegmentGroup(this.injector,this.config,n.root,Y).pipe(Cr(r=>{throw r instanceof Wu?this.noMatchError(r):r}))}inheritParamsAndData(n){const t=n.value,r=xb(t,this.paramsInheritanceStrategy);t.params=Object.freeze(r.params),t.data=Object.freeze(r.data),n.children.forEach(o=>this.inheritParamsAndData(o))}processSegmentGroup(n,t,r,o){return 0===r.segments.length&&r.hasChildren()?this.processChildren(n,t,r):this.processSegment(n,t,r,r.segments,o,!0)}processChildren(n,t,r){const o=[];for(const i of Object.keys(r.children))"primary"===i?o.unshift(i):o.push(i);return Ne(o).pipe(Io(i=>{const s=r.children[i],a=function mL(e,n){const t=e.filter(r=>Wt(r)===n);return t.push(...e.filter(r=>Wt(r)!==n)),t}(t,i);return this.processSegmentGroup(n,a,s,i)}),function m2(e,n){return xe(function g2(e,n,t,r,o){return(i,s)=>{let a=t,u=n,c=0;i.subscribe(Te(s,l=>{const d=c++;u=a?e(u,l,d):(a=!0,l),r&&s.next(u)},o&&(()=>{a&&s.next(u),s.complete()})))}}(e,n,arguments.length>=2,!0))}((i,s)=>(i.push(...s),i)),Pu(null),function v2(e,n){const t=arguments.length>=2;return r=>r.pipe(e?Tn((o,i)=>e(o,i,r)):Nn,eh(1),t?Pu(n):ib(()=>new Ou))}(),Le(i=>{if(null===i)return ko(r);const s=Gb(i);return function JL(e){e.sort((n,t)=>n.value.outlet===Y?-1:t.value.outlet===Y?1:n.value.outlet.localeCompare(t.value.outlet))}(s),B(s)}))}processSegment(n,t,r,o,i,s){return Ne(t).pipe(Io(a=>this.processSegmentAgainstRoute(a._injector??n,t,a,r,o,i,s).pipe(Cr(u=>{if(u instanceof Wu)return B(null);throw u}))),Dr(a=>!!a),Cr(a=>{if(Bb(a))return function YL(e,n,t){return 0===n.length&&!e.children[t]}(r,o,i)?B([]):ko(r);throw a}))}processSegmentAgainstRoute(n,t,r,o,i,s,a){return function ZL(e,n,t,r){return!!(Wt(e)===r||r!==Y&&Zu(n,t,e))&&("**"===e.path||mh(n,e,t).matched)}(r,o,i,s)?void 0===r.redirectTo?this.matchSegmentAgainstRoute(n,o,r,i,s,a):a&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(n,o,t,r,i,s):ko(o):ko(o)}expandSegmentAgainstRouteUsingRedirect(n,t,r,o,i,s){return"**"===o.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(n,r,o,s):this.expandRegularSegmentAgainstRouteUsingRedirect(n,t,r,o,i,s)}expandWildCardWithParamsAgainstRouteUsingRedirect(n,t,r,o){const i=this.applyRedirects.applyRedirectCommands([],r.redirectTo,{});return r.redirectTo.startsWith("/")?Ub(i):this.applyRedirects.lineralizeSegments(r,i).pipe(Le(s=>{const a=new ce(s,{});return this.processSegment(n,t,a,s,o,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(n,t,r,o,i,s){const{matched:a,consumedSegments:u,remainingSegments:c,positionalParamSegments:l}=mh(t,o,i);if(!a)return ko(t);const d=this.applyRedirects.applyRedirectCommands(u,o.redirectTo,l);return o.redirectTo.startsWith("/")?Ub(d):this.applyRedirects.lineralizeSegments(o,d).pipe(Le(g=>this.processSegment(n,r,t,g.concat(c),s,!1)))}matchSegmentAgainstRoute(n,t,r,o,i,s){let a;if("**"===r.path){const u=o.length>0?ab(o).parameters:{};a=B({snapshot:new Uu(o,u,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,qb(r),Wt(r),r.component??r._loadedComponent??null,r,Wb(r)),consumedSegments:[],remainingSegments:[]}),t.children={}}else a=UL(t,r,o,n).pipe(ne(({matched:u,consumedSegments:c,remainingSegments:l,parameters:d})=>u?{snapshot:new Uu(c,d,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,qb(r),Wt(r),r.component??r._loadedComponent??null,r,Wb(r)),consumedSegments:c,remainingSegments:l}:null));return a.pipe(Lt(u=>null===u?ko(t):this.getChildConfig(n=r._injector??n,r,o).pipe(Lt(({routes:c})=>{const l=r._loadedInjector??n,{snapshot:d,consumedSegments:g,remainingSegments:v}=u,{segmentGroup:_,slicedSegments:y}=zb(t,g,v,c);if(0===y.length&&_.hasChildren())return this.processChildren(l,c,_).pipe(ne(M=>null===M?null:[new An(d,M)]));if(0===c.length&&0===y.length)return B([new An(d,[])]);const C=Wt(r)===i;return this.processSegment(l,c,_,y,C?Y:i,!0).pipe(ne(M=>[new An(d,M)]))}))))}getChildConfig(n,t,r){return t.children?B({routes:t.children,injector:n}):t.loadChildren?void 0!==t._loadedRoutes?B({routes:t._loadedRoutes,injector:t._loadedInjector}):function VL(e,n,t,r){const o=n.canLoad;return void 0===o||0===o.length?B(!0):B(o.map(s=>{const a=Po(s,e);return Jn(function EL(e){return e&&ms(e.canLoad)}(a)?a.canLoad(n,t):e.runInContext(()=>a(n,t)))})).pipe(Fo(),$b())}(n,t,r).pipe(Le(o=>o?this.configLoader.loadChildren(n,t).pipe(We(i=>{t._loadedRoutes=i.routes,t._loadedInjector=i.injector})):function $L(e){return ns(kb(!1,3))}())):B({routes:[],injector:n})}}function KL(e){const n=e.value.routeConfig;return n&&""===n.path}function Gb(e){const n=[],t=new Set;for(const r of e){if(!KL(r)){n.push(r);continue}const o=n.find(i=>r.value.routeConfig===i.value.routeConfig);void 0!==o?(o.children.push(...r.children),t.add(o)):n.push(r)}for(const r of t){const o=Gb(r.children);n.push(new An(r.value,o))}return n.filter(r=>!t.has(r))}function qb(e){return e.data||{}}function Wb(e){return e.resolve||{}}function Zb(e){return"string"==typeof e.title||null===e.title}function vh(e){return Lt(n=>{const t=e(n);return t?Ne(t).pipe(ne(()=>n)):B(n)})}const Lo=new P("ROUTES");let _h=(()=>{class e{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=R(uD)}loadComponent(t){if(this.componentLoaders.get(t))return this.componentLoaders.get(t);if(t._loadedComponent)return B(t._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(t);const r=Jn(t.loadComponent()).pipe(ne(Yb),We(i=>{this.onLoadEndListener&&this.onLoadEndListener(t),t._loadedComponent=i}),qi(()=>{this.componentLoaders.delete(t)})),o=new ob(r,()=>new kt).pipe(Kf());return this.componentLoaders.set(t,o),o}loadChildren(t,r){if(this.childrenLoaders.get(r))return this.childrenLoaders.get(r);if(r._loadedRoutes)return B({routes:r._loadedRoutes,injector:r._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(r);const i=function sV(e,n,t,r){return Jn(e.loadChildren()).pipe(ne(Yb),Le(o=>o instanceof hy||Array.isArray(o)?B(o):Ne(n.compileModuleAsync(o))),ne(o=>{r&&r(e);let i,s,a=!1;return Array.isArray(o)?(s=o,!0):(i=o.create(t).injector,s=i.get(Lo,[],{optional:!0,self:!0}).flat()),{routes:s.map(ph),injector:i}}))}(r,this.compiler,t,this.onLoadEndListener).pipe(qi(()=>{this.childrenLoaders.delete(r)})),s=new ob(i,()=>new kt).pipe(Kf());return this.childrenLoaders.set(r,s),s}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Yb(e){return function aV(e){return e&&"object"==typeof e&&"default"in e}(e)?e.default:e}let Yu=(()=>{class e{get hasRequestedNavigation(){return 0!==this.navigationId}constructor(){this.currentNavigation=null,this.currentTransition=null,this.lastSuccessfulNavigation=null,this.events=new kt,this.transitionAbortSubject=new kt,this.configLoader=R(_h),this.environmentInjector=R(vt),this.urlSerializer=R(is),this.rootContexts=R(ds),this.inputBindingEnabled=null!==R(zu,{optional:!0}),this.navigationId=0,this.afterPreactivation=()=>B(void 0),this.rootComponentType=null,this.configLoader.onLoadEndListener=o=>this.events.next(new K2(o)),this.configLoader.onLoadStartListener=o=>this.events.next(new J2(o))}complete(){this.transitions?.complete()}handleNavigationRequest(t){const r=++this.navigationId;this.transitions?.next({...this.transitions.value,...t,id:r})}setupNavigations(t,r,o){return this.transitions=new bt({id:0,currentUrlTree:r,currentRawUrl:r,currentBrowserUrl:r,extractedUrl:t.urlHandlingStrategy.extract(r),urlAfterRedirects:t.urlHandlingStrategy.extract(r),rawUrl:r,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:cs,restoredState:null,currentSnapshot:o.snapshot,targetSnapshot:null,currentRouterState:o,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe(Tn(i=>0!==i.id),ne(i=>({...i,extractedUrl:t.urlHandlingStrategy.extract(i.rawUrl)})),Lt(i=>{this.currentTransition=i;let s=!1,a=!1;return B(i).pipe(We(u=>{this.currentNavigation={id:u.id,initialUrl:u.rawUrl,extractedUrl:u.extractedUrl,trigger:u.source,extras:u.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null}}),Lt(u=>{const c=u.currentBrowserUrl.toString(),l=!t.navigated||u.extractedUrl.toString()!==c||c!==u.currentUrlTree.toString();if(!l&&"reload"!==(u.extras.onSameUrlNavigation??t.onSameUrlNavigation)){const g="";return this.events.next(new Ro(u.id,this.urlSerializer.serialize(u.rawUrl),g,0)),u.resolve(null),Zt}if(t.urlHandlingStrategy.shouldProcessUrl(u.rawUrl))return B(u).pipe(Lt(g=>{const v=this.transitions?.getValue();return this.events.next(new $u(g.id,this.urlSerializer.serialize(g.extractedUrl),g.source,g.restoredState)),v!==this.transitions?.getValue()?Zt:Promise.resolve(g)}),function eV(e,n,t,r,o,i){return Le(s=>function QL(e,n,t,r,o,i,s="emptyOnly"){return new XL(e,n,t,r,o,s,i).recognize()}(e,n,t,r,s.extractedUrl,o,i).pipe(ne(({state:a,tree:u})=>({...s,targetSnapshot:a,urlAfterRedirects:u}))))}(this.environmentInjector,this.configLoader,this.rootComponentType,t.config,this.urlSerializer,t.paramsInheritanceStrategy),We(g=>{i.targetSnapshot=g.targetSnapshot,i.urlAfterRedirects=g.urlAfterRedirects,this.currentNavigation={...this.currentNavigation,finalUrl:g.urlAfterRedirects};const v=new Ib(g.id,this.urlSerializer.serialize(g.extractedUrl),this.urlSerializer.serialize(g.urlAfterRedirects),g.targetSnapshot);this.events.next(v)}));if(l&&t.urlHandlingStrategy.shouldProcessUrl(u.currentRawUrl)){const{id:g,extractedUrl:v,source:_,restoredState:y,extras:C}=u,M=new $u(g,this.urlSerializer.serialize(v),_,y);this.events.next(M);const D=Ab(0,this.rootComponentType).snapshot;return this.currentTransition=i={...u,targetSnapshot:D,urlAfterRedirects:v,extras:{...C,skipLocationChange:!1,replaceUrl:!1}},B(i)}{const g="";return this.events.next(new Ro(u.id,this.urlSerializer.serialize(u.extractedUrl),g,1)),u.resolve(null),Zt}}),We(u=>{const c=new Z2(u.id,this.urlSerializer.serialize(u.extractedUrl),this.urlSerializer.serialize(u.urlAfterRedirects),u.targetSnapshot);this.events.next(c)}),ne(u=>(this.currentTransition=i={...u,guards:yL(u.targetSnapshot,u.currentSnapshot,this.rootContexts)},i)),function xL(e,n){return Le(t=>{const{targetSnapshot:r,currentSnapshot:o,guards:{canActivateChecks:i,canDeactivateChecks:s}}=t;return 0===s.length&&0===i.length?B({...t,guardsResult:!0}):function NL(e,n,t,r){return Ne(e).pipe(Le(o=>function LL(e,n,t,r,o){const i=n&&n.routeConfig?n.routeConfig.canDeactivate:null;return i&&0!==i.length?B(i.map(a=>{const u=hs(n)??o,c=Po(a,u);return Jn(function SL(e){return e&&ms(e.canDeactivate)}(c)?c.canDeactivate(e,n,t,r):u.runInContext(()=>c(e,n,t,r))).pipe(Dr())})).pipe(Fo()):B(!0)}(o.component,o.route,t,n,r)),Dr(o=>!0!==o,!0))}(s,r,o,e).pipe(Le(a=>a&&function bL(e){return"boolean"==typeof e}(a)?function RL(e,n,t,r){return Ne(n).pipe(Io(o=>Jf(function PL(e,n){return null!==e&&n&&n(new eL(e)),B(!0)}(o.route.parent,r),function OL(e,n){return null!==e&&n&&n(new nL(e)),B(!0)}(o.route,r),function kL(e,n,t){const r=n[n.length-1],i=n.slice(0,n.length-1).reverse().map(s=>function DL(e){const n=e.routeConfig?e.routeConfig.canActivateChild:null;return n&&0!==n.length?{node:e,guards:n}:null}(s)).filter(s=>null!==s).map(s=>rb(()=>B(s.guards.map(u=>{const c=hs(s.node)??t,l=Po(u,c);return Jn(function ML(e){return e&&ms(e.canActivateChild)}(l)?l.canActivateChild(r,e):c.runInContext(()=>l(r,e))).pipe(Dr())})).pipe(Fo())));return B(i).pipe(Fo())}(e,o.path,t),function FL(e,n,t){const r=n.routeConfig?n.routeConfig.canActivate:null;if(!r||0===r.length)return B(!0);const o=r.map(i=>rb(()=>{const s=hs(n)??t,a=Po(i,s);return Jn(function IL(e){return e&&ms(e.canActivate)}(a)?a.canActivate(n,e):s.runInContext(()=>a(n,e))).pipe(Dr())}));return B(o).pipe(Fo())}(e,o.route,t))),Dr(o=>!0!==o,!0))}(r,i,e,n):B(a)),ne(a=>({...t,guardsResult:a})))})}(this.environmentInjector,u=>this.events.next(u)),We(u=>{if(i.guardsResult=u.guardsResult,br(u.guardsResult))throw Fb(0,u.guardsResult);const c=new Y2(u.id,this.urlSerializer.serialize(u.extractedUrl),this.urlSerializer.serialize(u.urlAfterRedirects),u.targetSnapshot,!!u.guardsResult);this.events.next(c)}),Tn(u=>!!u.guardsResult||(this.cancelNavigationTransition(u,"",3),!1)),vh(u=>{if(u.guards.canActivateChecks.length)return B(u).pipe(We(c=>{const l=new Q2(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(l)}),Lt(c=>{let l=!1;return B(c).pipe(function tV(e,n){return Le(t=>{const{targetSnapshot:r,guards:{canActivateChecks:o}}=t;if(!o.length)return B(t);let i=0;return Ne(o).pipe(Io(s=>function nV(e,n,t,r){const o=e.routeConfig,i=e._resolve;return void 0!==o?.title&&!Zb(o)&&(i[rs]=o.title),function rV(e,n,t,r){const o=function oV(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e)]}(e);if(0===o.length)return B({});const i={};return Ne(o).pipe(Le(s=>function iV(e,n,t,r){const o=hs(n)??r,i=Po(e,o);return Jn(i.resolve?i.resolve(n,t):o.runInContext(()=>i(n,t)))}(e[s],n,t,r).pipe(Dr(),We(a=>{i[s]=a}))),eh(1),function _2(e){return ne(()=>e)}(i),Cr(s=>Bb(s)?Zt:ns(s)))}(i,e,n,r).pipe(ne(s=>(e._resolvedData=s,e.data=xb(e,t).resolve,o&&Zb(o)&&(e.data[rs]=o.title),null)))}(s.route,r,e,n)),We(()=>i++),eh(1),Le(s=>i===o.length?B(t):Zt))})}(t.paramsInheritanceStrategy,this.environmentInjector),We({next:()=>l=!0,complete:()=>{l||this.cancelNavigationTransition(c,"",2)}}))}),We(c=>{const l=new X2(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(l)}))}),vh(u=>{const c=l=>{const d=[];l.routeConfig?.loadComponent&&!l.routeConfig._loadedComponent&&d.push(this.configLoader.loadComponent(l.routeConfig).pipe(We(g=>{l.component=g}),ne(()=>{})));for(const g of l.children)d.push(...c(g));return d};return Xf(c(u.targetSnapshot.root)).pipe(Pu(),Ao(1))}),vh(()=>this.afterPreactivation()),ne(u=>{const c=function uL(e,n,t){const r=fs(e,n._root,t?t._root:void 0);return new Tb(r,n)}(t.routeReuseStrategy,u.targetSnapshot,u.currentRouterState);return this.currentTransition=i={...u,targetRouterState:c},i}),We(()=>{this.events.next(new sh)}),((e,n,t,r)=>ne(o=>(new _L(n,o.targetRouterState,o.currentRouterState,t,r).activate(e),o)))(this.rootContexts,t.routeReuseStrategy,u=>this.events.next(u),this.inputBindingEnabled),Ao(1),We({next:u=>{s=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new Kn(u.id,this.urlSerializer.serialize(u.extractedUrl),this.urlSerializer.serialize(u.urlAfterRedirects))),t.titleStrategy?.updateTitle(u.targetRouterState.snapshot),u.resolve(!0)},complete:()=>{s=!0}}),function y2(e){return xe((n,t)=>{dt(e).subscribe(Te(t,()=>t.complete(),Ju)),!t.closed&&n.subscribe(t)})}(this.transitionAbortSubject.pipe(We(u=>{throw u}))),qi(()=>{s||a||this.cancelNavigationTransition(i,"",1),this.currentNavigation?.id===i.id&&(this.currentNavigation=null)}),Cr(u=>{if(a=!0,Lb(u))this.events.next(new ls(i.id,this.urlSerializer.serialize(i.extractedUrl),u.message,u.cancellationCode)),function dL(e){return Lb(e)&&br(e.url)}(u)?this.events.next(new ah(u.url)):i.resolve(!1);else{this.events.next(new Hu(i.id,this.urlSerializer.serialize(i.extractedUrl),u,i.targetSnapshot??void 0));try{i.resolve(t.errorHandler(u))}catch(c){i.reject(c)}}return Zt}))}))}cancelNavigationTransition(t,r,o){const i=new ls(t.id,this.urlSerializer.serialize(t.extractedUrl),r,o);this.events.next(i),t.resolve(!1)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Qb(e){return e!==cs}let Xb=(()=>{class e{buildTitle(t){let r,o=t.root;for(;void 0!==o;)r=this.getResolvedTitleForRoute(o)??r,o=o.children.find(i=>i.outlet===Y);return r}getResolvedTitleForRoute(t){return t.data[rs]}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:function(){return R(uV)},providedIn:"root"})}return e})(),uV=(()=>{class e extends Xb{constructor(t){super(),this.title=t}updateTitle(t){const r=this.buildTitle(t);void 0!==r&&this.title.setTitle(r)}static#e=this.\u0275fac=function(r){return new(r||e)(k(TC))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),cV=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:function(){return R(dV)},providedIn:"root"})}return e})();class lV{shouldDetach(n){return!1}store(n,t){}shouldAttach(n){return!1}retrieve(n){return null}shouldReuseRoute(n,t){return n.routeConfig===t.routeConfig}}let dV=(()=>{class e extends lV{static#e=this.\u0275fac=function(){let t;return function(o){return(t||(t=He(e)))(o||e)}}();static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const Qu=new P("",{providedIn:"root",factory:()=>({})});let fV=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:function(){return R(hV)},providedIn:"root"})}return e})(),hV=(()=>{class e{shouldProcessUrl(t){return!0}extract(t){return t}merge(t,r){return t}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var vs=function(e){return e[e.COMPLETE=0]="COMPLETE",e[e.FAILED=1]="FAILED",e[e.REDIRECTING=2]="REDIRECTING",e}(vs||{});function Jb(e,n){e.events.pipe(Tn(t=>t instanceof Kn||t instanceof ls||t instanceof Hu||t instanceof Ro),ne(t=>t instanceof Kn||t instanceof Ro?vs.COMPLETE:t instanceof ls&&(0===t.code||1===t.code)?vs.REDIRECTING:vs.FAILED),Tn(t=>t!==vs.REDIRECTING),Ao(1)).subscribe(()=>{n()})}function pV(e){throw e}function gV(e,n,t){return n.parse("/")}const mV={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},vV={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let Ft=(()=>{class e{get navigationId(){return this.navigationTransitions.navigationId}get browserPageId(){return"computed"!==this.canceledNavigationResolution?this.currentPageId:this.location.getState()?.\u0275routerPageId??this.currentPageId}get events(){return this._events}constructor(){this.disposed=!1,this.currentPageId=0,this.console=R(aD),this.isNgZoneEnabled=!1,this._events=new kt,this.options=R(Qu,{optional:!0})||{},this.pendingTasks=R(qa),this.errorHandler=this.options.errorHandler||pV,this.malformedUriErrorHandler=this.options.malformedUriErrorHandler||gV,this.navigated=!1,this.lastSuccessfulId=-1,this.urlHandlingStrategy=R(fV),this.routeReuseStrategy=R(cV),this.titleStrategy=R(Xb),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.config=R(Lo,{optional:!0})?.flat()??[],this.navigationTransitions=R(Yu),this.urlSerializer=R(is),this.location=R(ef),this.componentInputBindingEnabled=!!R(zu,{optional:!0}),this.eventsSubscription=new lt,this.isNgZoneEnabled=R(ge)instanceof ge&&ge.isInAngularZone(),this.resetConfig(this.config),this.currentUrlTree=new No,this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.routerState=Ab(0,null),this.navigationTransitions.setupNavigations(this,this.currentUrlTree,this.routerState).subscribe(t=>{this.lastSuccessfulId=t.id,this.currentPageId=this.browserPageId},t=>{this.console.warn(`Unhandled Navigation Error: ${t}`)}),this.subscribeToNavigationEvents()}subscribeToNavigationEvents(){const t=this.navigationTransitions.events.subscribe(r=>{try{const{currentTransition:o}=this.navigationTransitions;if(null===o)return void(Kb(r)&&this._events.next(r));if(r instanceof $u)Qb(o.source)&&(this.browserUrlTree=o.extractedUrl);else if(r instanceof Ro)this.rawUrlTree=o.rawUrl;else if(r instanceof Ib){if("eager"===this.urlUpdateStrategy){if(!o.extras.skipLocationChange){const i=this.urlHandlingStrategy.merge(o.urlAfterRedirects,o.rawUrl);this.setBrowserUrl(i,o)}this.browserUrlTree=o.urlAfterRedirects}}else if(r instanceof sh)this.currentUrlTree=o.urlAfterRedirects,this.rawUrlTree=this.urlHandlingStrategy.merge(o.urlAfterRedirects,o.rawUrl),this.routerState=o.targetRouterState,"deferred"===this.urlUpdateStrategy&&(o.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,o),this.browserUrlTree=o.urlAfterRedirects);else if(r instanceof ls)0!==r.code&&1!==r.code&&(this.navigated=!0),(3===r.code||2===r.code)&&this.restoreHistory(o);else if(r instanceof ah){const i=this.urlHandlingStrategy.merge(r.url,o.currentRawUrl),s={skipLocationChange:o.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy||Qb(o.source)};this.scheduleNavigation(i,cs,null,s,{resolve:o.resolve,reject:o.reject,promise:o.promise})}r instanceof Hu&&this.restoreHistory(o,!0),r instanceof Kn&&(this.navigated=!0),Kb(r)&&this._events.next(r)}catch(o){this.navigationTransitions.transitionAbortSubject.next(o)}});this.eventsSubscription.add(t)}resetRootComponentType(t){this.routerState.root.component=t,this.navigationTransitions.rootComponentType=t}initialNavigation(){if(this.setUpLocationChangeListener(),!this.navigationTransitions.hasRequestedNavigation){const t=this.location.getState();this.navigateToSyncWithBrowser(this.location.path(!0),cs,t)}}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(t=>{const r="popstate"===t.type?"popstate":"hashchange";"popstate"===r&&setTimeout(()=>{this.navigateToSyncWithBrowser(t.url,r,t.state)},0)}))}navigateToSyncWithBrowser(t,r,o){const i={replaceUrl:!0},s=o?.navigationId?o:null;if(o){const u={...o};delete u.navigationId,delete u.\u0275routerPageId,0!==Object.keys(u).length&&(i.state=u)}const a=this.parseUrl(t);this.scheduleNavigation(a,r,s,i)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(t){this.config=t.map(ph),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(t,r={}){const{relativeTo:o,queryParams:i,fragment:s,queryParamsHandling:a,preserveFragment:u}=r,c=u?this.currentUrlTree.fragment:s;let d,l=null;switch(a){case"merge":l={...this.currentUrlTree.queryParams,...i};break;case"preserve":l=this.currentUrlTree.queryParams;break;default:l=i||null}null!==l&&(l=this.removeEmptyProps(l));try{d=_b(o?o.snapshot:this.routerState.snapshot.root)}catch{("string"!=typeof t[0]||!t[0].startsWith("/"))&&(t=[]),d=this.currentUrlTree.root}return yb(d,t,l,c??null)}navigateByUrl(t,r={skipLocationChange:!1}){const o=br(t)?t:this.parseUrl(t),i=this.urlHandlingStrategy.merge(o,this.rawUrlTree);return this.scheduleNavigation(i,cs,null,r)}navigate(t,r={skipLocationChange:!1}){return function _V(e){for(let n=0;n{const i=t[o];return null!=i&&(r[o]=i),r},{})}scheduleNavigation(t,r,o,i,s){if(this.disposed)return Promise.resolve(!1);let a,u,c;s?(a=s.resolve,u=s.reject,c=s.promise):c=new Promise((d,g)=>{a=d,u=g});const l=this.pendingTasks.add();return Jb(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(l))}),this.navigationTransitions.handleNavigationRequest({source:r,restoredState:o,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,currentBrowserUrl:this.browserUrlTree,rawUrl:t,extras:i,resolve:a,reject:u,promise:c,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),c.catch(d=>Promise.reject(d))}setBrowserUrl(t,r){const o=this.urlSerializer.serialize(t);if(this.location.isCurrentPathEqualTo(o)||r.extras.replaceUrl){const s={...r.extras.state,...this.generateNgRouterState(r.id,this.browserPageId)};this.location.replaceState(o,"",s)}else{const i={...r.extras.state,...this.generateNgRouterState(r.id,this.browserPageId+1)};this.location.go(o,"",i)}}restoreHistory(t,r=!1){if("computed"===this.canceledNavigationResolution){const i=this.currentPageId-this.browserPageId;0!==i?this.location.historyGo(i):this.currentUrlTree===this.getCurrentNavigation()?.finalUrl&&0===i&&(this.resetState(t),this.browserUrlTree=t.currentUrlTree,this.resetUrlToCurrentUrlTree())}else"replace"===this.canceledNavigationResolution&&(r&&this.resetState(t),this.resetUrlToCurrentUrlTree())}resetState(t){this.routerState=t.currentRouterState,this.currentUrlTree=t.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,t.rawUrl)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(t,r){return"computed"===this.canceledNavigationResolution?{navigationId:t,\u0275routerPageId:r}:{navigationId:t}}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Kb(e){return!(e instanceof sh||e instanceof ah)}class eE{}let CV=(()=>{class e{constructor(t,r,o,i,s){this.router=t,this.injector=o,this.preloadingStrategy=i,this.loader=s}setUpPreloading(){this.subscription=this.router.events.pipe(Tn(t=>t instanceof Kn),Io(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(t,r){const o=[];for(const i of r){i.providers&&!i._injector&&(i._injector=wd(i.providers,t,`Route: ${i.path}`));const s=i._injector??t,a=i._loadedInjector??s;(i.loadChildren&&!i._loadedRoutes&&void 0===i.canLoad||i.loadComponent&&!i._loadedComponent)&&o.push(this.preloadConfig(s,i)),(i.children||i._loadedRoutes)&&o.push(this.processRoutes(a,i.children??i._loadedRoutes))}return Ne(o).pipe(Mr())}preloadConfig(t,r){return this.preloadingStrategy.preload(r,()=>{let o;o=r.loadChildren&&void 0===r.canLoad?this.loader.loadChildren(t,r):B(null);const i=o.pipe(Le(s=>null===s?B(void 0):(r._loadedRoutes=s.routes,r._loadedInjector=s.injector,this.processRoutes(s.injector??t,s.routes))));return r.loadComponent&&!r._loadedComponent?Ne([i,this.loader.loadComponent(r)]).pipe(Mr()):i})}static#e=this.\u0275fac=function(r){return new(r||e)(k(Ft),k(uD),k(vt),k(eE),k(_h))};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const Dh=new P("");let tE=(()=>{class e{constructor(t,r,o,i,s={}){this.urlSerializer=t,this.transitions=r,this.viewportScroller=o,this.zone=i,this.options=s,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},s.scrollPositionRestoration=s.scrollPositionRestoration||"disabled",s.anchorScrolling=s.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(t=>{t instanceof $u?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=t.navigationTrigger,this.restoredId=t.restoredState?t.restoredState.navigationId:0):t instanceof Kn?(this.lastId=t.id,this.scheduleScrollEvent(t,this.urlSerializer.parse(t.urlAfterRedirects).fragment)):t instanceof Ro&&0===t.code&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(t,this.urlSerializer.parse(t.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(t=>{t instanceof Mb&&(t.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(t.position):t.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(t.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(t,r){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new Mb(t,"popstate"===this.lastSource?this.store[this.restoredId]:null,r))})},0)})}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}static#e=this.\u0275fac=function(r){!function ev(){throw new Error("invalid")}()};static#t=this.\u0275prov=V({token:e,factory:e.\u0275fac})}return e})();function xn(e,n){return{\u0275kind:e,\u0275providers:n}}function rE(){const e=R(yt);return n=>{const t=e.get(wo);if(n!==t.components[0])return;const r=e.get(Ft),o=e.get(oE);1===e.get(Ch)&&r.initialNavigation(),e.get(iE,null,X.Optional)?.setUpPreloading(),e.get(Dh,null,X.Optional)?.init(),r.resetRootComponentType(t.componentTypes[0]),o.closed||(o.next(),o.complete(),o.unsubscribe())}}const oE=new P("",{factory:()=>new kt}),Ch=new P("",{providedIn:"root",factory:()=>1}),iE=new P("");function IV(e){return xn(0,[{provide:iE,useExisting:CV},{provide:eE,useExisting:e}])}const sE=new P("ROUTER_FORROOT_GUARD"),SV=[ef,{provide:is,useClass:th},Ft,ds,{provide:Er,useFactory:function nE(e){return e.routerState.root},deps:[Ft]},_h,[]];function TV(){return new gD("Router",Ft)}let aE=(()=>{class e{constructor(t){}static forRoot(t,r){return{ngModule:e,providers:[SV,[],{provide:Lo,multi:!0,useValue:t},{provide:sE,useFactory:RV,deps:[[Ft,new Zs,new Ys]]},{provide:Qu,useValue:r||{}},r?.useHash?{provide:gr,useClass:hO}:{provide:gr,useClass:GD},{provide:Dh,useFactory:()=>{const e=R(NP),n=R(ge),t=R(Qu),r=R(Yu),o=R(is);return t.scrollOffset&&e.setOffset(t.scrollOffset),new tE(o,r,e,n,t)}},r?.preloadingStrategy?IV(r.preloadingStrategy).\u0275providers:[],{provide:gD,multi:!0,useFactory:TV},r?.initialNavigation?OV(r):[],r?.bindToComponentInputs?xn(8,[Pb,{provide:zu,useExisting:Pb}]).\u0275providers:[],[{provide:uE,useFactory:rE},{provide:zd,multi:!0,useExisting:uE}]]}}static forChild(t){return{ngModule:e,providers:[{provide:Lo,multi:!0,useValue:t}]}}static#e=this.\u0275fac=function(r){return new(r||e)(k(sE,8))};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({})}return e})();function RV(e){return"guarded"}function OV(e){return["disabled"===e.initialNavigation?xn(3,[{provide:kd,multi:!0,useFactory:()=>{const n=R(Ft);return()=>{n.setUpLocationChangeListener()}}},{provide:Ch,useValue:2}]).\u0275providers:[],"enabledBlocking"===e.initialNavigation?xn(2,[{provide:Ch,useValue:0},{provide:kd,multi:!0,deps:[yt],useFactory:n=>{const t=n.get(dO,Promise.resolve());return()=>t.then(()=>new Promise(r=>{const o=n.get(Ft),i=n.get(oE);Jb(o,()=>{r(!0)}),n.get(Yu).afterPreactivation=()=>(r(!0),i.closed?B(void 0):i),o.initialNavigation()}))}}]).\u0275providers:[]]}const uE=new P(""),FV=[];let kV=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=It({type:e});static#n=this.\u0275inj=ht({imports:[aE.forRoot(FV),aE]})}return e})();class cE{constructor(n={}){this.term=n.term||""}}function LV(e,n){if(1&e&&(h(0,"li"),p(1),f()),2&e){const t=n.$implicit;m(1),T(t.id)}}function VV(e,n){if(1&e&&(h(0,"div",23)(1,"ul"),A(2,LV,2,1,"li",3),f()()),2&e){const t=E(3).$implicit;m(2),S("ngForOf",t.inputs)}}function jV(e,n){if(1&e&&(h(0,"div")(1,"div",24)(2,"p",18)(3,"a",12),p(4),f(),h(5,"button",19),p(6),f()()()()),2&e){const t=n.$implicit;m(3),F("href","/explorer?term=",t.to,"",L),m(1),T(t.to),m(2),x("",t.value.toFixed(6)," YDA")}}function BV(e,n){if(1&e){const t=Rt();h(0,"div")(1,"div",11)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",12),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",12),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Time: "),f(),p(15),f(),h(16,"p")(17,"strong"),p(18,"Fee: "),f(),p(19),f(),h(20,"p")(21,"strong"),p(22,"Inputs:"),f(),p(23),f(),h(24,"div",13)(25,"button",14),re("click",function(){return Tt(t),At(E(3).toggleAccordion("inputsAccordion"))}),p(26,"Show Inputs"),f(),A(27,VV,3,1,"div",15),f(),h(28,"p")(29,"strong"),p(30,"Outputs:"),f(),p(31),f(),h(32,"div",16)(33,"div",17)(34,"p",18)(35,"a",12),p(36),f(),h(37,"button",19),p(38),f()()()(),h(39,"div",20),Pe(40,"img",21),f(),h(41,"div",22),A(42,jV,7,3,"div",3),f()()()}if(2&e){const t=E(2).$implicit,r=E();m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",r.dateFormatService.formatTransactionTime(t.time),""),m(4),x(" ",t.fee," YDA"),m(4),x(" ",t.inputs.length,""),m(4),S("ngIf","inputsAccordion"===r.showAccordion),m(4),x(" ",t.outputs.length,""),m(4),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),m(1),T(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to),m(2),x("",r.getTotalValue(t.outputs).toFixed(6)," YDA"),m(4),S("ngForOf",t.outputs)}}function $V(e,n){if(1&e&&(h(0,"div")(1,"div",11)(2,"p")(3,"strong"),p(4,"Relationship Identifier:"),f(),p(5),f(),h(6,"div",25)(7,"h4",26),p(8,"Relationship DATA:"),f(),h(9,"textarea",27),p(10),f()(),h(11,"div",16)(12,"div",24)(13,"button",28),p(14,"Newly created Address"),f(),h(15,"p",29)(16,"a",12),p(17),f()()()()()()),2&e){const t=E(2).$implicit;m(5),x(" ",t.rid,""),m(5),T(t.relationship),m(6),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),m(1),T(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function HV(e,n){if(1&e&&(h(0,"div")(1,"div",11)(2,"p")(3,"strong"),p(4,"Relationship Identifier:"),f(),p(5),f(),h(6,"div",25)(7,"h4",26),p(8,"Relationship DATA:"),f(),h(9,"textarea",27),p(10),f()()()()),2&e){const t=E(2).$implicit;m(5),x(" ",t.rid,""),m(5),T(t.relationship)}}function UV(e,n){if(1&e&&(h(0,"div")(1,"div",11)(2,"p")(3,"strong"),p(4,"Relationship Identifier:"),f(),p(5),f(),h(6,"div",25)(7,"h4",26),p(8,"Relationship DATA:"),f(),h(9,"textarea",27),p(10),f()()()()),2&e){const t=E(2).$implicit;m(5),x(" ",t.rid,""),m(5),T(t.relationship)}}function zV(e,n){if(1&e&&(h(0,"tr",7)(1,"td",8)(2,"div")(3,"h2",9),p(4,"Transaction Details"),f(),A(5,BV,43,13,"div",10),A(6,$V,18,4,"div",10),A(7,HV,11,2,"div",10),A(8,UV,11,2,"div",10),f()()()),2&e){const t=E().$implicit,r=E();m(5),S("ngIf",r.transactionUtilsService.isTransferTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isCreateIdentityTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isEncryptedMessageTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isMessageTransaction(t))}}const GV=function(e,n,t,r){return{transfer:e,"create-identity":n,"encrypted-message":t,message:r}};function qV(e,n){if(1&e){const t=Rt();$n(0),h(1,"tr",4),re("click",function(){const i=Tt(t).$implicit;return At(E().toggleDetails(i))}),h(2,"td"),p(3),f(),h(4,"td"),p(5),f(),h(6,"td")(7,"button",5),p(8),f()(),h(9,"td"),p(10),f(),h(11,"td"),p(12),f()(),A(13,zV,9,4,"tr",6),Hn()}if(2&e){const t=n.$implicit,r=E();m(3),T(r.dateFormatService.formatTransactionTime(t.time)),m(2),T(t.hash),m(2),S("ngClass",wy(7,GV,r.transactionUtilsService.isTransferTransaction(t),r.transactionUtilsService.isCreateIdentityTransaction(t),r.transactionUtilsService.isEncryptedMessageTransaction(t),r.transactionUtilsService.isMessageTransaction(t))),m(1),x(" ",r.transactionUtilsService.getTransactionType(t)," "),m(2),T(t.inputs.length),m(2),T(t.outputs.length),m(1),S("ngIf",r.expandedTransaction&&r.expandedTransaction.id===t.id)}}let WV=(()=>{class e{constructor(t,r,o){this.httpClient=t,this.dateFormatService=r,this.transactionUtilsService=o,this.mempoolData=[],this.expandedTransaction=null,this.result=[],this.showAccordion=null}ngOnInit(){this.httpClient.get("/explorer-mempool").subscribe(t=>{this.mempoolData=t.result||[]},t=>{console.error("Error fetching mempool data:",t)})}toggleDetails(t){this.expandedTransaction=this.expandedTransaction===t?null:t}getTotalValue(t){return t.reduce((r,o)=>r+o.value,0)}toggleAccordion(t){this.showAccordion=this.showAccordion===t?null:t}static#e=this.\u0275fac=function(r){return new(r||e)(b(Zi),b(Nu),b(Ru))};static#t=this.\u0275cmp=Tr({type:e,selectors:[["app-mempool"]],decls:18,vars:1,consts:[[2,"text-transform","uppercase","margin","10px","margin-top","20px"],[1,"blocks-container"],[1,"blocks-table"],[4,"ngFor","ngForOf"],[3,"click"],[1,"transaction-type-button",3,"ngClass"],["class","expanded-row",4,"ngIf"],[1,"expanded-row"],["colspan","5"],[2,"text-transform","uppercase","margin","20px","margin-top","10px"],[4,"ngIf"],[1,"transaction-details"],[3,"href"],[1,"input-section",2,"width","100%","display","inline-block","margin-top","5px"],[1,"accordion",3,"click"],["class","panel",4,"ngIf"],[1,"in-section",2,"width","44%","display","inline-block","margin-top","5px"],[1,"transfer-in-info-box"],[2,"margin-left","10px"],[1,"transaction-value-button"],[1,"arrow-box",2,"width","10%","display","inline-block","vertical-align","top"],["src","yadacoinstatic/explorer/assets/arrow-right.png","alt","Arrow Right",1,"arrow-icon"],[1,"out-section",2,"width","44%","display","inline-block","float","right","margin-top","5px"],[1,"panel"],[1,"transfer-out-info-box"],[1,"relationship-data-box"],[2,"text-transform","uppercase","margin","10px"],["rows","4","readonly","",2,"width","98%"],[1,"transaction-type-button","create-identity"],[2,"margin-left","15px"]],template:function(r,o){1&r&&(h(0,"h2",0),p(1,"Mempool"),f(),h(2,"div",1)(3,"table",2)(4,"thead")(5,"tr")(6,"th"),p(7,"Time"),f(),h(8,"th"),p(9,"Hash"),f(),h(10,"th"),p(11,"Type"),f(),h(12,"th"),p(13,"Inputs"),f(),h(14,"th"),p(15,"Outputs"),f()()(),h(16,"tbody"),A(17,qV,14,12,"ng-container",3),f()()()),2&r&&(m(17),S("ngForOf",o.mempoolData))},dependencies:[du,fu,Ui]})}return e})();function ZV(e,n){1&e&&(h(0,"div",9)(1,"strong"),p(2,"Loading..."),f()())}function YV(e,n){if(1&e&&(h(0,"div",10)(1,"strong"),p(2,"Your Balance:"),f(),p(3),f()),2&e){const t=E();m(3),x(" ",t.balance," ")}}let QV=(()=>{class e{constructor(t){this.httpClient=t,this.address="",this.balance=0,this.loading=!1}getBalance(){this.address&&(this.loading=!0,this.httpClient.get(`/explorer-get-balance?address=${this.address}`).subscribe(t=>{this.balance=t.balance,this.loading=!1},t=>{alert("Something went wrong while fetching the balance."),this.loading=!1}))}static#e=this.\u0275fac=function(r){return new(r||e)(b(Zi))};static#t=this.\u0275cmp=Tr({type:e,selectors:[["app-address-balance"]],decls:15,vars:5,consts:[[1,"button",2,"text-transform","uppercase","margin","10px","margin-top","20px"],[1,"address-balance-container"],["for","addressInput"],[2,"display","flex"],["id","addressInput","type","text",1,"search-container",3,"ngModel","ngModelChange"],[1,"button","btn-success",3,"disabled","click"],[2,"margin-top","10px"],["class","loading-message",4,"ngIf"],["class","result",4,"ngIf"],[1,"loading-message"],[1,"result"]],template:function(r,o){1&r&&(h(0,"h2",0),p(1,"Address Balance"),f(),h(2,"div",1)(3,"label",2),p(4,"Enter Your Wallet Address:"),f(),h(5,"div",3)(6,"input",4),re("ngModelChange",function(s){return o.address=s}),f(),h(7,"button",5),re("click",function(){return o.getBalance()}),p(8,"Get balance"),f()(),h(9,"div",6)(10,"strong"),p(11,"Your Address:"),f(),p(12),f(),A(13,ZV,3,0,"div",7),A(14,YV,4,1,"div",8),f()),2&r&&(m(6),S("ngModel",o.address),m(1),S("disabled",o.loading),m(5),x(" ",o.address," "),m(1),S("ngIf",o.loading),m(1),S("ngIf",!o.loading&&null!==o.balance))},dependencies:[Ui,Qi,Pf,xu],styles:[".address-balance-container[_ngcontent-%COMP%]{margin:10px;padding:20px;background-color:#424242;border-radius:5px;color:#fff}label[_ngcontent-%COMP%]{display:block;margin-bottom:10px}input[_ngcontent-%COMP%]{flex:1;padding:10px;margin-bottom:10px;margin-right:10px}button.btn-success[_ngcontent-%COMP%]{background-color:green;color:#fff;padding:8px 20px;border:none;cursor:pointer;transition:background .3s ease;border-radius:5px;height:40px}.loading-message[_ngcontent-%COMP%], .result[_ngcontent-%COMP%]{margin-top:10px}"]})}return e})();function XV(e,n){if(1&e&&(h(0,"li"),p(1),f()),2&e){const t=n.$implicit;m(1),T(t.id)}}function JV(e,n){if(1&e&&(h(0,"div",25)(1,"ul"),A(2,XV,2,1,"li",3),f()()),2&e){const t=E(3).$implicit;m(2),S("ngForOf",t.inputs)}}function KV(e,n){if(1&e&&(h(0,"div")(1,"div",26)(2,"p",20)(3,"a",10),p(4),f(),h(5,"button",21),p(6),f()()()()),2&e){const t=n.$implicit;m(3),F("href","/explorer?term=",t.to,"",L),m(1),T(t.to),m(2),x("",t.value.toFixed(6)," YDA")}}function ej(e,n){if(1&e){const t=Rt();h(0,"div")(1,"div",14)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",10),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",10),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Inputs:"),f(),p(15),f(),h(16,"div",15)(17,"button",16),re("click",function(){return Tt(t),At(E(5).toggleAccordion("inputsAccordion"))}),p(18,"Show Inputs"),f(),A(19,JV,3,1,"div",17),f(),h(20,"p")(21,"strong"),p(22,"Outputs:"),f(),p(23),f(),h(24,"div",18)(25,"div",19)(26,"p",20)(27,"a",10),p(28),f(),h(29,"button",21),p(30),f()()()(),h(31,"div",22),Pe(32,"img",23),f(),h(33,"div",24),A(34,KV,7,3,"div",3),f()()()}if(2&e){const t=E(2).$implicit,r=E(3);m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.inputs.length,""),m(4),S("ngIf","inputsAccordion"===r.showAccordion),m(4),x(" ",t.outputs.length,""),m(4),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),m(1),T(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to),m(2),x("",r.getTotalValue(t.outputs).toFixed(6)," YDA"),m(4),S("ngForOf",t.outputs)}}function tj(e,n){if(1&e&&(h(0,"div"),A(1,ej,35,11,"div",13),f()),2&e){const t=E().index,r=E(2).index,o=E();m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}function nj(e,n){if(1&e&&(h(0,"div")(1,"div",26)(2,"p",20)(3,"a",10),p(4),f(),h(5,"button",21),p(6),f()()()()),2&e){const t=n.$implicit;m(3),F("href","/explorer?term=",t.to,"",L),m(1),T(t.to),m(2),x("",t.value.toFixed(6)," YDA")}}function rj(e,n){if(1&e&&(h(0,"div")(1,"div",14)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",10),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",10),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Outputs:"),f(),p(15),f(),h(16,"div",18)(17,"div",19)(18,"button",27),p(19,"Coinbase"),f(),h(20,"p",20),p(21," (Newly Generated Coins) "),h(22,"button",21),p(23),f()()()(),h(24,"div",22),Pe(25,"img",23),f(),h(26,"div",24),A(27,nj,7,3,"div",3),f()()()),2&e){const t=E(2).$implicit,r=E(3);m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.outputs.length,""),m(8),x("",r.getTotalValue(t.outputs).toFixed(6)," YDA"),m(4),S("ngForOf",t.outputs)}}function oj(e,n){if(1&e&&(h(0,"div"),A(1,rj,28,7,"div",13),f()),2&e){const t=E().index,r=E(2).index,o=E();m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}function ij(e,n){if(1&e&&(h(0,"div")(1,"div",14)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",10),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",10),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Relationship Identifier:"),f(),p(15),f(),h(16,"div",28)(17,"h4",29),p(18,"Relationship DATA:"),f(),h(19,"textarea",30),p(20),f()(),h(21,"div",18)(22,"div",26)(23,"button",31),p(24,"Newly created Address"),f(),h(25,"p",32)(26,"a",10),p(27),f()()()()()()),2&e){const t=E(2).$implicit;m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.rid,""),m(5),T(t.relationship),m(6),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),m(1),T(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function sj(e,n){if(1&e&&(h(0,"div"),A(1,ij,28,8,"div",13),f()),2&e){const t=E().index,r=E(2).index,o=E();m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}function aj(e,n){if(1&e&&(h(0,"div")(1,"div",14)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",10),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",10),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Relationship Identifier:"),f(),p(15),f(),h(16,"div",28)(17,"h4",29),p(18,"Relationship DATA:"),f(),h(19,"textarea",30),p(20),f()()()()),2&e){const t=E(2).$implicit;m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.rid,""),m(5),T(t.relationship)}}function uj(e,n){if(1&e&&(h(0,"div"),A(1,aj,21,6,"div",13),f()),2&e){const t=E().index,r=E(2).index,o=E();m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}function cj(e,n){if(1&e&&(h(0,"div")(1,"div",14)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",10),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",10),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Relationship Identifier:"),f(),p(15),f(),h(16,"div",28)(17,"h4",29),p(18,"Relationship DATA:"),f(),h(19,"textarea",30),p(20),f()()()()),2&e){const t=E(2).$implicit;m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.rid,""),m(5),T(t.relationship)}}function lj(e,n){if(1&e&&(h(0,"div"),A(1,cj,21,6,"div",13),f()),2&e){const t=E().index,r=E(2).index,o=E();m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}const dj=function(e,n,t,r,o){return{coinbase:e,transfer:n,"create-identity":t,"encrypted-message":r,message:o}};function fj(e,n){if(1&e){const t=Rt();h(0,"li")(1,"button",12),re("click",function(){const i=Tt(t).index,s=E(2).index;return At(E().showTransactionDetails(s,i))}),p(2),f(),A(3,tj,2,1,"div",13),A(4,oj,2,1,"div",13),A(5,sj,2,1,"div",13),A(6,uj,2,1,"div",13),A(7,lj,2,1,"div",13),f()}if(2&e){const t=n.$implicit,r=E(3);m(1),S("ngClass",Ba(7,dj,r.transactionUtilsService.isCoinbaseTransaction(t),r.transactionUtilsService.isTransferTransaction(t),r.transactionUtilsService.isCreateIdentityTransaction(t),r.transactionUtilsService.isEncryptedMessageTransaction(t),r.transactionUtilsService.isMessageTransaction(t))),m(1),x(" ",r.transactionUtilsService.getTransactionType(t)," "),m(1),S("ngIf",r.transactionUtilsService.isTransferTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isCoinbaseTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isCreateIdentityTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isEncryptedMessageTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isMessageTransaction(t))}}function hj(e,n){if(1&e&&(h(0,"tr",6)(1,"td",7)(2,"div")(3,"h2",8),p(4,"Block Details"),f(),h(5,"p")(6,"strong",9),p(7,"Index: "),f(),h(8,"a",10),p(9),f()(),h(10,"p")(11,"strong",9),p(12,"Time:"),f(),p(13),f(),h(14,"p")(15,"strong",9),p(16,"Hash: "),f(),h(17,"a",10),p(18),f()(),h(19,"p")(20,"strong",9),p(21,"Previous Hash: "),f(),h(22,"a",10),p(23),f()(),h(24,"p")(25,"strong",9),p(26,"Nonce:"),f(),p(27),f(),h(28,"p")(29,"strong",9),p(30,"Target:"),f(),p(31),f(),h(32,"p")(33,"strong",9),p(34,"ID: "),f(),h(35,"a",10),p(36),f()(),h(37,"h3",11),p(38,"Transactions"),f(),h(39,"ul"),A(40,fj,8,13,"li",3),f()()()()),2&e){const t=E().$implicit,r=E();m(8),F("href","/explorer?term=",t.index,"",L),m(1),T(t.index),m(4),x(" ",r.dateFormatService.formatTransactionTime(t.time),""),m(4),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.prevHash,"",L),m(1),T(t.prevHash),m(4),x(" ",t.nonce,""),m(4),x(" ",t.target,""),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),S("ngForOf",t.transactions)}}function pj(e,n){if(1&e){const t=Rt();$n(0),h(1,"tr",4),re("click",function(){const i=Tt(t).$implicit;return At(E().toggleDetails(i))}),h(2,"td"),p(3),f(),h(4,"td"),p(5),f(),h(6,"td"),p(7),f(),h(8,"td"),p(9),f()(),A(10,hj,41,12,"tr",5),Hn()}if(2&e){const t=n.$implicit,r=E();m(3),T(t.index),m(2),T(r.dateFormatService.formatTransactionTime(t.time)),m(2),T(t.hash),m(2),T(t.transactions.length),m(1),S("ngIf",t.expanded)}}let gj=(()=>{class e{constructor(t,r,o){this.httpClient=t,this.dateFormatService=r,this.transactionUtilsService=o,this.blocks=[],this.showBlockTransactions=!1,this.showBlockTransactionDetails=[],this.searching=!1,this.showAccordion=null}ngOnInit(){this.blocks.length||this.loadLatestBlocks()}loadLatestBlocks(){this.httpClient.get("/explorer-latest").subscribe(t=>{this.blocks=t.result||[],this.searching=!1},t=>{console.error("Error fetching latest blocks:",t),alert("Something went wrong while fetching latest blocks!")})}showBlockDetails(t){console.log("Clicked block:",t),this.selectedBlock=t}toggleDetails(t){if(t.expanded)t.expanded=!1;else{this.blocks.forEach(o=>o.expanded=!1),t.expanded=!0;const r=this.blocks.indexOf(t);this.showBlockTransactionDetails[r]=[],this.selectedBlock=t}}showTransactions(){this.showBlockTransactions=!this.showBlockTransactions,this.showBlockTransactionDetails=[]}showTransactionDetails(t,r){this.showBlockTransactionDetails[t][r]=!this.showBlockTransactionDetails[t][r]}numberWithCommas(t){return t.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")}getTotalValue(t){return t.reduce((r,o)=>r+o.value,0)}toggleAccordion(t){this.showAccordion=this.showAccordion===t?null:t}static#e=this.\u0275fac=function(r){return new(r||e)(b(Zi),b(Nu),b(Ru))};static#t=this.\u0275cmp=Tr({type:e,selectors:[["app-latest-blocks"]],decls:16,vars:1,consts:[[2,"text-transform","uppercase","margin","10px","margin-top","20px"],[1,"latestblocks-container"],[1,"latestblocks-table"],[4,"ngFor","ngForOf"],[3,"click"],["class","expanded-row",4,"ngIf"],[1,"expanded-row"],["colspan","4"],[2,"text-transform","uppercase","margin","20px","margin-top","10px"],[2,"text-transform","uppercase","margin-left","30px"],[3,"href"],[2,"text-transform","uppercase","margin","20px","margin-top","20px"],[1,"transaction-type-button",3,"ngClass","click"],[4,"ngIf"],[1,"transaction-details"],[1,"input-section",2,"width","100%","display","inline-block","margin-top","5px"],[1,"accordion",3,"click"],["class","panel",4,"ngIf"],[1,"in-section",2,"width","44%","display","inline-block","margin-top","5px"],[1,"transfer-in-info-box"],[2,"margin-left","10px"],[1,"transaction-value-button"],[1,"arrow-box",2,"width","10%","display","inline-block","vertical-align","top"],["src","yadacoinstatic/explorer/assets/arrow-right.png","alt","Arrow Right",1,"arrow-icon"],[1,"out-section",2,"width","44%","display","inline-block","float","right","margin-top","5px"],[1,"panel"],[1,"transfer-out-info-box"],[1,"transaction-type-button","coinbase"],[1,"relationship-data-box"],[2,"text-transform","uppercase","margin","10px"],["rows","4","readonly","",2,"width","98%"],[1,"transaction-type-button","create-identity"],[2,"margin-left","15px"]],template:function(r,o){1&r&&(h(0,"h2",0),p(1,"Latest 10 Blocks"),f(),h(2,"div",1)(3,"table",2)(4,"thead")(5,"tr")(6,"th"),p(7,"Index"),f(),h(8,"th"),p(9,"Time"),f(),h(10,"th"),p(11,"Hash"),f(),h(12,"th"),p(13,"Transactions"),f()()(),h(14,"tbody"),A(15,pj,11,5,"ng-container",3),f()()()),2&r&&(m(15),S("ngForOf",o.blocks))},dependencies:[du,fu,Ui],styles:[".latestblocks-container[_ngcontent-%COMP%]{margin:10px;padding:20px;background-color:#424242;border-radius:5px;color:#fff}.latestblocks-table[_ngcontent-%COMP%]{width:100%;margin-top:10px;border-radius:5px}.latestblocks-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .latestblocks-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border:1px solid #ddd;padding:8px;text-align:left;border-radius:5px}.latestblocks-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{background-color:#303030;color:#fff;border-radius:5px}.latestblocks-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover{background-color:#3498db;color:#fff;cursor:pointer}.latestblocks-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr.expanded-row[_ngcontent-%COMP%]{cursor:default}.transaction-table[_ngcontent-%COMP%]{width:80%;margin:0 auto}.transaction-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .transaction-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border:1px solid #ddd;padding:8px;text-align:left}.transaction-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{background-color:#424242}.expanded-row[_ngcontent-%COMP%]{background-color:transparent!important;color:inherit!important}"]})}return e})(),mj=(()=>{class e{transform(t){return"string"==typeof t?t.replace(/,/g," "):t.toString().replace(/,/g," ")}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275pipe=Ze({name:"replaceComma",type:e,pure:!0})}return e})();function vj(e,n){1&e&&(h(0,"div")(1,"h1",13),p(2,"This is the alpha version of the Yadacoin block explorer."),f(),h(3,"h1",13),p(4,"Most functions should be operational. Please feel free to report any bugs or provide suggestions."),f(),h(5,"h1",13),p(6,"Thank you!"),f()())}function _j(e,n){1&e&&($n(0),h(1,"div",14)(2,"h2",15),p(3,"No results for searched phrase"),f()(),Hn())}function yj(e,n){1&e&&(h(0,"a",27),p(1,"Previous Block"),f()),2&e&&F("href","/explorer?term=",E().$implicit.index-1,"",L)}function Dj(e,n){1&e&&(h(0,"a",28),p(1,"Next Block"),f()),2&e&&F("href","/explorer?term=",E().$implicit.index+1,"",L)}function Cj(e,n){if(1&e&&(h(0,"li"),p(1),f()),2&e){const t=n.$implicit;m(1),T(t.id)}}function wj(e,n){if(1&e&&(h(0,"div",42)(1,"ul"),A(2,Cj,2,1,"li",19),f()()),2&e){const t=E(3).$implicit;m(2),S("ngForOf",t.inputs)}}function bj(e,n){if(1&e&&(h(0,"div")(1,"div",43)(2,"p",37)(3,"a",25),p(4),f(),h(5,"button",38),p(6),f()()()()),2&e){const t=n.$implicit;m(3),F("href","/explorer?term=",t.to,"",L),m(1),T(t.to),m(2),x("",t.value.toFixed(6)," YDA")}}function Ej(e,n){if(1&e){const t=Rt();h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",25),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",25),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Inputs:"),f(),p(15),f(),h(16,"div",32)(17,"button",33),re("click",function(){return Tt(t),At(E(6).toggleAccordion("inputsAccordion"))}),p(18,"Show Inputs"),f(),A(19,wj,3,1,"div",34),f(),h(20,"p")(21,"strong"),p(22,"Outputs:"),f(),p(23),f(),h(24,"div",35)(25,"div",36)(26,"p",37)(27,"a",25),p(28),f(),h(29,"button",38),p(30),f()()()(),h(31,"div",39),Pe(32,"img",40),f(),h(33,"div",41),A(34,bj,7,3,"div",19),f()()()}if(2&e){const t=E(2).$implicit,r=E(4);m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.inputs.length,""),m(4),S("ngIf","inputsAccordion"===r.showAccordion),m(4),x(" ",t.outputs.length,""),m(4),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),m(1),T(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to),m(2),x("",r.getTotalValue(t.outputs).toFixed(6)," YDA"),m(4),S("ngForOf",t.outputs)}}function Ij(e,n){if(1&e&&(h(0,"div"),A(1,Ej,35,11,"div",12),f()),2&e){const t=E().index,r=E().index,o=E(3);m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}function Mj(e,n){if(1&e&&(h(0,"div")(1,"div",43)(2,"p",37)(3,"a",25),p(4),f(),h(5,"button",38),p(6),f()()()()),2&e){const t=n.$implicit;m(3),F("href","/explorer?term=",t.to,"",L),m(1),T(t.to),m(2),x("",t.value.toFixed(6)," YDA")}}function Sj(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",25),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",25),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Outputs:"),f(),p(15),f(),h(16,"div",35)(17,"div",36)(18,"button",44),p(19,"Coinbase"),f(),h(20,"p",37),p(21," (Newly Generated Coins) "),h(22,"button",38),p(23),f()()()(),h(24,"div",39),Pe(25,"img",40),f(),h(26,"div",41),A(27,Mj,7,3,"div",19),f()()()),2&e){const t=E(2).$implicit,r=E(4);m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.outputs.length,""),m(8),x("",r.getTotalValue(t.outputs).toFixed(6)," YDA"),m(4),S("ngForOf",t.outputs)}}function Tj(e,n){if(1&e&&(h(0,"div"),A(1,Sj,28,7,"div",12),f()),2&e){const t=E().index,r=E().index,o=E(3);m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}function Aj(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",25),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",25),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Relationship Identifier:"),f(),p(15),f(),h(16,"div",45)(17,"h4",46),p(18,"Relationship DATA:"),f(),h(19,"textarea",47),p(20),f()(),h(21,"div",35)(22,"div",43)(23,"button",48),p(24,"Newly created Address"),f(),h(25,"p",49)(26,"a",25),p(27),f()()()()()()),2&e){const t=E(2).$implicit;m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.rid,""),m(5),T(t.relationship),m(6),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),m(1),T(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function xj(e,n){if(1&e&&(h(0,"div"),A(1,Aj,28,8,"div",12),f()),2&e){const t=E().index,r=E().index,o=E(3);m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}function Nj(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",25),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",25),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Relationship Identifier:"),f(),p(15),f(),h(16,"div",45)(17,"h4",46),p(18,"Relationship DATA:"),f(),h(19,"textarea",47),p(20),f()()()()),2&e){const t=E(2).$implicit;m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.rid,""),m(5),T(t.relationship)}}function Rj(e,n){if(1&e&&(h(0,"div"),A(1,Nj,21,6,"div",12),f()),2&e){const t=E().index,r=E().index,o=E(3);m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}function Oj(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Transaction Hash: "),f(),h(5,"a",25),p(6),f()(),h(7,"p")(8,"strong"),p(9,"Transaction ID: "),f(),h(10,"a",25),p(11),f()(),h(12,"p")(13,"strong"),p(14,"Relationship Identifier:"),f(),p(15),f(),h(16,"div",45)(17,"h4",46),p(18,"Relationship DATA:"),f(),h(19,"textarea",47),p(20),f()()()()),2&e){const t=E(2).$implicit;m(5),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",t.rid,""),m(5),T(t.relationship)}}function Pj(e,n){if(1&e&&(h(0,"div"),A(1,Oj,21,6,"div",12),f()),2&e){const t=E().index,r=E().index,o=E(3);m(1),S("ngIf",null==o.showBlockTransactionDetails||null==o.showBlockTransactionDetails[r]?null:o.showBlockTransactionDetails[r][t])}}const lE=function(e,n,t,r,o){return{coinbase:e,transfer:n,"create-identity":t,"encrypted-message":r,message:o}};function Fj(e,n){if(1&e){const t=Rt();h(0,"li")(1,"div",29)(2,"button",30),re("click",function(){const i=Tt(t).index,s=E().index;return At(E(3).showTransactionDetails(s,i))}),p(3),f(),A(4,Ij,2,1,"div",12),A(5,Tj,2,1,"div",12),A(6,xj,2,1,"div",12),A(7,Rj,2,1,"div",12),A(8,Pj,2,1,"div",12),f()()}if(2&e){const t=n.$implicit,r=E(4);m(2),S("ngClass",Ba(7,lE,r.transactionUtilsService.isCoinbaseTransaction(t),r.transactionUtilsService.isTransferTransaction(t),r.transactionUtilsService.isCreateIdentityTransaction(t),r.transactionUtilsService.isEncryptedMessageTransaction(t),r.transactionUtilsService.isMessageTransaction(t))),m(1),x(" ",r.transactionUtilsService.getTransactionType(t)," "),m(1),S("ngIf",r.transactionUtilsService.isTransferTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isCoinbaseTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isCreateIdentityTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isEncryptedMessageTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isMessageTransaction(t))}}function kj(e,n){if(1&e&&(h(0,"li")(1,"div",20),A(2,yj,2,1,"a",21),A(3,Dj,2,1,"a",22),f(),h(4,"div",14)(5,"h2",23),p(6,"Block Details"),f(),h(7,"p")(8,"strong",24),p(9,"Index: "),f(),h(10,"a",25),p(11),f()(),h(12,"p")(13,"strong",24),p(14,"Time:"),f(),p(15),f(),h(16,"p")(17,"strong",24),p(18,"Hash: "),f(),h(19,"a",25),p(20),f()(),h(21,"p")(22,"strong",24),p(23,"Previous Hash: "),f(),h(24,"a",25),p(25),f()(),h(26,"p")(27,"strong",24),p(28,"Nonce:"),f(),p(29),f(),h(30,"p")(31,"strong",24),p(32,"Target:"),f(),p(33),f(),h(34,"p")(35,"strong",24),p(36,"ID: "),f(),h(37,"a",25),p(38),f()(),h(39,"h3",26),p(40,"Transactions"),f(),h(41,"ul"),A(42,Fj,9,13,"li",19),f()()()),2&e){const t=n.$implicit,r=E(3);m(2),S("ngIf",0!==t.index),m(1),S("ngIf",t.index!==r.current_height),m(7),F("href","/explorer?term=",t.index,"",L),m(1),T(t.index),m(4),x(" ",t.time,""),m(4),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.prevHash,"",L),m(1),T(t.prevHash),m(4),x(" ",t.nonce,""),m(4),x(" ",t.target,""),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),S("ngForOf",t.transactions)}}function Lj(e,n){if(1&e&&(h(0,"div")(1,"h2",16),p(2),f(),h(3,"h3",17),p(4),f(),h(5,"ul",18),A(6,kj,43,14,"li",19),f()()),2&e){const t=E(2);m(2),x(" search result for ","block_height"===t.resultType?"block index":"block_hash"===t.resultType?"block hash":"block_id"===t.resultType?"block id":"",": "),m(2),x(" ","block_height"===t.resultType?t.result[0].index:"block_hash"===t.resultType?t.result[0].hash:"block_id"===t.resultType?t.result[0].id:""," "),m(2),S("ngForOf",t.result)}}function Vj(e,n){if(1&e&&(h(0,"li"),p(1),f()),2&e){const t=n.$implicit;m(1),T(t.id)}}function jj(e,n){if(1&e&&(h(0,"div",42)(1,"ul"),A(2,Vj,2,1,"li",19),f()()),2&e){const t=E(3).$implicit;m(2),S("ngForOf",t.inputs)}}function Bj(e,n){if(1&e&&(h(0,"div")(1,"div",43)(2,"p",37)(3,"a",25),p(4),f(),h(5,"button",38),p(6),f()()()()),2&e){const t=n.$implicit;m(3),F("href","/explorer?term=",t.to,"",L),m(1),T(t.to),m(2),x("",t.value.toFixed(6)," YDA")}}function $j(e,n){if(1&e){const t=Rt();h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Inputs:"),f(),p(5),f(),h(6,"div",32)(7,"button",33),re("click",function(){return Tt(t),At(E(5).toggleAccordion("inputsAccordion"))}),p(8,"Show Inputs"),f(),A(9,jj,3,1,"div",34),f(),h(10,"p")(11,"strong"),p(12,"Outputs:"),f(),p(13),f(),h(14,"div",35)(15,"div",36)(16,"p",37)(17,"a",25),p(18),f(),h(19,"button",38),p(20),f()()()(),h(21,"div",39),Pe(22,"img",40),f(),h(23,"div",41),A(24,Bj,7,3,"div",19),f()()()}if(2&e){const t=E(2).$implicit,r=E(3);m(5),x(" ",t.inputs.length,""),m(4),S("ngIf","inputsAccordion"===r.showAccordion),m(4),x(" ",t.outputs.length,""),m(4),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),m(1),T(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to),m(2),x("",r.getTotalValue(t.outputs).toFixed(6)," YDA"),m(4),S("ngForOf",t.outputs)}}function Hj(e,n){if(1&e&&(h(0,"div")(1,"div",43)(2,"p",37)(3,"a",25),p(4),f(),h(5,"button",38),p(6),f()()()()),2&e){const t=n.$implicit;m(3),F("href","/explorer?term=",t.to,"",L),m(1),T(t.to),m(2),x("",t.value.toFixed(6)," YDA")}}function Uj(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Outputs:"),f(),p(5),f(),h(6,"div",35)(7,"div",36)(8,"button",44),p(9,"Coinbase"),f(),h(10,"p",37),p(11," (Newly Generated Coins) "),h(12,"button",38),p(13),f()()()(),h(14,"div",39),Pe(15,"img",40),f(),h(16,"div",41),A(17,Hj,7,3,"div",19),f()()()),2&e){const t=E(2).$implicit,r=E(3);m(5),x(" ",t.outputs.length,""),m(8),x("",r.getTotalValue(t.outputs).toFixed(6)," YDA"),m(4),S("ngForOf",t.outputs)}}function zj(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Relationship Identifier:"),f(),p(5),f(),h(6,"div",45)(7,"h4",46),p(8,"Relationship DATA:"),f(),h(9,"textarea",47),p(10),f()(),h(11,"div",35)(12,"div",43)(13,"button",48),p(14,"Newly created Address"),f(),h(15,"p",49)(16,"a",25),p(17),f()()()()()()),2&e){const t=E(2).$implicit;m(5),x(" ",t.rid,""),m(5),T(t.relationship),m(6),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),m(1),T(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function Gj(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Relationship Identifier:"),f(),p(5),f(),h(6,"div",45)(7,"h4",46),p(8,"Relationship DATA:"),f(),h(9,"textarea",47),p(10),f()()()()),2&e){const t=E(2).$implicit;m(5),x(" ",t.rid,""),m(5),T(t.relationship)}}function qj(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Relationship Identifier:"),f(),p(5),f(),h(6,"div",45)(7,"h4",46),p(8,"Relationship DATA:"),f(),h(9,"textarea",47),p(10),f()()()()),2&e){const t=E(2).$implicit;m(5),x(" ",t.rid,""),m(5),T(t.relationship)}}function Wj(e,n){if(1&e&&(h(0,"tr",53)(1,"td",54)(2,"div")(3,"h2",23),p(4,"Transaction Details"),f(),h(5,"div",31)(6,"p")(7,"strong"),p(8,"Transaction Hash: "),f(),h(9,"a",25),p(10),f()(),h(11,"p")(12,"strong"),p(13,"Transaction ID: "),f(),h(14,"a",25),p(15),f()(),h(16,"p")(17,"strong"),p(18,"Time: "),f(),p(19),f(),h(20,"p")(21,"strong"),p(22,"Fee: "),f(),p(23),f(),A(24,$j,25,7,"div",12),A(25,Uj,18,3,"div",12),A(26,zj,18,4,"div",12),A(27,Gj,11,2,"div",12),A(28,qj,11,2,"div",12),f()()()()),2&e){const t=E().$implicit,r=E(3);m(9),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",r.dateFormatService.formatTransactionTime(t.time),""),m(4),x(" ",t.fee," YDA"),m(1),S("ngIf",r.transactionUtilsService.isTransferTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isCoinbaseTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isCreateIdentityTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isEncryptedMessageTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isMessageTransaction(t))}}function Zj(e,n){if(1&e){const t=Rt();$n(0),h(1,"tr",51),re("click",function(){const i=Tt(t).$implicit;return At(E(3).toggleDetails(i))}),h(2,"td"),p(3),f(),h(4,"td"),p(5),f(),h(6,"td"),p(7),f(),h(8,"td"),p(9),f()(),A(10,Wj,29,11,"tr",52),Hn()}if(2&e){const t=n.$implicit,r=E(3);m(3),T(r.dateFormatService.formatTransactionTime(t.time)),m(2),T(t.hash),m(2),T(t.inputs.length),m(2),T(t.outputs.length),m(1),S("ngIf",t.expanded)}}function Yj(e,n){if(1&e&&(h(0,"div")(1,"h2",16),p(2),f(),h(3,"h3",17),p(4),f(),h(5,"div",14)(6,"table",50)(7,"thead")(8,"tr")(9,"th"),p(10,"Time"),f(),h(11,"th"),p(12,"Hash"),f(),h(13,"th"),p(14,"Inputs"),f(),h(15,"th"),p(16,"Outputs"),f()()(),h(17,"tbody"),A(18,Zj,11,5,"ng-container",19),f()()()()),2&e){const t=E(2);m(2),x(" Search result for ","txn_id"===t.resultType?"transaction ID":"txn_hash"===t.resultType?"transaction hash":"mempool_hash"===t.resultType?"mempool hash":"mempool_id"===t.resultType?"mempool ID":"",": "),m(2),x(" ",t.searchedId," "),m(14),S("ngForOf",t.result)}}function Qj(e,n){if(1&e&&(h(0,"li"),p(1),f()),2&e){const t=n.$implicit;m(1),T(t.id)}}function Xj(e,n){if(1&e&&(h(0,"div",42)(1,"ul"),A(2,Qj,2,1,"li",19),f()()),2&e){const t=E(2).$implicit;m(2),S("ngForOf",t.inputs)}}const Xu=function(e){return{"searched-address":e}};function Jj(e,n){if(1&e&&(h(0,"div")(1,"div",43)(2,"p",37)(3,"a",58),p(4),f(),h(5,"button",38),p(6),f()()()()),2&e){const t=n.$implicit,r=E(7);m(3),F("href","/explorer?term=",t.to,"",L),S("ngClass",Fi(4,Xu,r.isSearchedAddress(t.to))),m(1),x(" ",t.to," "),m(2),x("",t.value.toFixed(6)," YDA")}}function Kj(e,n){if(1&e){const t=Rt();h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Inputs:"),f(),p(5),f(),h(6,"div",32)(7,"button",33),re("click",function(){return Tt(t),At(E(6).toggleAccordion("inputsAccordion"))}),p(8,"Show Inputs"),f(),A(9,Xj,3,1,"div",34),f(),h(10,"p")(11,"strong"),p(12,"Outputs:"),f(),p(13),f(),h(14,"div",35)(15,"div",36)(16,"p",37)(17,"a",58),p(18),f(),h(19,"button",38),p(20),f()()()(),h(21,"div",39),Pe(22,"img",40),f(),h(23,"div",41),A(24,Jj,7,6,"div",19),f()()()}if(2&e){const t=E().$implicit,r=E(5);m(5),x(" ",t.inputs.length,""),m(4),S("ngIf","inputsAccordion"===r.showAccordion),m(4),x(" ",t.outputs.length,""),m(4),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),S("ngClass",Fi(8,Xu,r.isSearchedAddress(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to))),m(1),x(" ",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to," "),m(2),x("",r.getTotalValue(t.outputs).toFixed(6)," YDA"),m(4),S("ngForOf",t.outputs)}}function eB(e,n){if(1&e&&(h(0,"div")(1,"div",43)(2,"p",37)(3,"a",58),p(4),f(),h(5,"button",38),p(6),f()()()()),2&e){const t=n.$implicit,r=E(7);m(3),F("href","/explorer?term=",t.to,"",L),S("ngClass",Fi(4,Xu,r.isSearchedAddress(t.to))),m(1),x(" ",t.to," "),m(2),x("",t.value.toFixed(6)," YDA")}}function tB(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Outputs:"),f(),p(5),f(),h(6,"div",35)(7,"div",36)(8,"button",44),p(9,"Coinbase"),f(),h(10,"p",37),p(11," (Newly Generated Coins) "),h(12,"button",38),p(13),f()()()(),h(14,"div",39),Pe(15,"img",40),f(),h(16,"div",41),A(17,eB,7,6,"div",19),f()()()),2&e){const t=E().$implicit,r=E(5);m(5),x(" ",t.outputs.length,""),m(8),x("",r.getTotalValue(t.outputs).toFixed(6)," YDA"),m(4),S("ngForOf",t.outputs)}}function nB(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Relationship Identifier:"),f(),p(5),f(),h(6,"div",45)(7,"h4",46),p(8,"Relationship DATA:"),f(),h(9,"textarea",47),p(10),f()(),h(11,"div",35)(12,"div",43)(13,"button",48),p(14,"Newly created Address"),f(),h(15,"p",49)(16,"a",25),p(17),f()()()()()()),2&e){const t=E().$implicit;m(5),x(" ",t.rid,""),m(5),T(t.relationship),m(6),F("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",L),m(1),T(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function rB(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Relationship Identifier:"),f(),p(5),f(),h(6,"div",45)(7,"h4",46),p(8,"Relationship DATA:"),f(),h(9,"textarea",47),p(10),f()()()()),2&e){const t=E().$implicit;m(5),x(" ",t.rid,""),m(5),T(t.relationship)}}function oB(e,n){if(1&e&&(h(0,"div")(1,"div",31)(2,"p")(3,"strong"),p(4,"Relationship Identifier:"),f(),p(5),f(),h(6,"div",45)(7,"h4",46),p(8,"Relationship DATA:"),f(),h(9,"textarea",47),p(10),f()()()()),2&e){const t=E().$implicit;m(5),x(" ",t.rid,""),m(5),T(t.relationship)}}function iB(e,n){if(1&e&&(h(0,"div",31)(1,"p")(2,"strong"),p(3,"Transaction Hash: "),f(),h(4,"a",25),p(5),f()(),h(6,"p")(7,"strong"),p(8,"Transaction ID: "),f(),h(9,"a",25),p(10),f()(),h(11,"p")(12,"strong"),p(13,"Time: "),f(),p(14),f(),h(15,"p")(16,"strong"),p(17,"Fee: "),f(),p(18),f(),A(19,Kj,25,10,"div",12),A(20,tB,18,3,"div",12),A(21,nB,18,4,"div",12),A(22,rB,11,2,"div",12),A(23,oB,11,2,"div",12),f()),2&e){const t=n.$implicit,r=E(5);m(4),F("href","/explorer?term=",t.hash,"",L),m(1),T(t.hash),m(4),F("href","/explorer?term=",t.id,"",L),m(1),T(t.id),m(4),x(" ",r.dateFormatService.formatTransactionTime(t.time),""),m(4),x(" ",t.fee," YDA"),m(1),S("ngIf",r.transactionUtilsService.isTransferTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isCoinbaseTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isCreateIdentityTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isEncryptedMessageTransaction(t)),m(1),S("ngIf",r.transactionUtilsService.isMessageTransaction(t))}}function sB(e,n){if(1&e&&(h(0,"tr",53)(1,"td",54)(2,"div")(3,"h2",23),p(4),f(),A(5,iB,24,11,"div",57),f()()()),2&e){const t=E().$implicit;m(4),x("Transactions in Block ",t.index,""),m(1),S("ngForOf",t.transactions)}}function aB(e,n){if(1&e){const t=Rt();$n(0),h(1,"tr",51),re("click",function(){const i=Tt(t).$implicit;return At(E(3).toggleDetails(i))}),h(2,"td"),p(3),f(),h(4,"td"),p(5),f(),h(6,"td",55),p(7),f(),h(8,"td")(9,"button",56),p(10),f()()(),A(11,sB,6,2,"tr",52),Hn()}if(2&e){const t=n.$implicit,r=E(3);m(3),T(t.index),m(2),T(r.dateFormatService.formatTransactionTime(t.time)),m(1),S("ngClass",Fi(7,Xu,r.isSearchedAddress(t.hash))),m(1),T(t.hash),m(2),S("ngClass",Ba(9,lE,r.transactionUtilsService.isCoinbaseTransaction(t.transactions[0]),r.transactionUtilsService.isTransferTransaction(t.transactions[0]),r.transactionUtilsService.isCreateIdentityTransaction(t.transactions[0]),r.transactionUtilsService.isEncryptedMessageTransaction(t.transactions[0]),r.transactionUtilsService.isMessageTransaction(t.transactions[0]))),m(1),x(" ",r.transactionUtilsService.getTransactionType(t.transactions[0])," "),m(1),S("ngIf",t.expanded)}}function uB(e,n){if(1&e&&(h(0,"div")(1,"h2",16),p(2),f(),h(3,"h3",17),p(4),f(),h(5,"div",14)(6,"table",50)(7,"thead")(8,"tr")(9,"th"),p(10,"Block Index"),f(),h(11,"th"),p(12,"Time"),f(),h(13,"th"),p(14,"Hash"),f(),h(15,"th"),p(16,"Type"),f()()(),h(17,"tbody"),A(18,aB,12,15,"ng-container",19),f()()()()),2&e){const t=E(2);m(2),x(" Search result for ","txn_outputs_to"===t.resultType?"transaction outputs to":"",": "),m(2),x(" ",t.searchedId," "),m(14),S("ngForOf",t.result)}}function cB(e,n){if(1&e&&(h(0,"div"),A(1,_j,4,0,"ng-container",12),A(2,Lj,7,3,"div",12),A(3,Yj,19,3,"div",12),A(4,uB,19,3,"div",12),f()),2&e){const t=E();m(1),S("ngIf",!t.result||t.result&&0===t.result.length),m(1),S("ngIf",("block_height"===t.resultType||"block_hash"===t.resultType||"block_id"===t.resultType)&&t.result&&t.result.length>0),m(1),S("ngIf",("txn_id"===t.resultType||"txn_hash"===t.resultType||"mempool_hash"===t.resultType||"mempool_id"===t.resultType)&&t.result&&t.result.length>0),m(1),S("ngIf","txn_outputs_to"===t.resultType&&t.result&&t.result.length>0)}}function lB(e,n){1&e&&Pe(0,"app-latest-blocks")}function dB(e,n){1&e&&Pe(0,"app-address-balance")}function fB(e,n){1&e&&Pe(0,"app-mempool")}let hB=(()=>{class e{constructor(t,r,o,i){this.httpClient=t,this.route=r,this.dateFormatService=o,this.transactionUtilsService=i,this.title="explorer",this.model=new cE,this.result=[],this.searchedId="",this.blocks=[],this.showBlockTransactions=!1,this.showBlockTransactionDetails=[[]],this.resultType="",this.balance=0,this.searching=!1,this.submitted=!1,this.current_height="",this.circulating="",this.hashrate="",this.difficulty="",this.selectedOption="Main Page",this.showAccordion=null,this.httpClient.get("/api-stats").subscribe(s=>{this.difficulty=this.numberWithCommas(s.stats.difficulty),this.hashrate=this.formatHashrate(s.stats.network_hash_rate),this.current_height=this.numberWithCommas(s.stats.height),this.circulating=this.numberWithCommas(s.stats.circulating)},s=>{console.error("Error fetching API stats:",s),alert("Something went wrong while fetching API stats!")}),this.route.queryParams.subscribe(s=>{const a=s.term;a&&(this.model=new cE({term:a}),this.onSubmit(),this.selectedOption="SearchResults")}),window.location.search&&"SearchResults"!==this.selectedOption&&(this.searching=!0,this.submitted=!0,this.httpClient.get("/explorer-search"+window.location.search).subscribe(s=>{this.result=s.result||[],this.resultType=s.resultType,this.balance=s.balance,this.searchedId=s.searchedId,this.searching=!1,this.selectedOption="SearchResults"},s=>{console.error("Error fetching explorer search:",s),alert("Something went wrong while fetching explorer search results!")}))}ngOnInit(){}onSubmit(){this.searching=!0,this.submitted=!0;const r=`/explorer-search?term=${encodeURIComponent(this.model.term)}`;this.httpClient.get(r).subscribe(o=>{this.result=o.result||[],this.resultType=o.resultType,this.balance=o.balance,this.searchedId=o.searchedId,this.searching=!1,this.selectedOption="SearchResults"},o=>{console.error("Error fetching explorer search:",o),alert("Something went wrong while fetching explorer search results!"),this.searching=!1})}showBlockDetails(t){console.log("Clicked block:",t),this.selectedBlock=t}toggleAccordion(t){this.showAccordion=this.showAccordion===t?null:t}toggleDetails(t){if(t.expanded)t.expanded=!1;else{this.blocks.forEach(o=>o.expanded=!1),t.expanded=!0;const r=this.blocks.indexOf(t);this.showBlockTransactionDetails[r]=this.showBlockTransactionDetails[r]||[],this.selectedBlock=t}}showTransactions(){this.showBlockTransactions=!this.showBlockTransactions,this.showBlockTransactionDetails=[]}showTransactionDetails(t,r){this.showBlockTransactionDetails[t]||(this.showBlockTransactionDetails[t]=[]),this.showBlockTransactionDetails[t][r]=!this.showBlockTransactionDetails[t][r]}numberWithCommas(t){return t.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")}formatHashrate(t){return t<1e3?`${t.toFixed(0)} h/s`:t<1e6?`${(t/1e3).toFixed(2)} kh/s`:`${(t/1e6).toFixed(2)} mh/s`}calculateAge(t){const r=(new Date).getTime(),o=new Date(t).getTime(),s=Math.floor((r-o)/6e4);return s<60?`${s} minutes ago`:`${Math.floor(s/60)} hours ago`}getTotalValue(t){return t.reduce((r,o)=>r+o.value,0)}selectOption(t){this.selectedOption=t}isSearchedAddress(t){return t.toLowerCase()===this.searchedId.toLowerCase()}static#e=this.\u0275fac=function(r){return new(r||e)(b(Zi),b(Er),b(Nu),b(Ru))};static#t=this.\u0275cmp=Tr({type:e,selectors:[["app-root"]],decls:48,vars:16,consts:[[1,"top-bar"],["href","#",1,"button",3,"click"],[3,"ngSubmit"],["searchForm","ngForm"],["name","term","placeholder","Wallet address, Transaction Id, Block height, Block hash...",1,"form-control",3,"ngModel","ngModelChange"],[1,"button","btn-success"],[1,"box-container"],[1,"result-box"],["src","yadacoinstatic/explorer/assets/network-height.png","alt","Network Height",1,"watermark"],["src","yadacoinstatic/explorer/assets/hashrate.png","alt","Network Hashrate",1,"watermark"],["src","yadacoinstatic/explorer/assets/difficulty.png","alt","Network Difficulty",1,"watermark"],["src","yadacoinstatic/explorer/assets/circulating-supply.png","alt","Circulating Supply",1,"watermark"],[4,"ngIf"],[2,"text-transform","uppercase","margin","20px","margin-top","25px","text-align","center"],[1,"blocks-container"],[2,"text-transform","uppercase","margin","20px","margin-top","25px","color","red"],[2,"text-transform","uppercase","margin","20px","margin-top","25px"],[2,"margin","20px","margin-top","10px"],[2,"list-style-type","none","padding","0","margin","0"],[4,"ngFor","ngForOf"],[1,"block-details"],["class","previous-button",3,"href",4,"ngIf"],["class","next-button",3,"href",4,"ngIf"],[2,"text-transform","uppercase","margin","20px","margin-top","10px"],[2,"text-transform","uppercase","margin-left","30px"],[3,"href"],[2,"text-transform","uppercase","margin","20px","margin-top","20px"],[1,"previous-button",3,"href"],[1,"next-button",3,"href"],[1,"transaction-container"],[1,"transaction-type-button",3,"ngClass","click"],[1,"transaction-details"],[1,"input-section",2,"width","100%","display","inline-block","margin-top","5px"],[1,"accordion",3,"click"],["class","panel",4,"ngIf"],[1,"in-section",2,"width","44%","display","inline-block","margin-top","5px"],[1,"transfer-in-info-box"],[2,"margin-left","10px"],[1,"transaction-value-button"],[1,"arrow-box",2,"width","10%","display","inline-block","vertical-align","top"],["src","yadacoinstatic/explorer/assets/arrow-right.png","alt","Arrow Right",1,"arrow-icon"],[1,"out-section",2,"width","44%","display","inline-block","float","right","margin-top","5px"],[1,"panel"],[1,"transfer-out-info-box"],[1,"transaction-type-button","coinbase"],[1,"relationship-data-box"],[2,"text-transform","uppercase","margin","10px"],["rows","4","readonly","",2,"width","98%"],[1,"transaction-type-button","create-identity"],[2,"margin-left","15px"],[1,"blocks-table"],[3,"click"],["class","expanded-row",4,"ngIf"],[1,"expanded-row"],["colspan","5"],[3,"ngClass"],[1,"transaction-type-button",3,"ngClass"],["class","transaction-details",4,"ngFor","ngForOf"],[3,"ngClass","href"]],template:function(r,o){1&r&&(h(0,"body")(1,"div",0)(2,"a",1),re("click",function(){return o.selectOption("Main Page")}),p(3,"Main Page"),f(),h(4,"a",1),re("click",function(){return o.selectOption("Latest Blocks")}),p(5,"Latest Blocks"),f(),h(6,"a",1),re("click",function(){return o.selectOption("Mempool")}),p(7,"Mempool"),f(),h(8,"a",1),re("click",function(){return o.selectOption("Address Balance")}),p(9,"Address Balance"),f(),h(10,"form",2,3),re("ngSubmit",function(){return o.onSubmit()}),h(12,"input",4),re("ngModelChange",function(s){return o.model.term=s}),f(),h(13,"button",5),p(14,"Search"),f()()(),h(15,"div",6)(16,"div",7),Pe(17,"img",8),h(18,"h5"),p(19,"Network Height"),f(),h(20,"h3"),p(21),$a(22,"replaceComma"),f()(),h(23,"div",7),Pe(24,"img",9),h(25,"h5"),p(26,"Network Hashrate"),f(),h(27,"h3"),p(28),f()(),h(29,"div",7),Pe(30,"img",10),h(31,"h5"),p(32,"Network Difficulty"),f(),h(33,"h3"),p(34),$a(35,"replaceComma"),f()(),h(36,"div",7),Pe(37,"img",11),h(38,"h5"),p(39,"Circulating Supply"),f(),h(40,"h3"),p(41),$a(42,"replaceComma"),f()()(),A(43,vj,7,0,"div",12),A(44,cB,5,4,"div",12),A(45,lB,1,0,"app-latest-blocks",12),A(46,dB,1,0,"app-address-balance",12),A(47,fB,1,0,"app-mempool",12),f()),2&r&&(m(12),S("ngModel",o.model.term),m(9),T(Ha(22,10,o.current_height)),m(7),T(o.hashrate),m(6),T(Ha(35,12,o.difficulty)),m(7),x("",Ha(42,14,o.circulating)," YDA"),m(2),S("ngIf","Main Page"===o.selectedOption),m(1),S("ngIf","SearchResults"===o.selectedOption),m(1),S("ngIf","Latest Blocks"===o.selectedOption),m(1),S("ngIf","Address Balance"===o.selectedOption),m(1),S("ngIf","Mempool"===o.selectedOption))},dependencies:[du,fu,Ui,kw,Qi,Pf,ww,xu,Au,WV,QV,gj,mj],styles:["body[_ngcontent-%COMP%]{background-color:silver;margin:30px 10%;color:#303030}.top-bar[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:10px}.top-bar[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#fff;text-decoration:none;padding:10px;margin-right:10px;border-radius:5px}.top-bar[_ngcontent-%COMP%] form[_ngcontent-%COMP%]{display:flex;align-items:center;flex:1}.form-control[_ngcontent-%COMP%]{margin-right:10px;flex:1;height:30px}.button.btn-success[_ngcontent-%COMP%]{background-color:green;color:#fff}.box-container[_ngcontent-%COMP%]{display:flex;height:110px;justify-content:space-between;margin-top:10px;margin-left:10px}.result-box[_ngcontent-%COMP%]{flex:1;background-color:#424242;padding:5px;margin-right:10px;border-radius:5px;color:#fff;text-align:left;position:relative}.result-box[_ngcontent-%COMP%] h5[_ngcontent-%COMP%]{margin:10px;text-transform:uppercase;z-index:1}.result-box[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:10px;font-size:24px;font-weight:700;text-transform:uppercase;z-index:1}.watermark[_ngcontent-%COMP%]{width:auto;height:100%;position:absolute;top:0;right:0}.button[_ngcontent-%COMP%]{background:#424242;color:#303030;border:none;padding:10px 20px;cursor:pointer;transition:background .3s ease;border-radius:5px}.button[_ngcontent-%COMP%]:hover{background:#3498db}.uppercase-heading[_ngcontent-%COMP%]{text-transform:uppercase;margin:10px 20px 20px}.search-container[_ngcontent-%COMP%]{margin-top:20px}.result-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-top:20px}"]})}return e})(),pB=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=It({type:e,bootstrap:[hB]});static#n=this.\u0275inj=ht({providers:[Nu,Ru],imports:[EF,ek,u2,kV,c2]})}return e})();wF().bootstrapModule(pB).catch(e=>console.error(e))}},le=>{le(le.s=90)}]); \ No newline at end of file +"use strict";(self.webpackChunkexplorer=self.webpackChunkexplorer||[]).push([[179],{75:()=>{function se(e){return"function"==typeof e}function Li(e){const t=e(i=>{Error.call(i),i.stack=(new Error).stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}const fr=Li(e=>function(t){e(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((i,r)=>`${r+1}) ${i.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t});function Vi(e,n){if(e){const t=e.indexOf(n);0<=t&&e.splice(t,1)}}class tt{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;const{_parentage:t}=this;if(t)if(this._parentage=null,Array.isArray(t))for(const o of t)o.remove(this);else t.remove(this);const{initialTeardown:i}=this;if(se(i))try{i()}catch(o){n=o instanceof fr?o.errors:[o]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const o of r)try{hr(o)}catch(s){n=n??[],s instanceof fr?n=[...n,...s.errors]:n.push(s)}}if(n)throw new fr(n)}}add(n){var t;if(n&&n!==this)if(this.closed)hr(n);else{if(n instanceof tt){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=null!==(t=this._finalizers)&&void 0!==t?t:[]).push(n)}}_hasParent(n){const{_parentage:t}=this;return t===n||Array.isArray(t)&&t.includes(n)}_addParent(n){const{_parentage:t}=this;this._parentage=Array.isArray(t)?(t.push(n),t):t?[t,n]:n}_removeParent(n){const{_parentage:t}=this;t===n?this._parentage=null:Array.isArray(t)&&Vi(t,n)}remove(n){const{_finalizers:t}=this;t&&Vi(t,n),n instanceof tt&&n._removeParent(this)}}tt.EMPTY=(()=>{const e=new tt;return e.closed=!0,e})();const xs=tt.EMPTY;function Al(e){return e instanceof tt||e&&"closed"in e&&se(e.remove)&&se(e.add)&&se(e.unsubscribe)}function hr(e){se(e)?e():e.unsubscribe()}const Bi={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},io={setTimeout(e,n,...t){const{delegate:i}=io;return i?.setTimeout?i.setTimeout(e,n,...t):setTimeout(e,n,...t)},clearTimeout(e){const{delegate:n}=io;return(n?.clearTimeout||clearTimeout)(e)},delegate:void 0};function Hd(e){io.setTimeout(()=>{const{onUnhandledError:n}=Bi;if(!n)throw e;n(e)})}function pr(){}const $d=As("C",void 0,void 0);function As(e,n,t){return{kind:e,value:n,error:t}}let yi=null;function ni(e){if(Bi.useDeprecatedSynchronousErrorHandling){const n=!yi;if(n&&(yi={errorThrown:!1,error:null}),e(),n){const{errorThrown:t,error:i}=yi;if(yi=null,t)throw i}}else e()}class ro extends tt{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,Al(n)&&n.add(this)):this.destination=ks}static create(n,t,i){return new bi(n,t,i)}next(n){this.isStopped?Rs(function Gd(e){return As("N",e,void 0)}(n),this):this._next(n)}error(n){this.isStopped?Rs(function Ud(e){return As("E",void 0,e)}(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?Rs($d,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(n){this.destination.next(n)}_error(n){try{this.destination.error(n)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const Rl=Function.prototype.bind;function oo(e,n){return Rl.call(e,n)}class kl{constructor(n){this.partialObserver=n}next(n){const{partialObserver:t}=this;if(t.next)try{t.next(n)}catch(i){ln(i)}}error(n){const{partialObserver:t}=this;if(t.error)try{t.error(n)}catch(i){ln(i)}else ln(n)}complete(){const{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(t){ln(t)}}}class bi extends ro{constructor(n,t,i){let r;if(super(),se(n)||!n)r={next:n??void 0,error:t??void 0,complete:i??void 0};else{let o;this&&Bi.useDeprecatedNextContext?(o=Object.create(n),o.unsubscribe=()=>this.unsubscribe(),r={next:n.next&&oo(n.next,o),error:n.error&&oo(n.error,o),complete:n.complete&&oo(n.complete,o)}):r=n}this.destination=new kl(r)}}function ln(e){Bi.useDeprecatedSynchronousErrorHandling?function zd(e){Bi.useDeprecatedSynchronousErrorHandling&&yi&&(yi.errorThrown=!0,yi.error=e)}(e):Hd(e)}function Rs(e,n){const{onStoppedNotification:t}=Bi;t&&io.setTimeout(()=>t(e,n))}const ks={closed:!0,next:pr,error:function Pl(e){throw e},complete:pr},Ps="function"==typeof Symbol&&Symbol.observable||"@@observable";function Pn(e){return e}function Ll(e){return 0===e.length?Pn:1===e.length?e[0]:function(t){return e.reduce((i,r)=>r(i),t)}}let Ce=(()=>{class e{constructor(t){t&&(this._subscribe=t)}lift(t){const i=new e;return i.source=this,i.operator=t,i}subscribe(t,i,r){const o=function qd(e){return e&&e instanceof ro||function Wd(e){return e&&se(e.next)&&se(e.error)&&se(e.complete)}(e)&&Al(e)}(t)?t:new bi(t,i,r);return ni(()=>{const{operator:s,source:a}=this;o.add(s?s.call(o,a):a?this._subscribe(o):this._trySubscribe(o))}),o}_trySubscribe(t){try{return this._subscribe(t)}catch(i){t.error(i)}}forEach(t,i){return new(i=Vl(i))((r,o)=>{const s=new bi({next:a=>{try{t(a)}catch(l){o(l),s.unsubscribe()}},error:o,complete:r});this.subscribe(s)})}_subscribe(t){var i;return null===(i=this.source)||void 0===i?void 0:i.subscribe(t)}[Ps](){return this}pipe(...t){return Ll(t)(this)}toPromise(t){return new(t=Vl(t))((i,r)=>{let o;this.subscribe(s=>o=s,s=>r(s),()=>i(o))})}}return e.create=n=>new e(n),e})();function Vl(e){var n;return null!==(n=e??Bi.Promise)&&void 0!==n?n:Promise}const Yd=Li(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let Ee=(()=>{class e extends Ce{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const i=new Bl(this,this);return i.operator=t,i}_throwIfClosed(){if(this.closed)throw new Yd}next(t){ni(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const i of this.currentObservers)i.next(t)}})}error(t){ni(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;const{observers:i}=this;for(;i.length;)i.shift().error(t)}})}complete(){ni(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:t}=this;for(;t.length;)t.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){const{hasError:i,isStopped:r,observers:o}=this;return i||r?xs:(this.currentObservers=null,o.push(t),new tt(()=>{this.currentObservers=null,Vi(o,t)}))}_checkFinalizedStatuses(t){const{hasError:i,thrownError:r,isStopped:o}=this;i?t.error(r):o&&t.complete()}asObservable(){const t=new Ce;return t.source=this,t}}return e.create=(n,t)=>new Bl(n,t),e})();class Bl extends Ee{constructor(n,t){super(),this.destination=n,this.source=t}next(n){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===i||i.call(t,n)}error(n){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===i||i.call(t,n)}complete(){var n,t;null===(t=null===(n=this.destination)||void 0===n?void 0:n.complete)||void 0===t||t.call(n)}_subscribe(n){var t,i;return null!==(i=null===(t=this.source)||void 0===t?void 0:t.subscribe(n))&&void 0!==i?i:xs}}function Fs(e){return se(e?.lift)}function ze(e){return n=>{if(Fs(n))return n.lift(function(t){try{return e(t,this)}catch(i){this.error(i)}});throw new TypeError("Unable to lift unknown Observable type")}}function Ve(e,n,t,i,r){return new Zd(e,n,t,i,r)}class Zd extends ro{constructor(n,t,i,r,o,s){super(n),this.onFinalize=o,this.shouldUnsubscribe=s,this._next=t?function(a){try{t(a)}catch(l){n.error(l)}}:super._next,this._error=r?function(a){try{r(a)}catch(l){n.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=i?function(){try{i()}catch(a){n.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:t}=this;super.unsubscribe(),!t&&(null===(n=this.onFinalize)||void 0===n||n.call(this))}}}function ae(e,n){return ze((t,i)=>{let r=0;t.subscribe(Ve(i,o=>{i.next(e.call(n,o,r++))}))})}function Jt(e){return this instanceof Jt?(this.v=e,this):new Jt(e)}function Xt(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=function nt(e){var n="function"==typeof Symbol&&Symbol.iterator,t=n&&e[n],i=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(o){t[o]=e[o]&&function(s){return new Promise(function(a,l){!function r(o,s,a,l){Promise.resolve(l).then(function(c){o({value:c,done:a})},s)}(a,l,(s=e[o](s)).done,s.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const tf=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function s_(e){return se(e?.then)}function a_(e){return se(e[Ps])}function l_(e){return Symbol.asyncIterator&&se(e?.[Symbol.asyncIterator])}function c_(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const u_=function VM(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function d_(e){return se(e?.[u_])}function f_(e){return function gr(e,n,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,i=t.apply(e,n||[]),o=[];return r={},s("next"),s("throw"),s("return"),r[Symbol.asyncIterator]=function(){return this},r;function s(h){i[h]&&(r[h]=function(_){return new Promise(function(v,y){o.push([h,_,v,y])>1||a(h,_)})})}function a(h,_){try{!function l(h){h.value instanceof Jt?Promise.resolve(h.value.v).then(c,u):d(o[0][2],h)}(i[h](_))}catch(v){d(o[0][3],v)}}function c(h){a("next",h)}function u(h){a("throw",h)}function d(h,_){h(_),o.shift(),o.length&&a(o[0][0],o[0][1])}}(this,arguments,function*(){const t=e.getReader();try{for(;;){const{value:i,done:r}=yield Jt(t.read());if(r)return yield Jt(void 0);yield yield Jt(i)}}finally{t.releaseLock()}})}function h_(e){return se(e?.getReader)}function ft(e){if(e instanceof Ce)return e;if(null!=e){if(a_(e))return function BM(e){return new Ce(n=>{const t=e[Ps]();if(se(t.subscribe))return t.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(tf(e))return function jM(e){return new Ce(n=>{for(let t=0;t{e.then(t=>{n.closed||(n.next(t),n.complete())},t=>n.error(t)).then(null,Hd)})}(e);if(l_(e))return p_(e);if(d_(e))return function $M(e){return new Ce(n=>{for(const t of e)if(n.next(t),n.closed)return;n.complete()})}(e);if(h_(e))return function UM(e){return p_(f_(e))}(e)}throw c_(e)}function p_(e){return new Ce(n=>{(function GM(e,n){var t,i,r,o;return function N(e,n,t,i){return new(t||(t=Promise))(function(o,s){function a(u){try{c(i.next(u))}catch(d){s(d)}}function l(u){try{c(i.throw(u))}catch(d){s(d)}}function c(u){u.done?o(u.value):function r(o){return o instanceof t?o:new t(function(s){s(o)})}(u.value).then(a,l)}c((i=i.apply(e,n||[])).next())})}(this,void 0,void 0,function*(){try{for(t=Xt(e);!(i=yield t.next()).done;)if(n.next(i.value),n.closed)return}catch(s){r={error:s}}finally{try{i&&!i.done&&(o=t.return)&&(yield o.call(t))}finally{if(r)throw r.error}}n.complete()})})(e,n).catch(t=>n.error(t))})}function Di(e,n,t,i=0,r=!1){const o=n.schedule(function(){t(),r?e.add(this.schedule(null,i)):this.unsubscribe()},i);if(e.add(o),!r)return o}function ht(e,n,t=1/0){return se(n)?ht((i,r)=>ae((o,s)=>n(i,o,r,s))(ft(e(i,r))),t):("number"==typeof n&&(t=n),ze((i,r)=>function zM(e,n,t,i,r,o,s,a){const l=[];let c=0,u=0,d=!1;const h=()=>{d&&!l.length&&!c&&n.complete()},_=y=>c{o&&n.next(y),c++;let D=!1;ft(t(y,u++)).subscribe(Ve(n,M=>{r?.(M),o?_(M):n.next(M)},()=>{D=!0},void 0,()=>{if(D)try{for(c--;l.length&&cv(M)):v(M)}h()}catch(M){n.error(M)}}))};return e.subscribe(Ve(n,_,()=>{d=!0,h()})),()=>{a?.()}}(i,r,e,t)))}function lo(e=1/0){return ht(Pn,e)}const bn=new Ce(e=>e.complete());function g_(e){return e&&se(e.schedule)}function nf(e){return e[e.length-1]}function Ul(e){return se(nf(e))?e.pop():void 0}function Vs(e){return g_(nf(e))?e.pop():void 0}function m_(e,n=0){return ze((t,i)=>{t.subscribe(Ve(i,r=>Di(i,e,()=>i.next(r),n),()=>Di(i,e,()=>i.complete(),n),r=>Di(i,e,()=>i.error(r),n)))})}function __(e,n=0){return ze((t,i)=>{i.add(e.schedule(()=>t.subscribe(i),n))})}function v_(e,n){if(!e)throw new Error("Iterable cannot be null");return new Ce(t=>{Di(t,n,()=>{const i=e[Symbol.asyncIterator]();Di(t,n,()=>{i.next().then(r=>{r.done?t.complete():t.next(r.value)})},0,!0)})})}function pt(e,n){return n?function KM(e,n){if(null!=e){if(a_(e))return function YM(e,n){return ft(e).pipe(__(n),m_(n))}(e,n);if(tf(e))return function JM(e,n){return new Ce(t=>{let i=0;return n.schedule(function(){i===e.length?t.complete():(t.next(e[i++]),t.closed||this.schedule())})})}(e,n);if(s_(e))return function ZM(e,n){return ft(e).pipe(__(n),m_(n))}(e,n);if(l_(e))return v_(e,n);if(d_(e))return function XM(e,n){return new Ce(t=>{let i;return Di(t,n,()=>{i=e[u_](),Di(t,n,()=>{let r,o;try{({value:r,done:o}=i.next())}catch(s){return void t.error(s)}o?t.complete():t.next(r)},0,!0)}),()=>se(i?.return)&&i.return()})}(e,n);if(h_(e))return function QM(e,n){return v_(f_(e),n)}(e,n)}throw c_(e)}(e,n):ft(e)}class Dn extends Ee{constructor(n){super(),this._value=n}get value(){return this.getValue()}_subscribe(n){const t=super._subscribe(n);return!t.closed&&n.next(this._value),t}getValue(){const{hasError:n,thrownError:t,_value:i}=this;if(n)throw t;return this._throwIfClosed(),i}next(n){super.next(this._value=n)}}function J(...e){return pt(e,Vs(e))}function b_(e={}){const{connector:n=(()=>new Ee),resetOnError:t=!0,resetOnComplete:i=!0,resetOnRefCountZero:r=!0}=e;return o=>{let s,a,l,c=0,u=!1,d=!1;const h=()=>{a?.unsubscribe(),a=void 0},_=()=>{h(),s=l=void 0,u=d=!1},v=()=>{const y=s;_(),y?.unsubscribe()};return ze((y,D)=>{c++,!d&&!u&&h();const M=l=l??n();D.add(()=>{c--,0===c&&!d&&!u&&(a=rf(v,r))}),M.subscribe(D),!s&&c>0&&(s=new bi({next:C=>M.next(C),error:C=>{d=!0,h(),a=rf(_,t,C),M.error(C)},complete:()=>{u=!0,h(),a=rf(_,i),M.complete()}}),ft(y).subscribe(s))})(o)}}function rf(e,n,...t){if(!0===n)return void e();if(!1===n)return;const i=new bi({next:()=>{i.unsubscribe(),e()}});return ft(n(...t)).subscribe(i)}function wn(e,n){return ze((t,i)=>{let r=null,o=0,s=!1;const a=()=>s&&!r&&i.complete();t.subscribe(Ve(i,l=>{r?.unsubscribe();let c=0;const u=o++;ft(e(l,u)).subscribe(r=Ve(i,d=>i.next(n?n(l,d,u,c++):d),()=>{r=null,a()}))},()=>{s=!0,a()}))})}function eI(e,n){return e===n}function xe(e){for(let n in e)if(e[n]===xe)return n;throw Error("Could not find renamed property on target object.")}function Gl(e,n){for(const t in n)n.hasOwnProperty(t)&&!e.hasOwnProperty(t)&&(e[t]=n[t])}function gt(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(gt).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const n=e.toString();if(null==n)return""+n;const t=n.indexOf("\n");return-1===t?n:n.substring(0,t)}function sf(e,n){return null==e||""===e?null===n?"":n:null==n||""===n?e:e+" "+n}const tI=xe({__forward_ref__:xe});function le(e){return e.__forward_ref__=le,e.toString=function(){return gt(this())},e}function ee(e){return af(e)?e():e}function af(e){return"function"==typeof e&&e.hasOwnProperty(tI)&&e.__forward_ref__===le}function lf(e){return e&&!!e.\u0275providers}const w_="https://g.co/ng/security#xss";class R extends Error{constructor(n,t){super(function zl(e,n){return`NG0${Math.abs(e)}${n?": "+n:""}`}(n,t)),this.code=n}}function te(e){return"string"==typeof e?e:null==e?"":String(e)}function cf(e,n){throw new R(-201,!1)}function Cn(e,n){null==e&&function Q(e,n,t,i){throw new Error(`ASSERTION ERROR: ${e}`+(null==i?"":` [Expected=> ${t} ${i} ${n} <=Actual]`))}(n,e,null,"!=")}function B(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function _e(e){return{providers:e.providers||[],imports:e.imports||[]}}function Wl(e){return C_(e,Yl)||C_(e,E_)}function C_(e,n){return e.hasOwnProperty(n)?e[n]:null}function ql(e){return e&&(e.hasOwnProperty(uf)||e.hasOwnProperty(cI))?e[uf]:null}const Yl=xe({\u0275prov:xe}),uf=xe({\u0275inj:xe}),E_=xe({ngInjectableDef:xe}),cI=xe({ngInjectorDef:xe});var ce=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(ce||{});let df;function Qt(e){const n=df;return df=e,n}function S_(e,n,t){const i=Wl(e);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:t&ce.Optional?null:void 0!==n?n:void cf(gt(e))}const Be=globalThis;class z{constructor(n,t){this._desc=n,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=B({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const Bs={},mf="__NG_DI_FLAG__",Zl="ngTempTokenPath",fI=/\n/gm,I_="__source";let co;function Hi(e){const n=co;return co=e,n}function gI(e,n=ce.Default){if(void 0===co)throw new R(-203,!1);return null===co?S_(e,void 0,n):co.get(e,n&ce.Optional?null:void 0,n)}function H(e,n=ce.Default){return(function T_(){return df}()||gI)(ee(e),n)}function F(e,n=ce.Default){return H(e,Jl(n))}function Jl(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function _f(e){const n=[];for(let t=0;tn){s=o-1;break}}}for(;oo?"":r[d+1].toLowerCase();const _=8&i?h:null;if(_&&-1!==A_(_,c,0)||2&i&&c!==h){if(Ln(i))return!1;s=!0}}}}else{if(!s&&!Ln(i)&&!Ln(l))return!1;if(s&&Ln(l))continue;s=!1,i=l|1&i}}return Ln(i)||s}function Ln(e){return 0==(1&e)}function wI(e,n,t,i){if(null===n)return-1;let r=0;if(i||!t){let o=!1;for(;r-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&i?r+="."+s:4&i&&(r+=" "+s);else""!==r&&!Ln(s)&&(n+=B_(o,r),r=""),i=s,o=o||!Ln(i);t++}return""!==r&&(n+=B_(o,r)),n}function Pt(e){return wi(()=>{const n=H_(e),t={...n,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===Xl.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||Fn.Emulated,styles:e.styles||ve,_:null,schemas:e.schemas||null,tView:null,id:""};$_(t);const i=e.dependencies;return t.directiveDefs=Kl(i,!1),t.pipeDefs=Kl(i,!0),t.id=function PI(e){let n=0;const t=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery].join("|");for(const r of t)n=Math.imul(31,n)+r.charCodeAt(0)<<0;return n+=2147483648,"c"+n}(t),t})}function xI(e){return he(e)||Et(e)}function AI(e){return null!==e}function be(e){return wi(()=>({type:e.type,bootstrap:e.bootstrap||ve,declarations:e.declarations||ve,imports:e.imports||ve,exports:e.exports||ve,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function j_(e,n){if(null==e)return ii;const t={};for(const i in e)if(e.hasOwnProperty(i)){let r=e[i],o=r;Array.isArray(r)&&(o=r[1],r=r[0]),t[r]=i,n&&(n[r]=o)}return t}function L(e){return wi(()=>{const n=H_(e);return $_(n),n})}function Bt(e){return{type:e.type,name:e.name,factory:null,pure:!1!==e.pure,standalone:!0===e.standalone,onDestroy:e.type.prototype.ngOnDestroy||null}}function he(e){return e[Ql]||null}function Et(e){return e[vf]||null}function jt(e){return e[yf]||null}function un(e,n){const t=e[O_]||null;if(!t&&!0===n)throw new Error(`Type ${gt(e)} does not have '\u0275mod' property.`);return t}function H_(e){const n={};return{type:e.type,providersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:n,inputTransforms:null,inputConfig:e.inputs||ii,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||ve,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:j_(e.inputs,n),outputs:j_(e.outputs)}}function $_(e){e.features?.forEach(n=>n(e))}function Kl(e,n){if(!e)return null;const t=n?jt:xI;return()=>("function"==typeof e?e():e).map(i=>t(i)).filter(AI)}const Ze=0,$=1,re=2,Ue=3,Vn=4,Us=5,Ft=6,fo=7,it=8,$i=9,ho=10,ne=11,Gs=12,U_=13,po=14,rt=15,zs=16,go=17,ri=18,Ws=19,G_=20,Ui=21,Ei=22,qs=23,Ys=24,ue=25,Df=1,z_=2,oi=7,mo=9,Tt=11;function Kt(e){return Array.isArray(e)&&"object"==typeof e[Df]}function Ht(e){return Array.isArray(e)&&!0===e[Df]}function wf(e){return 0!=(4&e.flags)}function vr(e){return e.componentOffset>-1}function tc(e){return 1==(1&e.flags)}function Bn(e){return!!e.template}function Cf(e){return 0!=(512&e[re])}function yr(e,n){return e.hasOwnProperty(Ci)?e[Ci]:null}let St=null,nc=!1;function En(e){const n=St;return St=e,n}const Y_={version:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{}};function J_(e){if(!Js(e)||e.dirty){if(!e.producerMustRecompute(e)&&!K_(e))return void(e.dirty=!1);e.producerRecomputeValue(e),e.dirty=!1}}function Q_(e){e.dirty=!0,function X_(e){if(void 0===e.liveConsumerNode)return;const n=nc;nc=!0;try{for(const t of e.liveConsumerNode)t.dirty||Q_(t)}finally{nc=n}}(e),e.consumerMarkedDirty?.(e)}function Tf(e){return e&&(e.nextProducerIndex=0),En(e)}function Sf(e,n){if(En(n),e&&void 0!==e.producerNode&&void 0!==e.producerIndexOfThis&&void 0!==e.producerLastReadVersion){if(Js(e))for(let t=e.nextProducerIndex;te.nextProducerIndex;)e.producerNode.pop(),e.producerLastReadVersion.pop(),e.producerIndexOfThis.pop()}}function K_(e){_o(e);for(let n=0;n0}function _o(e){e.producerNode??=[],e.producerIndexOfThis??=[],e.producerLastReadVersion??=[]}let iv=null;const av=()=>{},YI=(()=>({...Y_,consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!1,consumerMarkedDirty:e=>{e.schedule(e.ref)},hasRun:!1,cleanupFn:av}))();class ZI{constructor(n,t,i){this.previousValue=n,this.currentValue=t,this.firstChange=i}isFirstChange(){return this.firstChange}}function Mt(){return lv}function lv(e){return e.type.prototype.ngOnChanges&&(e.setInput=XI),JI}function JI(){const e=uv(this),n=e?.current;if(n){const t=e.previous;if(t===ii)e.previous=n;else for(let i in n)t[i]=n[i];e.current=null,this.ngOnChanges(n)}}function XI(e,n,t,i){const r=this.declaredInputs[t],o=uv(e)||function QI(e,n){return e[cv]=n}(e,{previous:ii,current:null}),s=o.current||(o.current={}),a=o.previous,l=a[r];s[r]=new ZI(l&&l.currentValue,n,a===ii),e[i]=n}Mt.ngInherit=!0;const cv="__ngSimpleChanges__";function uv(e){return e[cv]||null}const si=function(e,n,t){};function je(e){for(;Array.isArray(e);)e=e[Ze];return e}function rc(e,n){return je(n[e])}function en(e,n){return je(n[e.index])}function hv(e,n){return e.data[n]}function dn(e,n){const t=n[e];return Kt(t)?t:t[Ze]}function zi(e,n){return null==n?null:e[n]}function pv(e){e[go]=0}function rN(e){1024&e[re]||(e[re]|=1024,mv(e,1))}function gv(e){1024&e[re]&&(e[re]&=-1025,mv(e,-1))}function mv(e,n){let t=e[Ue];if(null===t)return;t[Us]+=n;let i=t;for(t=t[Ue];null!==t&&(1===n&&1===i[Us]||-1===n&&0===i[Us]);)t[Us]+=n,i=t,t=t[Ue]}const K={lFrame:Mv(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function yv(){return K.bindingsEnabled}function yo(){return null!==K.skipHydrationRootTNode}function O(){return K.lFrame.lView}function pe(){return K.lFrame.tView}function Je(e){return K.lFrame.contextLView=e,e[it]}function Xe(e){return K.lFrame.contextLView=null,e}function It(){let e=bv();for(;null!==e&&64===e.type;)e=e.parent;return e}function bv(){return K.lFrame.currentTNode}function ai(e,n){const t=K.lFrame;t.currentTNode=e,t.isParent=n}function xf(){return K.lFrame.isParent}function Af(){K.lFrame.isParent=!1}function $t(){const e=K.lFrame;let n=e.bindingRootIndex;return-1===n&&(n=e.bindingRootIndex=e.tView.bindingStartIndex),n}function bo(){return K.lFrame.bindingIndex++}function Si(e){const n=K.lFrame,t=n.bindingIndex;return n.bindingIndex=n.bindingIndex+e,t}function mN(e,n){const t=K.lFrame;t.bindingIndex=t.bindingRootIndex=e,Rf(n)}function Rf(e){K.lFrame.currentDirectiveIndex=e}function Ev(){return K.lFrame.currentQueryIndex}function Pf(e){K.lFrame.currentQueryIndex=e}function vN(e){const n=e[$];return 2===n.type?n.declTNode:1===n.type?e[Ft]:null}function Tv(e,n,t){if(t&ce.SkipSelf){let r=n,o=e;for(;!(r=r.parent,null!==r||t&ce.Host||(r=vN(o),null===r||(o=o[po],10&r.type))););if(null===r)return!1;n=r,e=o}const i=K.lFrame=Sv();return i.currentTNode=n,i.lView=e,!0}function Ff(e){const n=Sv(),t=e[$];K.lFrame=n,n.currentTNode=t.firstChild,n.lView=e,n.tView=t,n.contextLView=e,n.bindingIndex=t.bindingStartIndex,n.inI18n=!1}function Sv(){const e=K.lFrame,n=null===e?null:e.child;return null===n?Mv(e):n}function Mv(e){const n={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return null!==e&&(e.child=n),n}function Iv(){const e=K.lFrame;return K.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const Nv=Iv;function Lf(){const e=Iv();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function Ut(){return K.lFrame.selectedIndex}function br(e){K.lFrame.selectedIndex=e}function We(){const e=K.lFrame;return hv(e.tView,e.selectedIndex)}let xv=!0;function oc(){return xv}function Wi(e){xv=e}function sc(e,n){for(let t=n.directiveStart,i=n.directiveEnd;t=i)break}else n[l]<0&&(e[go]+=65536),(a>13>16&&(3&e[re])===n&&(e[re]+=8192,Rv(a,o)):Rv(a,o)}const Do=-1;class Qs{constructor(n,t,i){this.factory=n,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=i}}function jf(e){return e!==Do}function Ks(e){return 32767&e}function ea(e,n){let t=function ON(e){return e>>16}(e),i=n;for(;t>0;)i=i[po],t--;return i}let Hf=!0;function cc(e){const n=Hf;return Hf=e,n}const kv=255,Pv=5;let xN=0;const li={};function uc(e,n){const t=Fv(e,n);if(-1!==t)return t;const i=n[$];i.firstCreatePass&&(e.injectorIndex=n.length,$f(i.data,e),$f(n,null),$f(i.blueprint,null));const r=dc(e,n),o=e.injectorIndex;if(jf(r)){const s=Ks(r),a=ea(r,n),l=a[$].data;for(let c=0;c<8;c++)n[o+c]=a[s+c]|l[s+c]}return n[o+8]=r,o}function $f(e,n){e.push(0,0,0,0,0,0,0,0,n)}function Fv(e,n){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===n[e.injectorIndex+8]?-1:e.injectorIndex}function dc(e,n){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let t=0,i=null,r=n;for(;null!==r;){if(i=Uv(r),null===i)return Do;if(t++,r=r[po],-1!==i.injectorIndex)return i.injectorIndex|t<<16}return Do}function Uf(e,n,t){!function AN(e,n,t){let i;"string"==typeof t?i=t.charCodeAt(0)||0:t.hasOwnProperty(Hs)&&(i=t[Hs]),null==i&&(i=t[Hs]=xN++);const r=i&kv;n.data[e+(r>>Pv)]|=1<=0?n&kv:LN:n}(t);if("function"==typeof o){if(!Tv(n,e,i))return i&ce.Host?Lv(r,0,i):Vv(n,t,i,r);try{let s;if(s=o(i),null!=s||i&ce.Optional)return s;cf()}finally{Nv()}}else if("number"==typeof o){let s=null,a=Fv(e,n),l=Do,c=i&ce.Host?n[rt][Ft]:null;for((-1===a||i&ce.SkipSelf)&&(l=-1===a?dc(e,n):n[a+8],l!==Do&&$v(i,!1)?(s=n[$],a=Ks(l),n=ea(l,n)):a=-1);-1!==a;){const u=n[$];if(Hv(o,a,u.data)){const d=kN(a,n,t,s,i,c);if(d!==li)return d}l=n[a+8],l!==Do&&$v(i,n[$].data[a+8]===c)&&Hv(o,a,n)?(s=u,a=Ks(l),n=ea(l,n)):a=-1}}return r}function kN(e,n,t,i,r,o){const s=n[$],a=s.data[e+8],u=fc(a,s,t,null==i?vr(a)&&Hf:i!=s&&0!=(3&a.type),r&ce.Host&&o===a);return null!==u?Dr(n,s,u,a):li}function fc(e,n,t,i,r){const o=e.providerIndexes,s=n.data,a=1048575&o,l=e.directiveStart,u=o>>20,h=r?a+u:e.directiveEnd;for(let _=i?a:a+u;_=l&&v.type===t)return _}if(r){const _=s[l];if(_&&Bn(_)&&_.type===t)return l}return null}function Dr(e,n,t,i){let r=e[t];const o=n.data;if(function MN(e){return e instanceof Qs}(r)){const s=r;s.resolving&&function nI(e,n){const t=n?`. Dependency path: ${n.join(" > ")} > ${e}`:"";throw new R(-200,`Circular dependency in DI detected for ${e}${t}`)}(function Te(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():te(e)}(o[t]));const a=cc(s.canSeeViewProviders);s.resolving=!0;const c=s.injectImpl?Qt(s.injectImpl):null;Tv(e,i,ce.Default);try{r=e[t]=s.factory(void 0,o,e,i),n.firstCreatePass&&t>=i.directiveStart&&function TN(e,n,t){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:o}=n.type.prototype;if(i){const s=lv(n);(t.preOrderHooks??=[]).push(e,s),(t.preOrderCheckHooks??=[]).push(e,s)}r&&(t.preOrderHooks??=[]).push(0-e,r),o&&((t.preOrderHooks??=[]).push(e,o),(t.preOrderCheckHooks??=[]).push(e,o))}(t,o[t],n)}finally{null!==c&&Qt(c),cc(a),s.resolving=!1,Nv()}}return r}function Hv(e,n,t){return!!(t[n+(e>>Pv)]&1<{const n=e.prototype.constructor,t=n[Ci]||Gf(n),i=Object.prototype;let r=Object.getPrototypeOf(e.prototype).constructor;for(;r&&r!==i;){const o=r[Ci]||Gf(r);if(o&&o!==t)return o;r=Object.getPrototypeOf(r)}return o=>new o})}function Gf(e){return af(e)?()=>{const n=Gf(ee(e));return n&&n()}:yr(e)}function Uv(e){const n=e[$],t=n.type;return 2===t?n.declTNode:1===t?e[Ft]:null}const Co="__parameters__";function To(e,n,t){return wi(()=>{const i=function zf(e){return function(...t){if(e){const i=e(...t);for(const r in i)this[r]=i[r]}}}(n);function r(...o){if(this instanceof r)return i.apply(this,o),this;const s=new r(...o);return a.annotation=s,a;function a(l,c,u){const d=l.hasOwnProperty(Co)?l[Co]:Object.defineProperty(l,Co,{value:[]})[Co];for(;d.length<=u;)d.push(null);return(d[u]=d[u]||[]).push(s),l}}return t&&(r.prototype=Object.create(t.prototype)),r.prototype.ngMetadataName=e,r.annotationCls=r,r})}function Mo(e,n){e.forEach(t=>Array.isArray(t)?Mo(t,n):n(t))}function zv(e,n,t){n>=e.length?e.push(t):e.splice(n,0,t)}function hc(e,n){return n>=e.length-1?e.pop():e.splice(n,1)[0]}function ia(e,n){const t=[];for(let i=0;i=0?e[1|i]=t:(i=~i,function zN(e,n,t,i){let r=e.length;if(r==n)e.push(t,i);else if(1===r)e.push(i,e[0]),e[0]=t;else{for(r--,e.push(e[r-1],e[r]);r>n;)e[r]=e[r-2],r--;e[n]=t,e[n+1]=i}}(e,i,n,t)),i}function Wf(e,n){const t=Io(e,n);if(t>=0)return e[1|t]}function Io(e,n){return function Wv(e,n,t){let i=0,r=e.length>>t;for(;r!==i;){const o=i+(r-i>>1),s=e[o<n?r=o:i=o+1}return~(r<|^->||--!>|)/g,pO="\u200b$1\u200b";const Xf=new Map;let gO=0;const Kf="__ngContext__";function Lt(e,n){Kt(n)?(e[Kf]=n[Ws],function _O(e){Xf.set(e[Ws],e)}(n)):e[Kf]=n}let eh;function th(e,n){return eh(e,n)}function sa(e){const n=e[Ue];return Ht(n)?n[Ue]:n}function fy(e){return py(e[Gs])}function hy(e){return py(e[Vn])}function py(e){for(;null!==e&&!Ht(e);)e=e[Vn];return e}function xo(e,n,t,i,r){if(null!=i){let o,s=!1;Ht(i)?o=i:Kt(i)&&(s=!0,i=i[Ze]);const a=je(i);0===e&&null!==t?null==r?vy(n,t,a):Cr(n,t,a,r||null,!0):1===e&&null!==t?Cr(n,t,a,r||null,!0):2===e?function Ic(e,n,t){const i=Sc(e,n);i&&function FO(e,n,t,i){e.removeChild(n,t,i)}(e,i,n,t)}(n,a,s):3===e&&n.destroyNode(a),null!=o&&function BO(e,n,t,i,r){const o=t[oi];o!==je(t)&&xo(n,e,i,o,r);for(let a=Tt;an.replace(hO,pO))}(n))}function Ec(e,n,t){return e.createElement(n,t)}function my(e,n){const t=e[mo],i=t.indexOf(n);gv(n),t.splice(i,1)}function Tc(e,n){if(e.length<=Tt)return;const t=Tt+n,i=e[t];if(i){const r=i[zs];null!==r&&r!==e&&my(r,i),n>0&&(e[t-1][Vn]=i[Vn]);const o=hc(e,Tt+n);!function IO(e,n){la(e,n,n[ne],2,null,null),n[Ze]=null,n[Ft]=null}(i[$],i);const s=o[ri];null!==s&&s.detachView(o[$]),i[Ue]=null,i[Vn]=null,i[re]&=-129}return i}function ih(e,n){if(!(256&n[re])){const t=n[ne];n[qs]&&ev(n[qs]),n[Ys]&&ev(n[Ys]),t.destroyNode&&la(e,n,t,3,null,null),function xO(e){let n=e[Gs];if(!n)return rh(e[$],e);for(;n;){let t=null;if(Kt(n))t=n[Gs];else{const i=n[Tt];i&&(t=i)}if(!t){for(;n&&!n[Vn]&&n!==e;)Kt(n)&&rh(n[$],n),n=n[Ue];null===n&&(n=e),Kt(n)&&rh(n[$],n),t=n&&n[Vn]}n=t}}(n)}}function rh(e,n){if(!(256&n[re])){n[re]&=-129,n[re]|=256,function PO(e,n){let t;if(null!=e&&null!=(t=e.destroyHooks))for(let i=0;i=0?i[s]():i[-s].unsubscribe(),o+=2}else t[o].call(i[t[o+1]]);null!==i&&(n[fo]=null);const r=n[Ui];if(null!==r){n[Ui]=null;for(let o=0;o-1){const{encapsulation:o}=e.data[i.directiveStart+r];if(o===Fn.None||o===Fn.Emulated)return null}return en(i,t)}}(e,n.parent,t)}function Cr(e,n,t,i,r){e.insertBefore(n,t,i,r)}function vy(e,n,t){e.appendChild(n,t)}function yy(e,n,t,i,r){null!==i?Cr(e,n,t,i,r):vy(e,n,t)}function Sc(e,n){return e.parentNode(n)}function by(e,n,t){return wy(e,n,t)}let sh,uh,wy=function Dy(e,n,t){return 40&e.type?en(e,t):null};function Mc(e,n,t,i){const r=oh(e,i,n),o=n[ne],a=by(i.parent||n[Ft],i,n);if(null!=r)if(Array.isArray(t))for(let l=0;l{t.push(s)};return Mo(n,s=>{const a=s;Ac(a,o,[],i)&&(r||=[],r.push(a))}),void 0!==r&&Gy(r,o),t}function Gy(e,n){for(let t=0;t{n(o,i)})}}function Ac(e,n,t,i){if(!(e=ee(e)))return!1;let r=null,o=ql(e);const s=!o&&he(e);if(o||s){if(s&&!s.standalone)return!1;r=e}else{const l=e.ngModule;if(o=ql(l),!o)return!1;r=l}const a=i.has(r);if(s){if(a)return!1;if(i.add(r),s.dependencies){const l="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const c of l)Ac(c,n,t,i)}}else{if(!o)return!1;{if(null!=o.imports&&!a){let c;i.add(r);try{Mo(o.imports,u=>{Ac(u,n,t,i)&&(c||=[],c.push(u))})}finally{}void 0!==c&&Gy(c,n)}if(!a){const c=yr(r)||(()=>new r);n({provide:r,useFactory:c,deps:ve},r),n({provide:$y,useValue:r,multi:!0},r),n({provide:fa,useValue:()=>H(r),multi:!0},r)}const l=o.providers;if(null!=l&&!a){const c=e;vh(l,u=>{n(u,c)})}}}return r!==e&&void 0!==e.providers}function vh(e,n){for(let t of e)lf(t)&&(t=t.\u0275providers),Array.isArray(t)?vh(t,n):n(t)}const gx=xe({provide:String,useValue:xe});function yh(e){return null!==e&&"object"==typeof e&&gx in e}function Er(e){return"function"==typeof e}const bh=new z("Set Injector scope."),Rc={},_x={};let Dh;function kc(){return void 0===Dh&&(Dh=new mh),Dh}class zt{}class Po extends zt{get destroyed(){return this._destroyed}constructor(n,t,i,r){super(),this.parent=t,this.source=i,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,Ch(n,s=>this.processProvider(s)),this.records.set(Hy,Fo(void 0,this)),r.has("environment")&&this.records.set(zt,Fo(void 0,this));const o=this.records.get(bh);null!=o&&"string"==typeof o.value&&this.scopes.add(o.value),this.injectorDefTypes=new Set(this.get($y.multi,ve,ce.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const t of this._ngOnDestroyHooks)t.ngOnDestroy();const n=this._onDestroyHooks;this._onDestroyHooks=[];for(const t of n)t()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(n){return this.assertNotDestroyed(),this._onDestroyHooks.push(n),()=>this.removeOnDestroy(n)}runInContext(n){this.assertNotDestroyed();const t=Hi(this),i=Qt(void 0);try{return n()}finally{Hi(t),Qt(i)}}get(n,t=Bs,i=ce.Default){if(this.assertNotDestroyed(),n.hasOwnProperty(x_))return n[x_](this);i=Jl(i);const o=Hi(this),s=Qt(void 0);try{if(!(i&ce.SkipSelf)){let l=this.records.get(n);if(void 0===l){const c=function wx(e){return"function"==typeof e||"object"==typeof e&&e instanceof z}(n)&&Wl(n);l=c&&this.injectableDefInScope(c)?Fo(wh(n),Rc):null,this.records.set(n,l)}if(null!=l)return this.hydrate(n,l)}return(i&ce.Self?kc():this.parent).get(n,t=i&ce.Optional&&t===Bs?null:t)}catch(a){if("NullInjectorError"===a.name){if((a[Zl]=a[Zl]||[]).unshift(gt(n)),o)throw a;return function _I(e,n,t,i){const r=e[Zl];throw n[I_]&&r.unshift(n[I_]),e.message=function vI(e,n,t,i=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let r=gt(n);if(Array.isArray(n))r=n.map(gt).join(" -> ");else if("object"==typeof n){let o=[];for(let s in n)if(n.hasOwnProperty(s)){let a=n[s];o.push(s+":"+("string"==typeof a?JSON.stringify(a):gt(a)))}r=`{${o.join(", ")}}`}return`${t}${i?"("+i+")":""}[${r}]: ${e.replace(fI,"\n ")}`}("\n"+e.message,r,t,i),e.ngTokenPath=r,e[Zl]=null,e}(a,n,"R3InjectorError",this.source)}throw a}finally{Qt(s),Hi(o)}}resolveInjectorInitializers(){const n=Hi(this),t=Qt(void 0);try{const r=this.get(fa.multi,ve,ce.Self);for(const o of r)o()}finally{Hi(n),Qt(t)}}toString(){const n=[],t=this.records;for(const i of t.keys())n.push(gt(i));return`R3Injector[${n.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new R(205,!1)}processProvider(n){let t=Er(n=ee(n))?n:ee(n&&n.provide);const i=function yx(e){return yh(e)?Fo(void 0,e.useValue):Fo(qy(e),Rc)}(n);if(Er(n)||!0!==n.multi)this.records.get(t);else{let r=this.records.get(t);r||(r=Fo(void 0,Rc,!0),r.factory=()=>_f(r.multi),this.records.set(t,r)),t=n,r.multi.push(n)}this.records.set(t,i)}hydrate(n,t){return t.value===Rc&&(t.value=_x,t.value=t.factory()),"object"==typeof t.value&&t.value&&function Dx(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}injectableDefInScope(n){if(!n.providedIn)return!1;const t=ee(n.providedIn);return"string"==typeof t?"any"===t||this.scopes.has(t):this.injectorDefTypes.has(t)}removeOnDestroy(n){const t=this._onDestroyHooks.indexOf(n);-1!==t&&this._onDestroyHooks.splice(t,1)}}function wh(e){const n=Wl(e),t=null!==n?n.factory:yr(e);if(null!==t)return t;if(e instanceof z)throw new R(204,!1);if(e instanceof Function)return function vx(e){const n=e.length;if(n>0)throw ia(n,"?"),new R(204,!1);const t=function lI(e){return e&&(e[Yl]||e[E_])||null}(e);return null!==t?()=>t.factory(e):()=>new e}(e);throw new R(204,!1)}function qy(e,n,t){let i;if(Er(e)){const r=ee(e);return yr(r)||wh(r)}if(yh(e))i=()=>ee(e.useValue);else if(function Wy(e){return!(!e||!e.useFactory)}(e))i=()=>e.useFactory(..._f(e.deps||[]));else if(function zy(e){return!(!e||!e.useExisting)}(e))i=()=>H(ee(e.useExisting));else{const r=ee(e&&(e.useClass||e.provide));if(!function bx(e){return!!e.deps}(e))return yr(r)||wh(r);i=()=>new r(..._f(e.deps))}return i}function Fo(e,n,t=!1){return{factory:e,value:n,multi:t?[]:void 0}}function Ch(e,n){for(const t of e)Array.isArray(t)?Ch(t,n):t&&lf(t)?Ch(t.\u0275providers,n):n(t)}const Pc=new z("AppId",{providedIn:"root",factory:()=>Cx}),Cx="ng",Yy=new z("Platform Initializer"),Tr=new z("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),Zy=new z("CSP nonce",{providedIn:"root",factory:()=>function Ro(){if(void 0!==uh)return uh;if(typeof document<"u")return document;throw new R(210,!1)}().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let Jy=(e,n,t)=>null;function xh(e,n,t=!1){return Jy(e,n,t)}class Rx{}class Ky{}class Px{resolveComponentFactory(n){throw function kx(e){const n=Error(`No component factory found for ${gt(e)}.`);return n.ngComponent=e,n}(n)}}let Hc=(()=>{class e{static#e=this.NULL=new Px}return e})();function Fx(){return Bo(It(),O())}function Bo(e,n){return new Se(en(e,n))}let Se=(()=>{class e{constructor(t){this.nativeElement=t}static#e=this.__NG_ELEMENT_ID__=Fx}return e})();function Lx(e){return e instanceof Se?e.nativeElement:e}class kh{}let hn=(()=>{class e{constructor(){this.destroyNode=null}static#e=this.__NG_ELEMENT_ID__=()=>function Vx(){const e=O(),t=dn(It().index,e);return(Kt(t)?t:e)[ne]}()}return e})(),Bx=(()=>{class e{static#e=this.\u0275prov=B({token:e,providedIn:"root",factory:()=>null})}return e})();class ga{constructor(n){this.full=n,this.major=n.split(".")[0],this.minor=n.split(".")[1],this.patch=n.split(".").slice(2).join(".")}}const jx=new ga("16.2.12"),Ph={};function o0(e,n=null,t=null,i){const r=s0(e,n,t,i);return r.resolveInjectorInitializers(),r}function s0(e,n=null,t=null,i,r=new Set){const o=[t||ve,px(e)];return i=i||("object"==typeof e?void 0:gt(e)),new Po(o,n||kc(),i||null,r)}let Nt=(()=>{class e{static#e=this.THROW_IF_NOT_FOUND=Bs;static#t=this.NULL=new mh;static create(t,i){if(Array.isArray(t))return o0({name:""},i,t,"");{const r=t.name??"";return o0({name:r},t.parent,t.providers,r)}}static#n=this.\u0275prov=B({token:e,providedIn:"any",factory:()=>H(Hy)});static#i=this.__NG_ELEMENT_ID__=-1}return e})();function Fh(e){return e.ngOriginalError}class Ii{constructor(){this._console=console}handleError(n){const t=this._findOriginalError(n);this._console.error("ERROR",n),t&&this._console.error("ORIGINAL ERROR",t)}_findOriginalError(n){let t=n&&Fh(n);for(;t&&Fh(t);)t=Fh(t);return t||null}}function Lh(e){return n=>{setTimeout(e,void 0,n)}}const Y=class Yx extends Ee{constructor(n=!1){super(),this.__isAsync=n}emit(n){super.next(n)}subscribe(n,t,i){let r=n,o=t||(()=>null),s=i;if(n&&"object"==typeof n){const l=n;r=l.next?.bind(l),o=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(o=Lh(o),r&&(r=Lh(r)),s&&(s=Lh(s)));const a=super.subscribe({next:r,error:o,complete:s});return n instanceof tt&&n.add(a),a}};function l0(...e){}class fe{constructor({enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Y(!1),this.onMicrotaskEmpty=new Y(!1),this.onStable=new Y(!1),this.onError=new Y(!1),typeof Zone>"u")throw new R(908,!1);Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),n&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!i&&t,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function Zx(){const e="function"==typeof Be.requestAnimationFrame;let n=Be[e?"requestAnimationFrame":"setTimeout"],t=Be[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&n&&t){const i=n[Zone.__symbol__("OriginalDelegate")];i&&(n=i);const r=t[Zone.__symbol__("OriginalDelegate")];r&&(t=r)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:t}}().nativeRequestAnimationFrame,function Qx(e){const n=()=>{!function Xx(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(Be,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,Bh(e),e.isCheckStableRunning=!0,Vh(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),Bh(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,i,r,o,s,a)=>{if(function eA(e){return!(!Array.isArray(e)||1!==e.length)&&!0===e[0].data?.__ignore_ng_zone__}(a))return t.invokeTask(r,o,s,a);try{return c0(e),t.invokeTask(r,o,s,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===o.type||e.shouldCoalesceRunChangeDetection)&&n(),u0(e)}},onInvoke:(t,i,r,o,s,a,l)=>{try{return c0(e),t.invoke(r,o,s,a,l)}finally{e.shouldCoalesceRunChangeDetection&&n(),u0(e)}},onHasTask:(t,i,r,o)=>{t.hasTask(r,o),i===r&&("microTask"==o.change?(e._hasPendingMicrotasks=o.microTask,Bh(e),Vh(e)):"macroTask"==o.change&&(e.hasPendingMacrotasks=o.macroTask))},onHandleError:(t,i,r,o)=>(t.handleError(r,o),e.runOutsideAngular(()=>e.onError.emit(o)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!fe.isInAngularZone())throw new R(909,!1)}static assertNotInAngularZone(){if(fe.isInAngularZone())throw new R(909,!1)}run(n,t,i){return this._inner.run(n,t,i)}runTask(n,t,i,r){const o=this._inner,s=o.scheduleEventTask("NgZoneEvent: "+r,n,Jx,l0,l0);try{return o.runTask(s,t,i)}finally{o.cancelTask(s)}}runGuarded(n,t,i){return this._inner.runGuarded(n,t,i)}runOutsideAngular(n){return this._outer.run(n)}}const Jx={};function Vh(e){if(0==e._nesting&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function Bh(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function c0(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function u0(e){e._nesting--,Vh(e)}class Kx{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Y,this.onMicrotaskEmpty=new Y,this.onStable=new Y,this.onError=new Y}run(n,t,i){return n.apply(t,i)}runGuarded(n,t,i){return n.apply(t,i)}runOutsideAngular(n){return n()}runTask(n,t,i,r){return n.apply(t,i)}}const d0=new z("",{providedIn:"root",factory:f0});function f0(){const e=F(fe);let n=!0;return function y_(...e){const n=Vs(e),t=function qM(e,n){return"number"==typeof nf(e)?e.pop():n}(e,1/0),i=e;return i.length?1===i.length?ft(i[0]):lo(t)(pt(i,n)):bn}(new Ce(r=>{n=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{r.next(n),r.complete()})}),new Ce(r=>{let o;e.runOutsideAngular(()=>{o=e.onStable.subscribe(()=>{fe.assertNotInAngularZone(),queueMicrotask(()=>{!n&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(n=!0,r.next(!0))})})});const s=e.onUnstable.subscribe(()=>{fe.assertInAngularZone(),n&&(n=!1,e.runOutsideAngular(()=>{r.next(!1)}))});return()=>{o.unsubscribe(),s.unsubscribe()}}).pipe(b_()))}function Ni(e){return e instanceof Function?e():e}let jh=(()=>{class e{constructor(){this.renderDepth=0,this.handler=null}begin(){this.handler?.validateBegin(),this.renderDepth++}end(){this.renderDepth--,0===this.renderDepth&&this.handler?.execute()}ngOnDestroy(){this.handler?.destroy(),this.handler=null}static#e=this.\u0275prov=B({token:e,providedIn:"root",factory:()=>new e})}return e})();function ma(e){for(;e;){e[re]|=64;const n=sa(e);if(Cf(e)&&!n)return e;e=n}return null}const _0=new z("",{providedIn:"root",factory:()=>!1});let Gc=null;function D0(e,n){return e[n]??E0()}function w0(e,n){const t=E0();t.producerNode?.length&&(e[n]=Gc,t.lView=e,Gc=C0())}const uA={...Y_,consumerIsAlwaysLive:!0,consumerMarkedDirty:e=>{ma(e.lView)},lView:null};function C0(){return Object.create(uA)}function E0(){return Gc??=C0(),Gc}const ie={};function g(e){T0(pe(),O(),Ut()+e,!1)}function T0(e,n,t,i){if(!i)if(3==(3&n[re])){const o=e.preOrderCheckHooks;null!==o&&ac(n,o,t)}else{const o=e.preOrderHooks;null!==o&&lc(n,o,0,t)}br(t)}function b(e,n=ce.Default){const t=O();return null===t?H(e,n):Bv(It(),t,ee(e),n)}function zc(e,n,t,i,r,o,s,a,l,c,u){const d=n.blueprint.slice();return d[Ze]=r,d[re]=140|i,(null!==c||e&&2048&e[re])&&(d[re]|=2048),pv(d),d[Ue]=d[po]=e,d[it]=t,d[ho]=s||e&&e[ho],d[ne]=a||e&&e[ne],d[$i]=l||e&&e[$i]||null,d[Ft]=o,d[Ws]=function mO(){return gO++}(),d[Ei]=u,d[G_]=c,d[rt]=2==n.type?e[rt]:d,d}function Uo(e,n,t,i,r){let o=e.data[n];if(null===o)o=function Hh(e,n,t,i,r){const o=bv(),s=xf(),l=e.data[n]=function vA(e,n,t,i,r,o){let s=n?n.injectorIndex:-1,a=0;return yo()&&(a|=128),{type:t,index:i,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:r,attrs:o,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:n,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,s?o:o&&o.parent,t,n,i,r);return null===e.firstChild&&(e.firstChild=l),null!==o&&(s?null==o.child&&null!==l.parent&&(o.child=l):null===o.next&&(o.next=l,l.prev=o)),l}(e,n,t,i,r),function gN(){return K.lFrame.inI18n}()&&(o.flags|=32);else if(64&o.type){o.type=t,o.value=i,o.attrs=r;const s=function Xs(){const e=K.lFrame,n=e.currentTNode;return e.isParent?n:n.parent}();o.injectorIndex=null===s?-1:s.injectorIndex}return ai(o,!0),o}function _a(e,n,t,i){if(0===t)return-1;const r=n.length;for(let o=0;oue&&T0(e,n,ue,!1),si(a?2:0,r);const c=a?o:null,u=Tf(c);try{null!==c&&(c.dirty=!1),t(i,r)}finally{Sf(c,u)}}finally{a&&null===n[qs]&&w0(n,qs),br(s),si(a?3:1,r)}}function $h(e,n,t){if(wf(n)){const i=En(null);try{const o=n.directiveEnd;for(let s=n.directiveStart;snull;function O0(e,n,t,i){for(let r in e)if(e.hasOwnProperty(r)){t=null===t?{}:t;const o=e[r];null===i?x0(t,n,r,o):i.hasOwnProperty(r)&&x0(t,n,i[r],o)}return t}function x0(e,n,t,i){e.hasOwnProperty(t)?e[t].push(n,i):e[t]=[n,i]}function pn(e,n,t,i,r,o,s,a){const l=en(n,t);let u,c=n.inputs;!a&&null!=c&&(u=c[i])?(Jh(e,t,u,i,r),vr(n)&&function DA(e,n){const t=dn(n,e);16&t[re]||(t[re]|=64)}(t,n.index)):3&n.type&&(i=function bA(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(i),r=null!=s?s(r,n.value||"",i):r,o.setProperty(l,i,r))}function Wh(e,n,t,i){if(yv()){const r=null===i?null:{"":-1},o=function MA(e,n){const t=e.directiveRegistry;let i=null,r=null;if(t)for(let o=0;o0;){const t=e[--n];if("number"==typeof t&&t<0)return t}return 0})(s)!=a&&s.push(a),s.push(t,i,o)}}(e,n,i,_a(e,t,r.hostVars,ie),r)}function ci(e,n,t,i,r,o){const s=en(e,n);!function Yh(e,n,t,i,r,o,s){if(null==o)e.removeAttribute(n,r,t);else{const a=null==s?te(o):s(o,i||"",r);e.setAttribute(n,r,a,t)}}(n[ne],s,o,e.value,t,i,r)}function RA(e,n,t,i,r,o){const s=o[n];if(null!==s)for(let a=0;a{class e{constructor(){this.all=new Set,this.queue=new Map}create(t,i,r){const o=typeof Zone>"u"?null:Zone.current,s=function qI(e,n,t){const i=Object.create(YI);t&&(i.consumerAllowSignalWrites=!0),i.fn=e,i.schedule=n;const r=s=>{i.cleanupFn=s};return i.ref={notify:()=>Q_(i),run:()=>{if(i.dirty=!1,i.hasRun&&!K_(i))return;i.hasRun=!0;const s=Tf(i);try{i.cleanupFn(),i.cleanupFn=av,i.fn(r)}finally{Sf(i,s)}},cleanup:()=>i.cleanupFn()},i.ref}(t,c=>{this.all.has(c)&&this.queue.set(c,o)},r);let a;this.all.add(s),s.notify();const l=()=>{s.cleanup(),a?.(),this.all.delete(s),this.queue.delete(s)};return a=i?.onDestroy(l),{destroy:l}}flush(){if(0!==this.queue.size)for(const[t,i]of this.queue)this.queue.delete(t),i?i.run(()=>t.run()):t.run()}get isQueueEmpty(){return 0===this.queue.size}static#e=this.\u0275prov=B({token:e,providedIn:"root",factory:()=>new e})}return e})();function qc(e,n,t){let i=t?e.styles:null,r=t?e.classes:null,o=0;if(null!==n)for(let s=0;s0){G0(e,1);const r=t.components;null!==r&&W0(e,r,1)}}function W0(e,n,t){for(let i=0;i-1&&(Tc(n,i),hc(t,i))}this._attachedToViewContainer=!1}ih(this._lView[$],this._lView)}onDestroy(n){!function _v(e,n){if(256==(256&e[re]))throw new R(911,!1);null===e[Ui]&&(e[Ui]=[]),e[Ui].push(n)}(this._lView,n)}markForCheck(){ma(this._cdRefInjectingView||this._lView)}detach(){this._lView[re]&=-129}reattach(){this._lView[re]|=128}detectChanges(){Yc(this._lView[$],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new R(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function OO(e,n){la(e,n,n[ne],2,null,null)}(this._lView[$],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new R(902,!1);this._appRef=n}}class $A extends ya{constructor(n){super(n),this._view=n}detectChanges(){const n=this._view;Yc(n[$],n,n[it],!1)}checkNoChanges(){}get context(){return null}}class q0 extends Hc{constructor(n){super(),this.ngModule=n}resolveComponentFactory(n){const t=he(n);return new ba(t,this.ngModule)}}function Y0(e){const n=[];for(let t in e)e.hasOwnProperty(t)&&n.push({propName:e[t],templateName:t});return n}class GA{constructor(n,t){this.injector=n,this.parentInjector=t}get(n,t,i){i=Jl(i);const r=this.injector.get(n,Ph,i);return r!==Ph||t===Ph?r:this.parentInjector.get(n,t,i)}}class ba extends Ky{get inputs(){const n=this.componentDef,t=n.inputTransforms,i=Y0(n.inputs);if(null!==t)for(const r of i)t.hasOwnProperty(r.propName)&&(r.transform=t[r.propName]);return i}get outputs(){return Y0(this.componentDef.outputs)}constructor(n,t){super(),this.componentDef=n,this.ngModule=t,this.componentType=n.type,this.selector=function II(e){return e.map(MI).join(",")}(n.selectors),this.ngContentSelectors=n.ngContentSelectors?n.ngContentSelectors:[],this.isBoundToModule=!!t}create(n,t,i,r){let o=(r=r||this.ngModule)instanceof zt?r:r?.injector;o&&null!==this.componentDef.getStandaloneInjector&&(o=this.componentDef.getStandaloneInjector(o)||o);const s=o?new GA(n,o):n,a=s.get(kh,null);if(null===a)throw new R(407,!1);const d={rendererFactory:a,sanitizer:s.get(Bx,null),effectManager:s.get(H0,null),afterRenderEventManager:s.get(jh,null)},h=a.createRenderer(null,this.componentDef),_=this.componentDef.selectors[0][0]||"div",v=i?function hA(e,n,t,i){const o=i.get(_0,!1)||t===Fn.ShadowDom,s=e.selectRootElement(n,o);return function pA(e){N0(e)}(s),s}(h,i,this.componentDef.encapsulation,s):Ec(h,_,function UA(e){const n=e.toLowerCase();return"svg"===n?"svg":"math"===n?"math":null}(_)),M=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let C=null;null!==v&&(C=xh(v,s,!0));const k=zh(0,null,null,1,0,null,null,null,null,null,null),P=zc(null,k,null,M,null,null,d,h,s,null,C);let G,X;Ff(P);try{const de=this.componentDef;let ge,et=null;de.findHostDirectiveDefs?(ge=[],et=new Map,de.findHostDirectiveDefs(de,ge,et),ge.push(de)):ge=[de];const lt=function WA(e,n){const t=e[$],i=ue;return e[i]=n,Uo(t,i,2,"#host",null)}(P,v),Ct=function qA(e,n,t,i,r,o,s){const a=r[$];!function YA(e,n,t,i){for(const r of e)n.mergedAttrs=$s(n.mergedAttrs,r.hostAttrs);null!==n.mergedAttrs&&(qc(n,n.mergedAttrs,!0),null!==t&&Iy(i,t,n))}(i,e,n,s);let l=null;null!==n&&(l=xh(n,r[$i]));const c=o.rendererFactory.createRenderer(n,t);let u=16;t.signals?u=4096:t.onPush&&(u=64);const d=zc(r,I0(t),null,u,r[e.index],e,o,c,null,null,l);return a.firstCreatePass&&qh(a,e,i.length-1),Wc(r,d),r[e.index]=d}(lt,v,de,ge,P,d,h);X=hv(k,ue),v&&function JA(e,n,t,i){if(i)bf(e,t,["ng-version",jx.full]);else{const{attrs:r,classes:o}=function NI(e){const n=[],t=[];let i=1,r=2;for(;i0&&My(e,t,o.join(" "))}}(h,de,v,i),void 0!==t&&function XA(e,n,t){const i=e.projection=[];for(let r=0;r=0;i--){const r=e[i];r.hostVars=n+=r.hostVars,r.hostAttrs=$s(r.hostAttrs,t=$s(t,r.hostAttrs))}}(i)}function Zc(e){return e===ii?{}:e===ve?[]:e}function eR(e,n){const t=e.viewQuery;e.viewQuery=t?(i,r)=>{n(i,r),t(i,r)}:n}function tR(e,n){const t=e.contentQueries;e.contentQueries=t?(i,r,o)=>{n(i,r,o),t(i,r,o)}:n}function nR(e,n){const t=e.hostBindings;e.hostBindings=t?(i,r)=>{n(i,r),t(i,r)}:n}function Jc(e){return!!Qh(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function Qh(e){return null!==e&&("function"==typeof e||"object"==typeof e)}function ui(e,n,t){return e[n]=t}function Vt(e,n,t){return!Object.is(e[n],t)&&(e[n]=t,!0)}function Sr(e,n,t,i){const r=Vt(e,n,t);return Vt(e,n+1,i)||r}function Ie(e,n,t,i){const r=O();return Vt(r,bo(),n)&&(pe(),ci(We(),r,e,n,t,i)),Ie}function zo(e,n,t,i){return Vt(e,bo(),t)?n+te(t)+i:ie}function Wo(e,n,t,i,r,o){const a=Sr(e,function Ti(){return K.lFrame.bindingIndex}(),t,r);return Si(2),a?n+te(t)+i+te(r)+o:ie}function I(e,n,t,i,r,o,s,a){const l=O(),c=pe(),u=e+ue,d=c.firstCreatePass?function SR(e,n,t,i,r,o,s,a,l){const c=n.consts,u=Uo(n,e,4,s||null,zi(c,a));Wh(n,t,u,zi(c,l)),sc(n,u);const d=u.tView=zh(2,u,i,r,o,n.directiveRegistry,n.pipeRegistry,null,n.schemas,c,null);return null!==n.queries&&(n.queries.template(n,u),d.queries=n.queries.embeddedTView(u)),u}(u,c,l,n,t,i,r,o,s):c.data[u];ai(d,!1);const h=f1(c,l,d,e);oc()&&Mc(c,l,h,d),Lt(h,l),Wc(l,l[u]=P0(h,l,h,d)),tc(d)&&Uh(c,l,d),null!=s&&Gh(l,d,a)}let f1=function h1(e,n,t,i){return Wi(!0),n[ne].createComment("")};function S(e,n,t){const i=O();return Vt(i,bo(),n)&&pn(pe(),We(),i,e,n,i[ne],t,!1),S}function rp(e,n,t,i,r){const s=r?"class":"style";Jh(e,t,n.inputs[s],s,i)}function p(e,n,t,i){const r=O(),o=pe(),s=ue+e,a=r[ne],l=o.firstCreatePass?function OR(e,n,t,i,r,o){const s=n.consts,l=Uo(n,e,2,i,zi(s,r));return Wh(n,t,l,zi(s,o)),null!==l.attrs&&qc(l,l.attrs,!1),null!==l.mergedAttrs&&qc(l,l.mergedAttrs,!0),null!==n.queries&&n.queries.elementStart(n,l),l}(s,o,r,n,t,i):o.data[s],c=p1(o,r,l,a,n,e);r[s]=c;const u=tc(l);return ai(l,!0),Iy(a,c,l),32!=(32&l.flags)&&oc()&&Mc(o,r,c,l),0===function sN(){return K.lFrame.elementDepthCount}()&&Lt(c,r),function aN(){K.lFrame.elementDepthCount++}(),u&&(Uh(o,r,l),$h(o,l,r)),null!==i&&Gh(r,l),p}function f(){let e=It();xf()?Af():(e=e.parent,ai(e,!1));const n=e;(function cN(e){return K.skipHydrationRootTNode===e})(n)&&function hN(){K.skipHydrationRootTNode=null}(),function lN(){K.lFrame.elementDepthCount--}();const t=pe();return t.firstCreatePass&&(sc(t,e),wf(e)&&t.queries.elementEnd(e)),null!=n.classesWithoutHost&&function IN(e){return 0!=(8&e.flags)}(n)&&rp(t,n,O(),n.classesWithoutHost,!0),null!=n.stylesWithoutHost&&function NN(e){return 0!=(16&e.flags)}(n)&&rp(t,n,O(),n.stylesWithoutHost,!1),f}function Ae(e,n,t,i){return p(e,n,t,i),f(),Ae}let p1=(e,n,t,i,r,o)=>(Wi(!0),Ec(i,r,function Ov(){return K.lFrame.currentNamespace}()));function Zi(e,n,t){const i=O(),r=pe(),o=e+ue,s=r.firstCreatePass?function RR(e,n,t,i,r){const o=n.consts,s=zi(o,i),a=Uo(n,e,8,"ng-container",s);return null!==s&&qc(a,s,!0),Wh(n,t,a,zi(o,r)),null!==n.queries&&n.queries.elementStart(n,a),a}(o,r,i,n,t):r.data[o];ai(s,!0);const a=m1(r,i,s,e);return i[o]=a,oc()&&Mc(r,i,a,s),Lt(a,i),tc(s)&&(Uh(r,i,s),$h(r,s,i)),null!=t&&Gh(i,s),Zi}function Ji(){let e=It();const n=pe();return xf()?Af():(e=e.parent,ai(e,!1)),n.firstCreatePass&&(sc(n,e),wf(e)&&n.queries.elementEnd(e)),Ji}let m1=(e,n,t,i)=>(Wi(!0),nh(n[ne],""));function st(){return O()}function Sa(e){return!!e&&"function"==typeof e.then}function _1(e){return!!e&&"function"==typeof e.subscribe}function Z(e,n,t,i){const r=O(),o=pe(),s=It();return function y1(e,n,t,i,r,o,s){const a=tc(i),c=e.firstCreatePass&&V0(e),u=n[it],d=L0(n);let h=!0;if(3&i.type||s){const y=en(i,n),D=s?s(y):y,M=d.length,C=s?P=>s(je(P[i.index])):i.index;let k=null;if(!s&&a&&(k=function FR(e,n,t,i){const r=e.cleanup;if(null!=r)for(let o=0;ol?a[l]:null}"string"==typeof s&&(o+=2)}return null}(e,n,r,i.index)),null!==k)(k.__ngLastListenerFn__||k).__ngNextListenerFn__=o,k.__ngLastListenerFn__=o,h=!1;else{o=D1(i,n,u,o,!1);const P=t.listen(D,r,o);d.push(o,P),c&&c.push(r,C,M,M+1)}}else o=D1(i,n,u,o,!1);const _=i.outputs;let v;if(h&&null!==_&&(v=_[r])){const y=v.length;if(y)for(let D=0;D-1?dn(e.index,n):n);let l=b1(n,t,i,s),c=o.__ngNextListenerFn__;for(;c;)l=b1(n,t,c,s)&&l,c=c.__ngNextListenerFn__;return r&&!1===l&&s.preventDefault(),l}}function T(e=1){return function yN(e){return(K.lFrame.contextLView=function bN(e,n){for(;e>0;)n=n[po],e--;return n}(e,K.lFrame.contextLView))[it]}(e)}function LR(e,n){let t=null;const i=function CI(e){const n=e.attrs;if(null!=n){const t=n.indexOf(5);if(!(1&t))return n[t+1]}return null}(e);for(let r=0;r>17&32767}function sp(e){return 2|e}function Mr(e){return(131068&e)>>2}function ap(e,n){return-131069&e|n<<2}function lp(e){return 1|e}function A1(e,n,t,i,r){const o=e[t+1],s=null===n;let a=i?Xi(o):Mr(o),l=!1;for(;0!==a&&(!1===l||s);){const u=e[a+1];UR(e[a],n)&&(l=!0,e[a+1]=i?lp(u):sp(u)),a=i?Xi(u):Mr(u)}l&&(e[t+1]=i?sp(o):lp(o))}function UR(e,n){return null===e||null==n||(Array.isArray(e)?e[1]:e)===n||!(!Array.isArray(e)||"string"!=typeof n)&&Io(e,n)>=0}const _t={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function R1(e){return e.substring(_t.key,_t.keyEnd)}function k1(e,n){const t=_t.textEnd;return t===n?-1:(n=_t.keyEnd=function qR(e,n,t){for(;n32;)n++;return n}(e,_t.key=n,t),Ko(e,n,t))}function Ko(e,n,t){for(;n=0;t=k1(n,t))fn(e,R1(n),!0)}function j1(e,n){return n>=e.expandoStartIndex}function H1(e,n,t,i){const r=e.data;if(null===r[t+1]){const o=r[Ut()],s=j1(e,t);z1(o,i)&&null===n&&!s&&(n=!1),n=function XR(e,n,t,i){const r=function kf(e){const n=K.lFrame.currentDirectiveIndex;return-1===n?null:e[n]}(e);let o=i?n.residualClasses:n.residualStyles;if(null===r)0===(i?n.classBindings:n.styleBindings)&&(t=Ma(t=cp(null,e,n,t,i),n.attrs,i),o=null);else{const s=n.directiveStylingLast;if(-1===s||e[s]!==r)if(t=cp(r,e,n,t,i),null===o){let l=function QR(e,n,t){const i=t?n.classBindings:n.styleBindings;if(0!==Mr(i))return e[Xi(i)]}(e,n,i);void 0!==l&&Array.isArray(l)&&(l=cp(null,e,n,l[1],i),l=Ma(l,n.attrs,i),function KR(e,n,t,i){e[Xi(t?n.classBindings:n.styleBindings)]=i}(e,n,i,l))}else o=function e2(e,n,t){let i;const r=n.directiveEnd;for(let o=1+n.directiveStylingLast;o0)&&(c=!0)):u=t,r)if(0!==l){const h=Xi(e[a+1]);e[i+1]=tu(h,a),0!==h&&(e[h+1]=ap(e[h+1],i)),e[a+1]=function BR(e,n){return 131071&e|n<<17}(e[a+1],i)}else e[i+1]=tu(a,0),0!==a&&(e[a+1]=ap(e[a+1],i)),a=i;else e[i+1]=tu(l,0),0===a?a=i:e[l+1]=ap(e[l+1],i),l=i;c&&(e[i+1]=sp(e[i+1])),A1(e,u,i,!0),A1(e,u,i,!1),function $R(e,n,t,i,r){const o=r?e.residualClasses:e.residualStyles;null!=o&&"string"==typeof n&&Io(o,n)>=0&&(t[i+1]=lp(t[i+1]))}(n,u,e,i,o),s=tu(a,l),o?n.classBindings=s:n.styleBindings=s}(r,o,n,t,s,i)}}function cp(e,n,t,i,r){let o=null;const s=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=e[r],c=Array.isArray(l),u=c?l[1]:l,d=null===u;let h=t[r+1];h===ie&&(h=d?ve:void 0);let _=d?Wf(h,i):u===i?h:void 0;if(c&&!nu(_)&&(_=Wf(l,i)),nu(_)&&(a=_,s))return a;const v=e[r+1];r=s?Xi(v):Mr(v)}if(null!==n){let l=o?n.residualClasses:n.residualStyles;null!=l&&(a=Wf(l,i))}return a}function nu(e){return void 0!==e}function z1(e,n){return 0!=(e.flags&(n?8:16))}function m(e,n=""){const t=O(),i=pe(),r=e+ue,o=i.firstCreatePass?Uo(i,r,1,n,null):i.data[r],s=W1(i,t,o,n,e);t[r]=s,oc()&&Mc(i,t,s,o),ai(o,!1)}let W1=(e,n,t,i,r)=>(Wi(!0),function Cc(e,n){return e.createText(n)}(n[ne],i));function A(e){return V("",e,""),A}function V(e,n,t){const i=O(),r=zo(i,e,n,t);return r!==ie&&Oi(i,Ut(),r),V}function up(e,n,t,i,r){const o=O(),s=Wo(o,e,n,t,i,r);return s!==ie&&Oi(o,Ut(),s),up}const ts="en-US";let fb=ts;function hp(e,n,t,i,r){if(e=ee(e),Array.isArray(e))for(let o=0;o>20;if(Er(e)||!e.multi){const _=new Qs(c,r,b),v=gp(l,n,r?u:u+h,d);-1===v?(Uf(uc(a,s),o,l),pp(o,e,n.length),n.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),t.push(_),s.push(_)):(t[v]=_,s[v]=_)}else{const _=gp(l,n,u+h,d),v=gp(l,n,u,u+h),D=v>=0&&t[v];if(r&&!D||!r&&!(_>=0&&t[_])){Uf(uc(a,s),o,l);const M=function Ek(e,n,t,i,r){const o=new Qs(e,t,b);return o.multi=[],o.index=n,o.componentProviders=0,Lb(o,r,i&&!t),o}(r?Ck:wk,t.length,r,i,c);!r&&D&&(t[v].providerFactory=M),pp(o,e,n.length,0),n.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),t.push(M),s.push(M)}else pp(o,e,_>-1?_:v,Lb(t[r?v:_],c,!r&&i));!r&&i&&D&&t[v].componentProviders++}}}function pp(e,n,t,i){const r=Er(n),o=function mx(e){return!!e.useClass}(n);if(r||o){const l=(o?ee(n.useClass):n).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!r&&n.multi){const u=c.indexOf(t);-1===u?c.push(t,[i,l]):c[u+1].push(i,l)}else c.push(t,l)}}}function Lb(e,n,t){return t&&e.componentProviders++,e.multi.push(n)-1}function gp(e,n,t,i){for(let r=t;r{t.providersResolver=(i,r)=>function Dk(e,n,t){const i=pe();if(i.firstCreatePass){const r=Bn(e);hp(t,i.data,i.blueprint,r,!0),hp(n,i.data,i.blueprint,r,!1)}}(i,r?r(e):e,n)}}class Or{}class Vb{}class _p extends Or{constructor(n,t,i){super(),this._parent=t,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new q0(this);const r=un(n);this._bootstrapComponents=Ni(r.bootstrap),this._r3Injector=s0(n,t,[{provide:Or,useValue:this},{provide:Hc,useValue:this.componentFactoryResolver},...i],gt(n),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(n)}get injector(){return this._r3Injector}destroy(){const n=this._r3Injector;!n.destroyed&&n.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}}class vp extends Vb{constructor(n){super(),this.moduleType=n}create(n){return new _p(this.moduleType,n,[])}}class Bb extends Or{constructor(n){super(),this.componentFactoryResolver=new q0(this),this.instance=null;const t=new Po([...n.providers,{provide:Or,useValue:this},{provide:Hc,useValue:this.componentFactoryResolver}],n.parent||kc(),n.debugName,new Set(["environment"]));this.injector=t,n.runEnvironmentInitializers&&t.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(n){this.injector.onDestroy(n)}}function yp(e,n,t=null){return new Bb({providers:e,parent:n,debugName:t,runEnvironmentInitializers:!0}).injector}let Mk=(()=>{class e{constructor(t){this._injector=t,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(t){if(!t.standalone)return null;if(!this.cachedInjectors.has(t)){const i=Uy(0,t.type),r=i.length>0?yp([i],this._injector,`Standalone[${t.type.name}]`):null;this.cachedInjectors.set(t,r)}return this.cachedInjectors.get(t)}ngOnDestroy(){try{for(const t of this.cachedInjectors.values())null!==t&&t.destroy()}finally{this.cachedInjectors.clear()}}static#e=this.\u0275prov=B({token:e,providedIn:"environment",factory:()=>new e(H(zt))})}return e})();function In(e){e.getStandaloneInjector=n=>n.get(Mk).getOrCreateStandaloneInjector(e)}function $n(e,n,t,i){return Wb(O(),$t(),e,n,t,i)}function ns(e,n,t,i,r,o,s,a){const l=$t()+e,c=O(),u=function Sn(e,n,t,i,r,o){const s=Sr(e,n,t,i);return Sr(e,n+2,r,o)||s}(c,l,t,i,r,o);return Vt(c,l+4,s)||u?ui(c,l+5,a?n.call(a,t,i,r,o,s):n(t,i,r,o,s)):function wa(e,n){return e[n]}(c,l+5)}function Wb(e,n,t,i,r,o){const s=n+t;return Vt(e,s,r)?ui(e,s+1,o?i.call(o,r):i(r)):function Pa(e,n){const t=e[n];return t===ie?void 0:t}(e,s+1)}function au(e,n){const t=pe();let i;const r=e+ue;t.firstCreatePass?(i=function $k(e,n){if(n)for(let t=n.length-1;t>=0;t--){const i=n[t];if(e===i.name)return i}}(n,t.pipeRegistry),t.data[r]=i,i.onDestroy&&(t.destroyHooks??=[]).push(r,i.onDestroy)):i=t.data[r];const o=i.factory||(i.factory=yr(i.type)),a=Qt(b);try{const l=cc(!1),c=o();return cc(l),function NR(e,n,t,i){t>=e.data.length&&(e.data[t]=null,e.blueprint[t]=null),n[t]=i}(t,O(),r,c),c}finally{Qt(a)}}function lu(e,n,t){const i=e+ue,r=O(),o=function vo(e,n){return e[n]}(r,i);return function Fa(e,n){return e[$].data[n].pure}(r,i)?Wb(r,$t(),n,o.transform,t,o):o.transform(t)}function qk(){return this._results[Symbol.iterator]()}class wp{static#e=Symbol.iterator;get changes(){return this._changes||(this._changes=new Y)}constructor(n=!1){this._emitDistinctChangesOnly=n,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const t=wp.prototype;t[Symbol.iterator]||(t[Symbol.iterator]=qk)}get(n){return this._results[n]}map(n){return this._results.map(n)}filter(n){return this._results.filter(n)}find(n){return this._results.find(n)}reduce(n,t){return this._results.reduce(n,t)}forEach(n){this._results.forEach(n)}some(n){return this._results.some(n)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(n,t){const i=this;i.dirty=!1;const r=function Tn(e){return e.flat(Number.POSITIVE_INFINITY)}(n);(this._changesDetected=!function UN(e,n,t){if(e.length!==n.length)return!1;for(let i=0;i0&&(t[r-1][Vn]=n),i{class e{static#e=this.__NG_ELEMENT_ID__=Qk}return e})();const Jk=qe,Xk=class extends Jk{constructor(n,t,i){super(),this._declarationLView=n,this._declarationTContainer=t,this.elementRef=i}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(n,t){return this.createEmbeddedViewImpl(n,t)}createEmbeddedViewImpl(n,t,i){const r=function Yk(e,n,t,i){const r=n.tView,a=zc(e,r,t,4096&e[re]?4096:16,null,n,null,null,null,i?.injector??null,i?.hydrationInfo??null);a[zs]=e[n.index];const c=e[ri];return null!==c&&(a[ri]=c.createEmbeddedView(r)),Xh(r,a,t),a}(this._declarationLView,this._declarationTContainer,n,{injector:t,hydrationInfo:i});return new ya(r)}};function Qk(){return cu(It(),O())}function cu(e,n){return 4&e.type?new Xk(n,e,Bo(e,n)):null}let Nn=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=rP}return e})();function rP(){return iD(It(),O())}const oP=Nn,tD=class extends oP{constructor(n,t,i){super(),this._lContainer=n,this._hostTNode=t,this._hostLView=i}get element(){return Bo(this._hostTNode,this._hostLView)}get injector(){return new Gt(this._hostTNode,this._hostLView)}get parentInjector(){const n=dc(this._hostTNode,this._hostLView);if(jf(n)){const t=ea(n,this._hostLView),i=Ks(n);return new Gt(t[$].data[i+8],t)}return new Gt(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){const t=nD(this._lContainer);return null!==t&&t[n]||null}get length(){return this._lContainer.length-Tt}createEmbeddedView(n,t,i){let r,o;"number"==typeof i?r=i:null!=i&&(r=i.index,o=i.injector);const a=n.createEmbeddedViewImpl(t||{},o,null);return this.insertImpl(a,r,false),a}createComponent(n,t,i,r,o){const s=n&&!function na(e){return"function"==typeof e}(n);let a;if(s)a=t;else{const y=t||{};a=y.index,i=y.injector,r=y.projectableNodes,o=y.environmentInjector||y.ngModuleRef}const l=s?n:new ba(he(n)),c=i||this.parentInjector;if(!o&&null==l.ngModule){const D=(s?c:this.parentInjector).get(zt,null);D&&(o=D)}he(l.componentType??{});const _=l.create(c,r,null,o);return this.insertImpl(_.hostView,a,false),_}insert(n,t){return this.insertImpl(n,t,!1)}insertImpl(n,t,i){const r=n._lView;if(function iN(e){return Ht(e[Ue])}(r)){const l=this.indexOf(n);if(-1!==l)this.detach(l);else{const c=r[Ue],u=new tD(c,c[Ft],c[Ue]);u.detach(u.indexOf(n))}}const s=this._adjustIndex(t),a=this._lContainer;return Zk(a,r,s,!i),n.attachToViewContainerRef(),zv(Cp(a),s,n),n}move(n,t){return this.insert(n,t)}indexOf(n){const t=nD(this._lContainer);return null!==t?t.indexOf(n):-1}remove(n){const t=this._adjustIndex(n,-1),i=Tc(this._lContainer,t);i&&(hc(Cp(this._lContainer),t),ih(i[$],i))}detach(n){const t=this._adjustIndex(n,-1),i=Tc(this._lContainer,t);return i&&null!=hc(Cp(this._lContainer),t)?new ya(i):null}_adjustIndex(n,t=0){return n??this.length+t}};function nD(e){return e[8]}function Cp(e){return e[8]||(e[8]=[])}function iD(e,n){let t;const i=n[e.index];return Ht(i)?t=i:(t=P0(i,n,null,e),n[e.index]=t,Wc(n,t)),rD(t,n,e,i),new tD(t,e,n)}let rD=function oD(e,n,t,i){if(e[oi])return;let r;r=8&t.type?je(i):function sP(e,n){const t=e[ne],i=t.createComment(""),r=en(n,e);return Cr(t,Sc(t,r),i,function LO(e,n){return e.nextSibling(n)}(t,r),!1),i}(n,t),e[oi]=r};class Ep{constructor(n){this.queryList=n,this.matches=null}clone(){return new Ep(this.queryList)}setDirty(){this.queryList.setDirty()}}class Tp{constructor(n=[]){this.queries=n}createEmbeddedView(n){const t=n.queries;if(null!==t){const i=null!==n.contentQueries?n.contentQueries[0]:t.length,r=[];for(let o=0;o0)i.push(s[a/2]);else{const c=o[a+1],u=n[-l];for(let d=Tt;d{class e{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,i)=>{this.resolve=t,this.reject=i}),this.appInits=F(kp,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const t=[];for(const r of this.appInits){const o=r();if(Sa(o))t.push(o);else if(_1(o)){const s=new Promise((a,l)=>{o.subscribe({complete:a,error:l})});t.push(s)}}const i=()=>{this.done=!0,this.resolve()};Promise.all(t).then(()=>{i()}).catch(r=>{this.reject(r)}),0===t.length&&i(),this.initialized=!0}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),MD=(()=>{class e{log(t){console.log(t)}warn(t){console.warn(t)}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();const Gn=new z("LocaleId",{providedIn:"root",factory:()=>F(Gn,ce.Optional|ce.SkipSelf)||function PP(){return typeof $localize<"u"&&$localize.locale||ts}()});let fu=(()=>{class e{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new Dn(!1)}add(){this.hasPendingTasks.next(!0);const t=this.taskId++;return this.pendingTasks.add(t),t}remove(t){this.pendingTasks.delete(t),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();class VP{constructor(n,t){this.ngModuleFactory=n,this.componentFactories=t}}let ID=(()=>{class e{compileModuleSync(t){return new vp(t)}compileModuleAsync(t){return Promise.resolve(this.compileModuleSync(t))}compileModuleAndAllComponentsSync(t){const i=this.compileModuleSync(t),o=Ni(un(t).declarations).reduce((s,a)=>{const l=he(a);return l&&s.push(new ba(l)),s},[]);return new VP(i,o)}compileModuleAndAllComponentsAsync(t){return Promise.resolve(this.compileModuleAndAllComponentsSync(t))}clearCache(){}clearCacheFor(t){}getModuleId(t){}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const AD=new z(""),pu=new z("");let jp,Vp=(()=>{class e{constructor(t,i,r){this._ngZone=t,this.registry=i,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,jp||(function sF(e){jp=e}(r),r.addToWindow(i)),this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{fe.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(t)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,i,r){let o=-1;i&&i>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==o),t(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:t,timeoutId:o,updateCb:r})}whenStable(t,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(t){this.registry.registerApplication(t,this)}unregisterApplication(t){this.registry.unregisterApplication(t)}findProviders(t,i,r){return[]}static#e=this.\u0275fac=function(i){return new(i||e)(H(fe),H(Bp),H(pu))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})(),Bp=(()=>{class e{constructor(){this._applications=new Map}registerApplication(t,i){this._applications.set(t,i)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,i=!0){return jp?.findTestabilityInTree(this,t,i)??null}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})(),Qi=null;const RD=new z("AllowMultipleToken"),Hp=new z("PlatformDestroyListeners"),$p=new z("appBootstrapListener");class PD{constructor(n,t){this.name=n,this.token=t}}function LD(e,n,t=[]){const i=`Platform: ${n}`,r=new z(i);return(o=[])=>{let s=Up();if(!s||s.injector.get(RD,!1)){const a=[...t,...o,{provide:r,useValue:!0}];e?e(a):function cF(e){if(Qi&&!Qi.get(RD,!1))throw new R(400,!1);(function kD(){!function $I(e){iv=e}(()=>{throw new R(600,!1)})})(),Qi=e;const n=e.get(BD);(function FD(e){e.get(Yy,null)?.forEach(t=>t())})(e)}(function VD(e=[],n){return Nt.create({name:n,providers:[{provide:bh,useValue:"platform"},{provide:Hp,useValue:new Set([()=>Qi=null])},...e]})}(a,i))}return function dF(e){const n=Up();if(!n)throw new R(401,!1);return n}()}}function Up(){return Qi?.get(BD)??null}let BD=(()=>{class e{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,i){const r=function fF(e="zone.js",n){return"noop"===e?new Kx:"zone.js"===e?new fe(n):e}(i?.ngZone,function jD(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}({eventCoalescing:i?.ngZoneEventCoalescing,runCoalescing:i?.ngZoneRunCoalescing}));return r.run(()=>{const o=function Sk(e,n,t){return new _p(e,n,t)}(t.moduleType,this.injector,function zD(e){return[{provide:fe,useFactory:e},{provide:fa,multi:!0,useFactory:()=>{const n=F(pF,{optional:!0});return()=>n.initialize()}},{provide:GD,useFactory:hF},{provide:d0,useFactory:f0}]}(()=>r)),s=o.injector.get(Ii,null);return r.runOutsideAngular(()=>{const a=r.onError.subscribe({next:l=>{s.handleError(l)}});o.onDestroy(()=>{gu(this._modules,o),a.unsubscribe()})}),function HD(e,n,t){try{const i=t();return Sa(i)?i.catch(r=>{throw n.runOutsideAngular(()=>e.handleError(r)),r}):i}catch(i){throw n.runOutsideAngular(()=>e.handleError(i)),i}}(s,r,()=>{const a=o.injector.get(Pp);return a.runInitializers(),a.donePromise.then(()=>(function hb(e){Cn(e,"Expected localeId to be defined"),"string"==typeof e&&(fb=e.toLowerCase().replace(/_/g,"-"))}(o.injector.get(Gn,ts)||ts),this._moduleDoBootstrap(o),o))})})}bootstrapModule(t,i=[]){const r=$D({},i);return function aF(e,n,t){const i=new vp(t);return Promise.resolve(i)}(0,0,t).then(o=>this.bootstrapModuleFactory(o,r))}_moduleDoBootstrap(t){const i=t.injector.get(Ki);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!t.instance.ngDoBootstrap)throw new R(-403,!1);t.instance.ngDoBootstrap(i)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new R(404,!1);this._modules.slice().forEach(i=>i.destroy()),this._destroyListeners.forEach(i=>i());const t=this._injector.get(Hp,null);t&&(t.forEach(i=>i()),t.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}static#e=this.\u0275fac=function(i){return new(i||e)(H(Nt))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();function $D(e,n){return Array.isArray(n)?n.reduce($D,e):{...e,...n}}let Ki=(()=>{class e{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=F(GD),this.zoneIsStable=F(d0),this.componentTypes=[],this.components=[],this.isStable=F(fu).hasPendingTasks.pipe(wn(t=>t?J(!1):this.zoneIsStable),function D_(e,n=Pn){return e=e??eI,ze((t,i)=>{let r,o=!0;t.subscribe(Ve(i,s=>{const a=n(s);(o||!e(r,a))&&(o=!1,r=a,i.next(s))}))})}(),b_()),this._injector=F(zt)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(t,i){const r=t instanceof Ky;if(!this._injector.get(Pp).done)throw!r&&function uo(e){const n=he(e)||Et(e)||jt(e);return null!==n&&n.standalone}(t),new R(405,!1);let s;s=r?t:this._injector.get(Hc).resolveComponentFactory(t),this.componentTypes.push(s.componentType);const a=function lF(e){return e.isBoundToModule}(s)?void 0:this._injector.get(Or),c=s.create(Nt.NULL,[],i||s.selector,a),u=c.location.nativeElement,d=c.injector.get(AD,null);return d?.registerApplication(u),c.onDestroy(()=>{this.detachView(c.hostView),gu(this.components,c),d?.unregisterApplication(u)}),this._loadComponent(c),c}tick(){if(this._runningTick)throw new R(101,!1);try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this.internalErrorHandler(t)}finally{this._runningTick=!1}}attachView(t){const i=t;this._views.push(i),i.attachToAppRef(this)}detachView(t){const i=t;gu(this._views,i),i.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t);const i=this._injector.get($p,[]);i.push(...this._bootstrapListeners),i.forEach(r=>r(t))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(t=>t()),this._views.slice().forEach(t=>t.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(t){return this._destroyListeners.push(t),()=>gu(this._destroyListeners,t)}destroy(){if(this._destroyed)throw new R(406,!1);const t=this._injector;t.destroy&&!t.destroyed&&t.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function gu(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}const GD=new z("",{providedIn:"root",factory:()=>F(Ii).handleError.bind(void 0)});function hF(){const e=F(fe),n=F(Ii);return t=>e.runOutsideAngular(()=>n.handleError(t))}let pF=(()=>{class e{constructor(){this.zone=F(fe),this.applicationRef=F(Ki)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();let zn=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=mF}return e})();function mF(e){return function _F(e,n,t){if(vr(e)&&!t){const i=dn(e.index,n);return new ya(i,i)}return 47&e.type?new ya(n[rt],n):null}(It(),O(),16==(16&e))}class ZD{constructor(){}supports(n){return Jc(n)}create(n){return new CF(n)}}const wF=(e,n)=>n;class CF{constructor(n){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=n||wF}forEachItem(n){let t;for(t=this._itHead;null!==t;t=t._next)n(t)}forEachOperation(n){let t=this._itHead,i=this._removalsHead,r=0,o=null;for(;t||i;){const s=!i||t&&t.currentIndex{s=this._trackByFn(r,a),null!==t&&Object.is(t.trackById,s)?(i&&(t=this._verifyReinsertion(t,a,s,r)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,s,r),i=!0),t=t._next,r++}),this.length=r;return this._truncate(t),this.collection=n,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let n;for(n=this._previousItHead=this._itHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._additionsHead;null!==n;n=n._nextAdded)n.previousIndex=n.currentIndex;for(this._additionsHead=this._additionsTail=null,n=this._movesHead;null!==n;n=n._nextMoved)n.previousIndex=n.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(n,t,i,r){let o;return null===n?o=this._itTail:(o=n._prev,this._remove(n)),null!==(n=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._reinsertAfter(n,o,r)):null!==(n=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._moveAfter(n,o,r)):n=this._addAfter(new EF(t,i),o,r),n}_verifyReinsertion(n,t,i,r){let o=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==o?n=this._reinsertAfter(o,n._prev,r):n.currentIndex!=r&&(n.currentIndex=r,this._addToMoves(n,r)),n}_truncate(n){for(;null!==n;){const t=n._next;this._addToRemovals(this._unlink(n)),n=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(n,t,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(n);const r=n._prevRemoved,o=n._nextRemoved;return null===r?this._removalsHead=o:r._nextRemoved=o,null===o?this._removalsTail=r:o._prevRemoved=r,this._insertAfter(n,t,i),this._addToMoves(n,i),n}_moveAfter(n,t,i){return this._unlink(n),this._insertAfter(n,t,i),this._addToMoves(n,i),n}_addAfter(n,t,i){return this._insertAfter(n,t,i),this._additionsTail=null===this._additionsTail?this._additionsHead=n:this._additionsTail._nextAdded=n,n}_insertAfter(n,t,i){const r=null===t?this._itHead:t._next;return n._next=r,n._prev=t,null===r?this._itTail=n:r._prev=n,null===t?this._itHead=n:t._next=n,null===this._linkedRecords&&(this._linkedRecords=new JD),this._linkedRecords.put(n),n.currentIndex=i,n}_remove(n){return this._addToRemovals(this._unlink(n))}_unlink(n){null!==this._linkedRecords&&this._linkedRecords.remove(n);const t=n._prev,i=n._next;return null===t?this._itHead=i:t._next=i,null===i?this._itTail=t:i._prev=t,n}_addToMoves(n,t){return n.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=n:this._movesTail._nextMoved=n),n}_addToRemovals(n){return null===this._unlinkedRecords&&(this._unlinkedRecords=new JD),this._unlinkedRecords.put(n),n.currentIndex=null,n._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=n,n._prevRemoved=null):(n._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=n),n}_addIdentityChange(n,t){return n.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=n:this._identityChangesTail._nextIdentityChange=n,n}}class EF{constructor(n,t){this.item=n,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class TF{constructor(){this._head=null,this._tail=null}add(n){null===this._head?(this._head=this._tail=n,n._nextDup=null,n._prevDup=null):(this._tail._nextDup=n,n._prevDup=this._tail,n._nextDup=null,this._tail=n)}get(n,t){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===t||t<=i.currentIndex)&&Object.is(i.trackById,n))return i;return null}remove(n){const t=n._prevDup,i=n._nextDup;return null===t?this._head=i:t._nextDup=i,null===i?this._tail=t:i._prevDup=t,null===this._head}}class JD{constructor(){this.map=new Map}put(n){const t=n.trackById;let i=this.map.get(t);i||(i=new TF,this.map.set(t,i)),i.add(n)}get(n,t){const r=this.map.get(n);return r?r.get(n,t):null}remove(n){const t=n.trackById;return this.map.get(t).remove(n)&&this.map.delete(t),n}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function XD(e,n,t){const i=e.previousIndex;if(null===i)return i;let r=0;return t&&i{if(t&&t.key===r)this._maybeAddToChanges(t,i),this._appendAfter=t,t=t._next;else{const o=this._getOrCreateRecordForKey(r,i);t=this._insertBeforeOrAppend(t,o)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let i=t;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(n,t){if(n){const i=n._prev;return t._next=n,t._prev=i,n._prev=t,i&&(i._next=t),n===this._mapHead&&(this._mapHead=t),this._appendAfter=n,n}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(n,t){if(this._records.has(n)){const r=this._records.get(n);this._maybeAddToChanges(r,t);const o=r._prev,s=r._next;return o&&(o._next=s),s&&(s._prev=o),r._next=null,r._prev=null,r}const i=new MF(n);return this._records.set(n,i),i.currentValue=t,this._addToAdditions(i),i}_reset(){if(this.isDirty){let n;for(this._previousMapHead=this._mapHead,n=this._previousMapHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._changesHead;null!==n;n=n._nextChanged)n.previousValue=n.currentValue;for(n=this._additionsHead;null!=n;n=n._nextAdded)n.previousValue=n.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(n,t){Object.is(t,n.currentValue)||(n.previousValue=n.currentValue,n.currentValue=t,this._addToChanges(n))}_addToAdditions(n){null===this._additionsHead?this._additionsHead=this._additionsTail=n:(this._additionsTail._nextAdded=n,this._additionsTail=n)}_addToChanges(n){null===this._changesHead?this._changesHead=this._changesTail=n:(this._changesTail._nextChanged=n,this._changesTail=n)}_forEach(n,t){n instanceof Map?n.forEach(t):Object.keys(n).forEach(i=>t(n[i],i))}}class MF{constructor(n){this.key=n,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function KD(){return new vu([new ZD])}let vu=(()=>{class e{static#e=this.\u0275prov=B({token:e,providedIn:"root",factory:KD});constructor(t){this.factories=t}static create(t,i){if(null!=i){const r=i.factories.slice();t=t.concat(r)}return new e(t)}static extend(t){return{provide:e,useFactory:i=>e.create(t,i||KD()),deps:[[e,new mc,new gc]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(null!=i)return i;throw new R(901,!1)}}return e})();function ew(){return new Ba([new QD])}let Ba=(()=>{class e{static#e=this.\u0275prov=B({token:e,providedIn:"root",factory:ew});constructor(t){this.factories=t}static create(t,i){if(i){const r=i.factories.slice();t=t.concat(r)}return new e(t)}static extend(t){return{provide:e,useFactory:i=>e.create(t,i||ew()),deps:[[e,new mc,new gc]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(i)return i;throw new R(901,!1)}}return e})();const OF=LD(null,"core",[]);let xF=(()=>{class e{constructor(t){}static#e=this.\u0275fac=function(i){return new(i||e)(H(Ki))};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})();function Zp(e,n){const t=he(e),i=n.elementInjector||kc();return new ba(t).create(i,n.projectableNodes,n.hostElement,n.environmentInjector)}let Jp=null;function er(){return Jp}class zF{}const ut=new z("DocumentToken");let Xp=(()=>{class e{historyGo(t){throw new Error("Not implemented")}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:function(){return F(qF)},providedIn:"platform"})}return e})();const WF=new z("Location Initialized");let qF=(()=>{class e extends Xp{constructor(){super(),this._doc=F(ut),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return er().getBaseHref(this._doc)}onPopState(t){const i=er().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",t,!1),()=>i.removeEventListener("popstate",t)}onHashChange(t){const i=er().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",t,!1),()=>i.removeEventListener("hashchange",t)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(t){this._location.pathname=t}pushState(t,i,r){this._history.pushState(t,i,r)}replaceState(t,i,r){this._history.replaceState(t,i,r)}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:function(){return new e},providedIn:"platform"})}return e})();function Qp(e,n){if(0==e.length)return n;if(0==n.length)return e;let t=0;return e.endsWith("/")&&t++,n.startsWith("/")&&t++,2==t?e+n.substring(1):1==t?e+n:e+"/"+n}function cw(e){const n=e.match(/#|\?|$/),t=n&&n.index||e.length;return e.slice(0,t-("/"===e[t-1]?1:0))+e.slice(t)}function xi(e){return e&&"?"!==e[0]?"?"+e:e}let Rr=(()=>{class e{historyGo(t){throw new Error("Not implemented")}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:function(){return F(dw)},providedIn:"root"})}return e})();const uw=new z("appBaseHref");let dw=(()=>{class e extends Rr{constructor(t,i){super(),this._platformLocation=t,this._removeListenerFns=[],this._baseHref=i??this._platformLocation.getBaseHrefFromDOM()??F(ut).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return Qp(this._baseHref,t)}path(t=!1){const i=this._platformLocation.pathname+xi(this._platformLocation.search),r=this._platformLocation.hash;return r&&t?`${i}${r}`:i}pushState(t,i,r,o){const s=this.prepareExternalUrl(r+xi(o));this._platformLocation.pushState(t,i,s)}replaceState(t,i,r,o){const s=this.prepareExternalUrl(r+xi(o));this._platformLocation.replaceState(t,i,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(t=0){this._platformLocation.historyGo?.(t)}static#e=this.\u0275fac=function(i){return new(i||e)(H(Xp),H(uw,8))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),YF=(()=>{class e extends Rr{constructor(t,i){super(),this._platformLocation=t,this._baseHref="",this._removeListenerFns=[],null!=i&&(this._baseHref=i)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}path(t=!1){let i=this._platformLocation.hash;return null==i&&(i="#"),i.length>0?i.substring(1):i}prepareExternalUrl(t){const i=Qp(this._baseHref,t);return i.length>0?"#"+i:i}pushState(t,i,r,o){let s=this.prepareExternalUrl(r+xi(o));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.pushState(t,i,s)}replaceState(t,i,r,o){let s=this.prepareExternalUrl(r+xi(o));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.replaceState(t,i,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(t=0){this._platformLocation.historyGo?.(t)}static#e=this.\u0275fac=function(i){return new(i||e)(H(Xp),H(uw,8))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})(),Kp=(()=>{class e{constructor(t){this._subject=new Y,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=t;const i=this._locationStrategy.getBaseHref();this._basePath=function XF(e){if(new RegExp("^(https?:)?//").test(e)){const[,t]=e.split(/\/\/[^\/]+/);return t}return e}(cw(fw(i))),this._locationStrategy.onPopState(r=>{this._subject.emit({url:this.path(!0),pop:!0,state:r.state,type:r.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(t=!1){return this.normalize(this._locationStrategy.path(t))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(t,i=""){return this.path()==this.normalize(t+xi(i))}normalize(t){return e.stripTrailingSlash(function JF(e,n){if(!e||!n.startsWith(e))return n;const t=n.substring(e.length);return""===t||["/",";","?","#"].includes(t[0])?t:n}(this._basePath,fw(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._locationStrategy.prepareExternalUrl(t)}go(t,i="",r=null){this._locationStrategy.pushState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+xi(i)),r)}replaceState(t,i="",r=null){this._locationStrategy.replaceState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+xi(i)),r)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(t=0){this._locationStrategy.historyGo?.(t)}onUrlChange(t){return this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)})),()=>{const i=this._urlChangeListeners.indexOf(t);this._urlChangeListeners.splice(i,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(t="",i){this._urlChangeListeners.forEach(r=>r(t,i))}subscribe(t,i,r){return this._subject.subscribe({next:t,error:i,complete:r})}static#e=this.normalizeQueryParams=xi;static#t=this.joinWithSlash=Qp;static#n=this.stripTrailingSlash=cw;static#i=this.\u0275fac=function(i){return new(i||e)(H(Rr))};static#r=this.\u0275prov=B({token:e,factory:function(){return function ZF(){return new Kp(H(Rr))}()},providedIn:"root"})}return e})();function fw(e){return e.replace(/\/index.html$/,"")}function Cw(e,n){n=encodeURIComponent(n);for(const t of e.split(";")){const i=t.indexOf("="),[r,o]=-1==i?[t,""]:[t.slice(0,i),t.slice(i+1)];if(r.trim()===n)return decodeURIComponent(o)}return null}const ug=/\s+/,Ew=[];let Ou=(()=>{class e{constructor(t,i,r,o){this._iterableDiffers=t,this._keyValueDiffers=i,this._ngEl=r,this._renderer=o,this.initialClasses=Ew,this.stateMap=new Map}set klass(t){this.initialClasses=null!=t?t.trim().split(ug):Ew}set ngClass(t){this.rawClass="string"==typeof t?t.trim().split(ug):t}ngDoCheck(){for(const i of this.initialClasses)this._updateState(i,!0);const t=this.rawClass;if(Array.isArray(t)||t instanceof Set)for(const i of t)this._updateState(i,!0);else if(null!=t)for(const i of Object.keys(t))this._updateState(i,!!t[i]);this._applyStateDiff()}_updateState(t,i){const r=this.stateMap.get(t);void 0!==r?(r.enabled!==i&&(r.changed=!0,r.enabled=i),r.touched=!0):this.stateMap.set(t,{enabled:i,changed:!0,touched:!0})}_applyStateDiff(){for(const t of this.stateMap){const i=t[0],r=t[1];r.changed?(this._toggleClass(i,r.enabled),r.changed=!1):r.touched||(r.enabled&&this._toggleClass(i,!1),this.stateMap.delete(i)),r.touched=!1}}_toggleClass(t,i){(t=t.trim()).length>0&&t.split(ug).forEach(r=>{i?this._renderer.addClass(this._ngEl.nativeElement,r):this._renderer.removeClass(this._ngEl.nativeElement,r)})}static#e=this.\u0275fac=function(i){return new(i||e)(b(vu),b(Ba),b(Se),b(hn))};static#t=this.\u0275dir=L({type:e,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"},standalone:!0})}return e})();class RL{constructor(n,t,i,r){this.$implicit=n,this.ngForOf=t,this.index=i,this.count=r}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let qn=(()=>{class e{set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}constructor(t,i,r){this._viewContainer=t,this._template=i,this._differs=r,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;!this._differ&&t&&(this._differ=this._differs.find(t).create(this.ngForTrackBy))}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const i=this._viewContainer;t.forEachOperation((r,o,s)=>{if(null==r.previousIndex)i.createEmbeddedView(this._template,new RL(r.item,this._ngForOf,-1,-1),null===s?void 0:s);else if(null==s)i.remove(null===o?void 0:o);else if(null!==o){const a=i.get(o);i.move(a,s),Sw(a,r)}});for(let r=0,o=i.length;r{Sw(i.get(r.currentIndex),r)})}static ngTemplateContextGuard(t,i){return!0}static#e=this.\u0275fac=function(i){return new(i||e)(b(Nn),b(qe),b(vu))};static#t=this.\u0275dir=L({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0})}return e})();function Sw(e,n){e.context.$implicit=n.item}let Yn=(()=>{class e{constructor(t,i){this._viewContainer=t,this._context=new kL,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){Mw("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){Mw("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,i){return!0}static#e=this.\u0275fac=function(i){return new(i||e)(b(Nn),b(qe))};static#t=this.\u0275dir=L({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0})}return e})();class kL{constructor(){this.$implicit=null,this.ngIf=null}}function Mw(e,n){if(n&&!n.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${gt(n)}'.`)}let aV=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})();function xw(e){return"server"===e}let dV=(()=>{class e{static#e=this.\u0275prov=B({token:e,providedIn:"root",factory:()=>new fV(H(ut),window)})}return e})();class fV{constructor(n,t){this.document=n,this.window=t,this.offset=()=>[0,0]}setOffset(n){this.offset=Array.isArray(n)?()=>n:n}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(n){this.supportsScrolling()&&this.window.scrollTo(n[0],n[1])}scrollToAnchor(n){if(!this.supportsScrolling())return;const t=function hV(e,n){const t=e.getElementById(n)||e.getElementsByName(n)[0];if(t)return t;if("function"==typeof e.createTreeWalker&&e.body&&"function"==typeof e.body.attachShadow){const i=e.createTreeWalker(e.body,NodeFilter.SHOW_ELEMENT);let r=i.currentNode;for(;r;){const o=r.shadowRoot;if(o){const s=o.getElementById(n)||o.querySelector(`[name="${n}"]`);if(s)return s}r=i.nextNode()}}return null}(this.document,n);t&&(this.scrollToElement(t),t.focus())}setHistoryScrollRestoration(n){this.supportsScrolling()&&(this.window.history.scrollRestoration=n)}scrollToElement(n){const t=n.getBoundingClientRect(),i=t.left+this.window.pageXOffset,r=t.top+this.window.pageYOffset,o=this.offset();this.window.scrollTo(i-o[0],r-o[1])}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch{return!1}}}class Aw{}class FV extends zF{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class _g extends FV{static makeCurrent(){!function GF(e){Jp||(Jp=e)}(new _g)}onAndCancel(n,t,i){return n.addEventListener(t,i),()=>{n.removeEventListener(t,i)}}dispatchEvent(n,t){n.dispatchEvent(t)}remove(n){n.parentNode&&n.parentNode.removeChild(n)}createElement(n,t){return(t=t||this.getDefaultDocument()).createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,t){return"window"===t?window:"document"===t?n:"body"===t?n.body:null}getBaseHref(n){const t=function LV(){return Ua=Ua||document.querySelector("base"),Ua?Ua.getAttribute("href"):null}();return null==t?null:function VV(e){Ru=Ru||document.createElement("a"),Ru.setAttribute("href",e);const n=Ru.pathname;return"/"===n.charAt(0)?n:`/${n}`}(t)}resetBaseElement(){Ua=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return Cw(document.cookie,n)}}let Ru,Ua=null,jV=(()=>{class e{build(){return new XMLHttpRequest}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();const vg=new z("EventManagerPlugins");let Lw=(()=>{class e{constructor(t,i){this._zone=i,this._eventNameToPlugin=new Map,t.forEach(r=>{r.manager=this}),this._plugins=t.slice().reverse()}addEventListener(t,i,r){return this._findPluginFor(i).addEventListener(t,i,r)}getZone(){return this._zone}_findPluginFor(t){let i=this._eventNameToPlugin.get(t);if(i)return i;if(i=this._plugins.find(o=>o.supports(t)),!i)throw new R(5101,!1);return this._eventNameToPlugin.set(t,i),i}static#e=this.\u0275fac=function(i){return new(i||e)(H(vg),H(fe))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();class Vw{constructor(n){this._doc=n}}const yg="ng-app-id";let Bw=(()=>{class e{constructor(t,i,r,o={}){this.doc=t,this.appId=i,this.nonce=r,this.platformId=o,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=xw(o),this.resetHostNodes()}addStyles(t){for(const i of t)1===this.changeUsageCount(i,1)&&this.onStyleAdded(i)}removeStyles(t){for(const i of t)this.changeUsageCount(i,-1)<=0&&this.onStyleRemoved(i)}ngOnDestroy(){const t=this.styleNodesInDOM;t&&(t.forEach(i=>i.remove()),t.clear());for(const i of this.getAllStyles())this.onStyleRemoved(i);this.resetHostNodes()}addHost(t){this.hostNodes.add(t);for(const i of this.getAllStyles())this.addStyleToHost(t,i)}removeHost(t){this.hostNodes.delete(t)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(t){for(const i of this.hostNodes)this.addStyleToHost(i,t)}onStyleRemoved(t){const i=this.styleRef;i.get(t)?.elements?.forEach(r=>r.remove()),i.delete(t)}collectServerRenderedStyles(){const t=this.doc.head?.querySelectorAll(`style[${yg}="${this.appId}"]`);if(t?.length){const i=new Map;return t.forEach(r=>{null!=r.textContent&&i.set(r.textContent,r)}),i}return null}changeUsageCount(t,i){const r=this.styleRef;if(r.has(t)){const o=r.get(t);return o.usage+=i,o.usage}return r.set(t,{usage:i,elements:[]}),i}getStyleElement(t,i){const r=this.styleNodesInDOM,o=r?.get(i);if(o?.parentNode===t)return r.delete(i),o.removeAttribute(yg),o;{const s=this.doc.createElement("style");return this.nonce&&s.setAttribute("nonce",this.nonce),s.textContent=i,this.platformIsServer&&s.setAttribute(yg,this.appId),s}}addStyleToHost(t,i){const r=this.getStyleElement(t,i);t.appendChild(r);const o=this.styleRef,s=o.get(i)?.elements;s?s.push(r):o.set(i,{elements:[r],usage:1})}resetHostNodes(){const t=this.hostNodes;t.clear(),t.add(this.doc.head)}static#e=this.\u0275fac=function(i){return new(i||e)(H(ut),H(Pc),H(Zy,8),H(Tr))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();const bg={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},Dg=/%COMP%/g,GV=new z("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function Hw(e,n){return n.map(t=>t.replace(Dg,e))}let $w=(()=>{class e{constructor(t,i,r,o,s,a,l,c=null){this.eventManager=t,this.sharedStylesHost=i,this.appId=r,this.removeStylesOnCompDestroy=o,this.doc=s,this.platformId=a,this.ngZone=l,this.nonce=c,this.rendererByCompId=new Map,this.platformIsServer=xw(a),this.defaultRenderer=new wg(t,s,l,this.platformIsServer)}createRenderer(t,i){if(!t||!i)return this.defaultRenderer;this.platformIsServer&&i.encapsulation===Fn.ShadowDom&&(i={...i,encapsulation:Fn.Emulated});const r=this.getOrCreateRenderer(t,i);return r instanceof Gw?r.applyToHost(t):r instanceof Cg&&r.applyStyles(),r}getOrCreateRenderer(t,i){const r=this.rendererByCompId;let o=r.get(i.id);if(!o){const s=this.doc,a=this.ngZone,l=this.eventManager,c=this.sharedStylesHost,u=this.removeStylesOnCompDestroy,d=this.platformIsServer;switch(i.encapsulation){case Fn.Emulated:o=new Gw(l,c,i,this.appId,u,s,a,d);break;case Fn.ShadowDom:return new YV(l,c,t,i,s,a,this.nonce,d);default:o=new Cg(l,c,i,u,s,a,d)}r.set(i.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}static#e=this.\u0275fac=function(i){return new(i||e)(H(Lw),H(Bw),H(Pc),H(GV),H(ut),H(Tr),H(fe),H(Zy))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();class wg{constructor(n,t,i,r){this.eventManager=n,this.doc=t,this.ngZone=i,this.platformIsServer=r,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(n,t){return t?this.doc.createElementNS(bg[t]||t,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,t){(Uw(n)?n.content:n).appendChild(t)}insertBefore(n,t,i){n&&(Uw(n)?n.content:n).insertBefore(t,i)}removeChild(n,t){n&&n.removeChild(t)}selectRootElement(n,t){let i="string"==typeof n?this.doc.querySelector(n):n;if(!i)throw new R(-5104,!1);return t||(i.textContent=""),i}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,t,i,r){if(r){t=r+":"+t;const o=bg[r];o?n.setAttributeNS(o,t,i):n.setAttribute(t,i)}else n.setAttribute(t,i)}removeAttribute(n,t,i){if(i){const r=bg[i];r?n.removeAttributeNS(r,t):n.removeAttribute(`${i}:${t}`)}else n.removeAttribute(t)}addClass(n,t){n.classList.add(t)}removeClass(n,t){n.classList.remove(t)}setStyle(n,t,i,r){r&(qi.DashCase|qi.Important)?n.style.setProperty(t,i,r&qi.Important?"important":""):n.style[t]=i}removeStyle(n,t,i){i&qi.DashCase?n.style.removeProperty(t):n.style[t]=""}setProperty(n,t,i){n[t]=i}setValue(n,t){n.nodeValue=t}listen(n,t,i){if("string"==typeof n&&!(n=er().getGlobalEventTarget(this.doc,n)))throw new Error(`Unsupported event target ${n} for event ${t}`);return this.eventManager.addEventListener(n,t,this.decoratePreventDefault(i))}decoratePreventDefault(n){return t=>{if("__ngUnwrap__"===t)return n;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>n(t)):n(t))&&t.preventDefault()}}}function Uw(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class YV extends wg{constructor(n,t,i,r,o,s,a,l){super(n,o,s,l),this.sharedStylesHost=t,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=Hw(r.id,r.styles);for(const u of c){const d=document.createElement("style");a&&d.setAttribute("nonce",a),d.textContent=u,this.shadowRoot.appendChild(d)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,t){return super.appendChild(this.nodeOrShadowRoot(n),t)}insertBefore(n,t,i){return super.insertBefore(this.nodeOrShadowRoot(n),t,i)}removeChild(n,t){return super.removeChild(this.nodeOrShadowRoot(n),t)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class Cg extends wg{constructor(n,t,i,r,o,s,a,l){super(n,o,s,a),this.sharedStylesHost=t,this.removeStylesOnCompDestroy=r,this.styles=l?Hw(l,i.styles):i.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class Gw extends Cg{constructor(n,t,i,r,o,s,a,l){const c=r+"-"+i.id;super(n,t,i,o,s,a,l,c),this.contentAttr=function zV(e){return"_ngcontent-%COMP%".replace(Dg,e)}(c),this.hostAttr=function WV(e){return"_nghost-%COMP%".replace(Dg,e)}(c)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,t){const i=super.createElement(n,t);return super.setAttribute(i,this.contentAttr,""),i}}let ZV=(()=>{class e extends Vw{constructor(t){super(t)}supports(t){return!0}addEventListener(t,i,r){return t.addEventListener(i,r,!1),()=>this.removeEventListener(t,i,r)}removeEventListener(t,i,r){return t.removeEventListener(i,r)}static#e=this.\u0275fac=function(i){return new(i||e)(H(ut))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();const zw=["alt","control","meta","shift"],JV={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},XV={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let QV=(()=>{class e extends Vw{constructor(t){super(t)}supports(t){return null!=e.parseEventName(t)}addEventListener(t,i,r){const o=e.parseEventName(i),s=e.eventCallback(o.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>er().onAndCancel(t,o.domEventName,s))}static parseEventName(t){const i=t.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const o=e._normalizeKey(i.pop());let s="",a=i.indexOf("code");if(a>-1&&(i.splice(a,1),s="code."),zw.forEach(c=>{const u=i.indexOf(c);u>-1&&(i.splice(u,1),s+=c+".")}),s+=o,0!=i.length||0===o.length)return null;const l={};return l.domEventName=r,l.fullKey=s,l}static matchEventFullKeyCode(t,i){let r=JV[t.key]||t.key,o="";return i.indexOf("code.")>-1&&(r=t.code,o="code."),!(null==r||!r)&&(r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),zw.forEach(s=>{s!==r&&(0,XV[s])(t)&&(o+=s+".")}),o+=r,o===i)}static eventCallback(t,i,r){return o=>{e.matchEventFullKeyCode(o,t)&&r.runGuarded(()=>i(o))}}static _normalizeKey(t){return"esc"===t?"escape":t}static#e=this.\u0275fac=function(i){return new(i||e)(H(ut))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();const nB=LD(OF,"browser",[{provide:Tr,useValue:"browser"},{provide:Yy,useValue:function KV(){_g.makeCurrent()},multi:!0},{provide:ut,useFactory:function tB(){return function zO(e){uh=e}(document),document},deps:[]}]),iB=new z(""),Yw=[{provide:pu,useClass:class BV{addToWindow(n){Be.getAngularTestability=(i,r=!0)=>{const o=n.findTestabilityInTree(i,r);if(null==o)throw new R(5103,!1);return o},Be.getAllAngularTestabilities=()=>n.getAllTestabilities(),Be.getAllAngularRootElements=()=>n.getAllRootElements(),Be.frameworkStabilizers||(Be.frameworkStabilizers=[]),Be.frameworkStabilizers.push(i=>{const r=Be.getAllAngularTestabilities();let o=r.length,s=!1;const a=function(l){s=s||l,o--,0==o&&i(s)};r.forEach(l=>{l.whenStable(a)})})}findTestabilityInTree(n,t,i){return null==t?null:n.getTestability(t)??(i?er().isShadowRoot(t)?this.findTestabilityInTree(n,t.host,!0):this.findTestabilityInTree(n,t.parentElement,!0):null)}},deps:[]},{provide:AD,useClass:Vp,deps:[fe,Bp,pu]},{provide:Vp,useClass:Vp,deps:[fe,Bp,pu]}],Zw=[{provide:bh,useValue:"root"},{provide:Ii,useFactory:function eB(){return new Ii},deps:[]},{provide:vg,useClass:ZV,multi:!0,deps:[ut,fe,Tr]},{provide:vg,useClass:QV,multi:!0,deps:[ut]},$w,Bw,Lw,{provide:kh,useExisting:$w},{provide:Aw,useClass:jV,deps:[]},[]];let rB=(()=>{class e{constructor(t){}static withServerTransition(t){return{ngModule:e,providers:[{provide:Pc,useValue:t.appId}]}}static#e=this.\u0275fac=function(i){return new(i||e)(H(iB,12))};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({providers:[...Zw,...Yw],imports:[aV,xF]})}return e})(),Jw=(()=>{class e{constructor(t){this._doc=t}getTitle(){return this._doc.title}setTitle(t){this._doc.title=t||""}static#e=this.\u0275fac=function(i){return new(i||e)(H(ut))};static#t=this.\u0275prov=B({token:e,factory:function(i){let r=null;return r=i?new i:function sB(){return new Jw(H(ut))}(),r},providedIn:"root"})}return e})();function ls(e,n){return se(n)?ht(e,n,1):ht(e,1)}function vt(e,n){return ze((t,i)=>{let r=0;t.subscribe(Ve(i,o=>e.call(n,o,r++)&&i.next(o)))})}function Ga(e){return ze((n,t)=>{try{n.subscribe(t)}finally{t.add(e)}})}typeof window<"u"&&window;class ku{}class Pu{}class pi{constructor(n){this.normalizedNames=new Map,this.lazyUpdate=null,n?"string"==typeof n?this.lazyInit=()=>{this.headers=new Map,n.split("\n").forEach(t=>{const i=t.indexOf(":");if(i>0){const r=t.slice(0,i),o=r.toLowerCase(),s=t.slice(i+1).trim();this.maybeSetNormalizedName(r,o),this.headers.has(o)?this.headers.get(o).push(s):this.headers.set(o,[s])}})}:typeof Headers<"u"&&n instanceof Headers?(this.headers=new Map,n.forEach((t,i)=>{this.setHeaderEntries(i,t)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(n).forEach(([t,i])=>{this.setHeaderEntries(t,i)})}:this.headers=new Map}has(n){return this.init(),this.headers.has(n.toLowerCase())}get(n){this.init();const t=this.headers.get(n.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(n){return this.init(),this.headers.get(n.toLowerCase())||null}append(n,t){return this.clone({name:n,value:t,op:"a"})}set(n,t){return this.clone({name:n,value:t,op:"s"})}delete(n,t){return this.clone({name:n,value:t,op:"d"})}maybeSetNormalizedName(n,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,n)}init(){this.lazyInit&&(this.lazyInit instanceof pi?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(n=>this.applyUpdate(n)),this.lazyUpdate=null))}copyFrom(n){n.init(),Array.from(n.headers.keys()).forEach(t=>{this.headers.set(t,n.headers.get(t)),this.normalizedNames.set(t,n.normalizedNames.get(t))})}clone(n){const t=new pi;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof pi?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([n]),t}applyUpdate(n){const t=n.name.toLowerCase();switch(n.op){case"a":case"s":let i=n.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(n.name,t);const r=("a"===n.op?this.headers.get(t):void 0)||[];r.push(...i),this.headers.set(t,r);break;case"d":const o=n.value;if(o){let s=this.headers.get(t);if(!s)return;s=s.filter(a=>-1===o.indexOf(a)),0===s.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,s)}else this.headers.delete(t),this.normalizedNames.delete(t)}}setHeaderEntries(n,t){const i=(Array.isArray(t)?t:[t]).map(o=>o.toString()),r=n.toLowerCase();this.headers.set(r,i),this.maybeSetNormalizedName(n,r)}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>n(this.normalizedNames.get(t),this.headers.get(t)))}}class dB{encodeKey(n){return eC(n)}encodeValue(n){return eC(n)}decodeKey(n){return decodeURIComponent(n)}decodeValue(n){return decodeURIComponent(n)}}const hB=/%(\d[a-f0-9])/gi,pB={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function eC(e){return encodeURIComponent(e).replace(hB,(n,t)=>pB[t]??n)}function Fu(e){return`${e}`}class nr{constructor(n={}){if(this.updates=null,this.cloneFrom=null,this.encoder=n.encoder||new dB,n.fromString){if(n.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function fB(e,n){const t=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(r=>{const o=r.indexOf("="),[s,a]=-1==o?[n.decodeKey(r),""]:[n.decodeKey(r.slice(0,o)),n.decodeValue(r.slice(o+1))],l=t.get(s)||[];l.push(a),t.set(s,l)}),t}(n.fromString,this.encoder)}else n.fromObject?(this.map=new Map,Object.keys(n.fromObject).forEach(t=>{const i=n.fromObject[t],r=Array.isArray(i)?i.map(Fu):[Fu(i)];this.map.set(t,r)})):this.map=null}has(n){return this.init(),this.map.has(n)}get(n){this.init();const t=this.map.get(n);return t?t[0]:null}getAll(n){return this.init(),this.map.get(n)||null}keys(){return this.init(),Array.from(this.map.keys())}append(n,t){return this.clone({param:n,value:t,op:"a"})}appendAll(n){const t=[];return Object.keys(n).forEach(i=>{const r=n[i];Array.isArray(r)?r.forEach(o=>{t.push({param:i,value:o,op:"a"})}):t.push({param:i,value:r,op:"a"})}),this.clone(t)}set(n,t){return this.clone({param:n,value:t,op:"s"})}delete(n,t){return this.clone({param:n,value:t,op:"d"})}toString(){return this.init(),this.keys().map(n=>{const t=this.encoder.encodeKey(n);return this.map.get(n).map(i=>t+"="+this.encoder.encodeValue(i)).join("&")}).filter(n=>""!==n).join("&")}clone(n){const t=new nr({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(n),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(n=>this.map.set(n,this.cloneFrom.map.get(n))),this.updates.forEach(n=>{switch(n.op){case"a":case"s":const t=("a"===n.op?this.map.get(n.param):void 0)||[];t.push(Fu(n.value)),this.map.set(n.param,t);break;case"d":if(void 0===n.value){this.map.delete(n.param);break}{let i=this.map.get(n.param)||[];const r=i.indexOf(Fu(n.value));-1!==r&&i.splice(r,1),i.length>0?this.map.set(n.param,i):this.map.delete(n.param)}}}),this.cloneFrom=this.updates=null)}}class gB{constructor(){this.map=new Map}set(n,t){return this.map.set(n,t),this}get(n){return this.map.has(n)||this.map.set(n,n.defaultValue()),this.map.get(n)}delete(n){return this.map.delete(n),this}has(n){return this.map.has(n)}keys(){return this.map.keys()}}function tC(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function nC(e){return typeof Blob<"u"&&e instanceof Blob}function iC(e){return typeof FormData<"u"&&e instanceof FormData}class za{constructor(n,t,i,r){let o;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=n.toUpperCase(),function mB(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,o=r):o=i,o&&(this.reportProgress=!!o.reportProgress,this.withCredentials=!!o.withCredentials,o.responseType&&(this.responseType=o.responseType),o.headers&&(this.headers=o.headers),o.context&&(this.context=o.context),o.params&&(this.params=o.params)),this.headers||(this.headers=new pi),this.context||(this.context=new gB),this.params){const s=this.params.toString();if(0===s.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":ad.set(h,n.setHeaders[h]),l)),n.setParams&&(c=Object.keys(n.setParams).reduce((d,h)=>d.set(h,n.setParams[h]),c)),new za(t,i,o,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:s})}}var cs=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(cs||{});class Tg{constructor(n,t=200,i="OK"){this.headers=n.headers||new pi,this.status=void 0!==n.status?n.status:t,this.statusText=n.statusText||i,this.url=n.url||null,this.ok=this.status>=200&&this.status<300}}class Sg extends Tg{constructor(n={}){super(n),this.type=cs.ResponseHeader}clone(n={}){return new Sg({headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class us extends Tg{constructor(n={}){super(n),this.type=cs.Response,this.body=void 0!==n.body?n.body:null}clone(n={}){return new us({body:void 0!==n.body?n.body:this.body,headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class rC extends Tg{constructor(n){super(n,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${n.url||"(unknown url)"}`:`Http failure response for ${n.url||"(unknown url)"}: ${n.status} ${n.statusText}`,this.error=n.error||null}}function Mg(e,n){return{body:n,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}let Wa=(()=>{class e{constructor(t){this.handler=t}request(t,i,r={}){let o;if(t instanceof za)o=t;else{let l,c;l=r.headers instanceof pi?r.headers:new pi(r.headers),r.params&&(c=r.params instanceof nr?r.params:new nr({fromObject:r.params})),o=new za(t,i,void 0!==r.body?r.body:null,{headers:l,context:r.context,params:c,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials})}const s=J(o).pipe(ls(l=>this.handler.handle(l)));if(t instanceof za||"events"===r.observe)return s;const a=s.pipe(vt(l=>l instanceof us));switch(r.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return a.pipe(ae(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(ae(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(ae(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));default:return a.pipe(ae(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(t,i={}){return this.request("DELETE",t,i)}get(t,i={}){return this.request("GET",t,i)}head(t,i={}){return this.request("HEAD",t,i)}jsonp(t,i){return this.request("JSONP",t,{params:(new nr).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,i={}){return this.request("OPTIONS",t,i)}patch(t,i,r={}){return this.request("PATCH",t,Mg(r,i))}post(t,i,r={}){return this.request("POST",t,Mg(r,i))}put(t,i,r={}){return this.request("PUT",t,Mg(r,i))}static#e=this.\u0275fac=function(i){return new(i||e)(H(ku))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();function aC(e,n){return n(e)}function yB(e,n){return(t,i)=>n.intercept(t,{handle:r=>e(r,i)})}const DB=new z(""),qa=new z(""),lC=new z("");function wB(){let e=null;return(n,t)=>{null===e&&(e=(F(DB,{optional:!0})??[]).reduceRight(yB,aC));const i=F(fu),r=i.add();return e(n,t).pipe(Ga(()=>i.remove(r)))}}let cC=(()=>{class e extends ku{constructor(t,i){super(),this.backend=t,this.injector=i,this.chain=null,this.pendingTasks=F(fu)}handle(t){if(null===this.chain){const r=Array.from(new Set([...this.injector.get(qa),...this.injector.get(lC,[])]));this.chain=r.reduceRight((o,s)=>function bB(e,n,t){return(i,r)=>t.runInContext(()=>n(i,o=>e(o,r)))}(o,s,this.injector),aC)}const i=this.pendingTasks.add();return this.chain(t,r=>this.backend.handle(r)).pipe(Ga(()=>this.pendingTasks.remove(i)))}static#e=this.\u0275fac=function(i){return new(i||e)(H(Pu),H(zt))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();const SB=/^\)\]\}',?\n/;let dC=(()=>{class e{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new R(-2800,!1);const i=this.xhrFactory;return(i.\u0275loadImpl?pt(i.\u0275loadImpl()):J(null)).pipe(wn(()=>new Ce(o=>{const s=i.build();if(s.open(t.method,t.urlWithParams),t.withCredentials&&(s.withCredentials=!0),t.headers.forEach((y,D)=>s.setRequestHeader(y,D.join(","))),t.headers.has("Accept")||s.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const y=t.detectContentTypeHeader();null!==y&&s.setRequestHeader("Content-Type",y)}if(t.responseType){const y=t.responseType.toLowerCase();s.responseType="json"!==y?y:"text"}const a=t.serializeBody();let l=null;const c=()=>{if(null!==l)return l;const y=s.statusText||"OK",D=new pi(s.getAllResponseHeaders()),M=function MB(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(s)||t.url;return l=new Sg({headers:D,status:s.status,statusText:y,url:M}),l},u=()=>{let{headers:y,status:D,statusText:M,url:C}=c(),k=null;204!==D&&(k=typeof s.response>"u"?s.responseText:s.response),0===D&&(D=k?200:0);let P=D>=200&&D<300;if("json"===t.responseType&&"string"==typeof k){const G=k;k=k.replace(SB,"");try{k=""!==k?JSON.parse(k):null}catch(X){k=G,P&&(P=!1,k={error:X,text:k})}}P?(o.next(new us({body:k,headers:y,status:D,statusText:M,url:C||void 0})),o.complete()):o.error(new rC({error:k,headers:y,status:D,statusText:M,url:C||void 0}))},d=y=>{const{url:D}=c(),M=new rC({error:y,status:s.status||0,statusText:s.statusText||"Unknown Error",url:D||void 0});o.error(M)};let h=!1;const _=y=>{h||(o.next(c()),h=!0);let D={type:cs.DownloadProgress,loaded:y.loaded};y.lengthComputable&&(D.total=y.total),"text"===t.responseType&&s.responseText&&(D.partialText=s.responseText),o.next(D)},v=y=>{let D={type:cs.UploadProgress,loaded:y.loaded};y.lengthComputable&&(D.total=y.total),o.next(D)};return s.addEventListener("load",u),s.addEventListener("error",d),s.addEventListener("timeout",d),s.addEventListener("abort",d),t.reportProgress&&(s.addEventListener("progress",_),null!==a&&s.upload&&s.upload.addEventListener("progress",v)),s.send(a),o.next({type:cs.Sent}),()=>{s.removeEventListener("error",d),s.removeEventListener("abort",d),s.removeEventListener("load",u),s.removeEventListener("timeout",d),t.reportProgress&&(s.removeEventListener("progress",_),null!==a&&s.upload&&s.upload.removeEventListener("progress",v)),s.readyState!==s.DONE&&s.abort()}})))}static#e=this.\u0275fac=function(i){return new(i||e)(H(Aw))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();const Ig=new z("XSRF_ENABLED"),fC=new z("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),hC=new z("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class pC{}let OB=(()=>{class e{constructor(t,i,r){this.doc=t,this.platform=i,this.cookieName=r,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=Cw(t,this.cookieName),this.lastCookieString=t),this.lastToken}static#e=this.\u0275fac=function(i){return new(i||e)(H(ut),H(Tr),H(fC))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();function xB(e,n){const t=e.url.toLowerCase();if(!F(Ig)||"GET"===e.method||"HEAD"===e.method||t.startsWith("http://")||t.startsWith("https://"))return n(e);const i=F(pC).getToken(),r=F(hC);return null!=i&&!e.headers.has(r)&&(e=e.clone({headers:e.headers.set(r,i)})),n(e)}var ir=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(ir||{});function AB(...e){const n=[Wa,dC,cC,{provide:ku,useExisting:cC},{provide:Pu,useExisting:dC},{provide:qa,useValue:xB,multi:!0},{provide:Ig,useValue:!0},{provide:pC,useClass:OB}];for(const t of e)n.push(...t.\u0275providers);return function _h(e){return{\u0275providers:e}}(n)}const gC=new z("LEGACY_INTERCEPTOR_FN");function RB(){return function kr(e,n){return{\u0275kind:e,\u0275providers:n}}(ir.LegacyInterceptors,[{provide:gC,useFactory:wB},{provide:qa,useExisting:gC,multi:!0}])}let kB=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({providers:[AB(RB())]})}return e})();const{isArray:jB}=Array,{getPrototypeOf:HB,prototype:$B,keys:UB}=Object;function mC(e){if(1===e.length){const n=e[0];if(jB(n))return{args:n,keys:null};if(function GB(e){return e&&"object"==typeof e&&HB(e)===$B}(n)){const t=UB(n);return{args:t.map(i=>n[i]),keys:t}}}return{args:e,keys:null}}const{isArray:zB}=Array;function Ng(e){return ae(n=>function WB(e,n){return zB(n)?e(...n):e(n)}(e,n))}function _C(e,n){return e.reduce((t,i,r)=>(t[i]=n[r],t),{})}let vC=(()=>{class e{constructor(t,i){this._renderer=t,this._elementRef=i,this.onChange=r=>{},this.onTouched=()=>{}}setProperty(t,i){this._renderer.setProperty(this._elementRef.nativeElement,t,i)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}static#e=this.\u0275fac=function(i){return new(i||e)(b(hn),b(Se))};static#t=this.\u0275dir=L({type:e})}return e})(),Pr=(()=>{class e extends vC{static#e=this.\u0275fac=function(){let t;return function(r){return(t||(t=ot(e)))(r||e)}}();static#t=this.\u0275dir=L({type:e,features:[Me]})}return e})();const An=new z("NgValueAccessor"),ZB={provide:An,useExisting:le(()=>Ya),multi:!0},XB=new z("CompositionEventMode");let Ya=(()=>{class e extends vC{constructor(t,i,r){super(t,i),this._compositionMode=r,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function JB(){const e=er()?er().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(t){this.setProperty("value",t??"")}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}static#e=this.\u0275fac=function(i){return new(i||e)(b(hn),b(Se),b(XB,8))};static#t=this.\u0275dir=L({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(i,r){1&i&&Z("input",function(s){return r._handleInput(s.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(s){return r._compositionEnd(s.target.value)})},features:[Fe([ZB]),Me]})}return e})();const Ot=new z("NgValidators"),or=new z("NgAsyncValidators");function NC(e){return null!=e}function OC(e){return Sa(e)?pt(e):e}function xC(e){let n={};return e.forEach(t=>{n=null!=t?{...n,...t}:n}),0===Object.keys(n).length?null:n}function AC(e,n){return n.map(t=>t(e))}function RC(e){return e.map(n=>function KB(e){return!e.validate}(n)?n:t=>n.validate(t))}function Og(e){return null!=e?function kC(e){if(!e)return null;const n=e.filter(NC);return 0==n.length?null:function(t){return xC(AC(t,n))}}(RC(e)):null}function xg(e){return null!=e?function PC(e){if(!e)return null;const n=e.filter(NC);return 0==n.length?null:function(t){return function qB(...e){const n=Ul(e),{args:t,keys:i}=mC(e),r=new Ce(o=>{const{length:s}=t;if(!s)return void o.complete();const a=new Array(s);let l=s,c=s;for(let u=0;u{d||(d=!0,c--),a[u]=h},()=>l--,void 0,()=>{(!l||!d)&&(c||o.next(i?_C(i,a):a),o.complete())}))}});return n?r.pipe(Ng(n)):r}(AC(t,n).map(OC)).pipe(ae(xC))}}(RC(e)):null}function FC(e,n){return null===e?[n]:Array.isArray(e)?[...e,n]:[e,n]}function Ag(e){return e?Array.isArray(e)?e:[e]:[]}function Bu(e,n){return Array.isArray(e)?e.includes(n):e===n}function BC(e,n){const t=Ag(n);return Ag(e).forEach(r=>{Bu(t,r)||t.push(r)}),t}function jC(e,n){return Ag(n).filter(t=>!Bu(e,t))}class HC{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(n){this._rawValidators=n||[],this._composedValidatorFn=Og(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=xg(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(n){this._onDestroyCallbacks.push(n)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(n=>n()),this._onDestroyCallbacks=[]}reset(n=void 0){this.control&&this.control.reset(n)}hasError(n,t){return!!this.control&&this.control.hasError(n,t)}getError(n,t){return this.control?this.control.getError(n,t):null}}class Yt extends HC{get formDirective(){return null}get path(){return null}}class sr extends HC{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class $C{constructor(n){this._cd=n}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let Rg=(()=>{class e extends $C{constructor(t){super(t)}static#e=this.\u0275fac=function(i){return new(i||e)(b(sr,2))};static#t=this.\u0275dir=L({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(i,r){2&i&&ye("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)},features:[Me]})}return e})(),UC=(()=>{class e extends $C{constructor(t){super(t)}static#e=this.\u0275fac=function(i){return new(i||e)(b(Yt,10))};static#t=this.\u0275dir=L({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(i,r){2&i&&ye("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)("ng-submitted",r.isSubmitted)},features:[Me]})}return e})();const Za="VALID",Hu="INVALID",ds="PENDING",Ja="DISABLED";function Fg(e){return($u(e)?e.validators:e)||null}function Lg(e,n){return($u(n)?n.asyncValidators:e)||null}function $u(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}class qC{constructor(n,t){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(n),this._assignAsyncValidators(t)}get validator(){return this._composedValidatorFn}set validator(n){this._rawValidators=this._composedValidatorFn=n}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(n){this._rawAsyncValidators=this._composedAsyncValidatorFn=n}get parent(){return this._parent}get valid(){return this.status===Za}get invalid(){return this.status===Hu}get pending(){return this.status==ds}get disabled(){return this.status===Ja}get enabled(){return this.status!==Ja}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(n){this._assignValidators(n)}setAsyncValidators(n){this._assignAsyncValidators(n)}addValidators(n){this.setValidators(BC(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(BC(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(jC(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(jC(n,this._rawAsyncValidators))}hasValidator(n){return Bu(this._rawValidators,n)}hasAsyncValidator(n){return Bu(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){this.touched=!0,this._parent&&!n.onlySelf&&this._parent.markAsTouched(n)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(n=>n.markAllAsTouched())}markAsUntouched(n={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}markAsDirty(n={}){this.pristine=!1,this._parent&&!n.onlySelf&&this._parent.markAsDirty(n)}markAsPristine(n={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}markAsPending(n={}){this.status=ds,!1!==n.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!n.onlySelf&&this._parent.markAsPending(n)}disable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=Ja,this.errors=null,this._forEachChild(i=>{i.disable({...n,onlySelf:!0})}),this._updateValue(),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...n,skipPristineCheck:t}),this._onDisabledChange.forEach(i=>i(!0))}enable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=Za,this._forEachChild(i=>{i.enable({...n,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors({...n,skipPristineCheck:t}),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(n){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(n){this._parent=n}getRawValue(){return this.value}updateValueAndValidity(n={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Za||this.status===ds)&&this._runAsyncValidator(n.emitEvent)),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity(n)}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Ja:Za}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n){if(this.asyncValidator){this.status=ds,this._hasOwnPendingAsyncValidator=!0;const t=OC(this.asyncValidator(this));this._asyncValidationSubscription=t.subscribe(i=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(i,{emitEvent:n})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(n,t={}){this.errors=n,this._updateControlsErrors(!1!==t.emitEvent)}get(n){let t=n;return null==t||(Array.isArray(t)||(t=t.split(".")),0===t.length)?null:t.reduce((i,r)=>i&&i._find(r),this)}getError(n,t){const i=t?this.get(t):this;return i&&i.errors?i.errors[n]:null}hasError(n,t){return!!this.getError(n,t)}get root(){let n=this;for(;n._parent;)n=n._parent;return n}_updateControlsErrors(n){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(n)}_initObservables(){this.valueChanges=new Y,this.statusChanges=new Y}_calculateStatus(){return this._allControlsDisabled()?Ja:this.errors?Hu:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(ds)?ds:this._anyControlsHaveStatus(Hu)?Hu:Za}_anyControlsHaveStatus(n){return this._anyControls(t=>t.status===n)}_anyControlsDirty(){return this._anyControls(n=>n.dirty)}_anyControlsTouched(){return this._anyControls(n=>n.touched)}_updatePristine(n={}){this.pristine=!this._anyControlsDirty(),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}_updateTouched(n={}){this.touched=this._anyControlsTouched(),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){$u(n)&&null!=n.updateOn&&(this._updateOn=n.updateOn)}_parentMarkedDirty(n){return!n&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(n){return null}_assignValidators(n){this._rawValidators=Array.isArray(n)?n.slice():n,this._composedValidatorFn=function ij(e){return Array.isArray(e)?Og(e):e||null}(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=function rj(e){return Array.isArray(e)?xg(e):e||null}(this._rawAsyncValidators)}}class Vg extends qC{constructor(n,t,i){super(Fg(t),Lg(i,t)),this.controls=n,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(n,t){return this.controls[n]?this.controls[n]:(this.controls[n]=t,t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange),t)}addControl(n,t,i={}){this.registerControl(n,t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(n,t={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}setControl(n,t,i={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],t&&this.registerControl(n,t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(n){return this.controls.hasOwnProperty(n)&&this.controls[n].enabled}setValue(n,t={}){(function WC(e,n,t){e._forEachChild((i,r)=>{if(void 0===t[r])throw new R(1002,"")})})(this,0,n),Object.keys(n).forEach(i=>{(function zC(e,n,t){const i=e.controls;if(!(n?Object.keys(i):i).length)throw new R(1e3,"");if(!i[t])throw new R(1001,"")})(this,!0,i),this.controls[i].setValue(n[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(n,t={}){null!=n&&(Object.keys(n).forEach(i=>{const r=this.controls[i];r&&r.patchValue(n[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(n={},t={}){this._forEachChild((i,r)=>{i.reset(n?n[r]:null,{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}getRawValue(){return this._reduceChildren({},(n,t,i)=>(n[i]=t.getRawValue(),n))}_syncPendingControls(){let n=this._reduceChildren(!1,(t,i)=>!!i._syncPendingControls()||t);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){Object.keys(this.controls).forEach(t=>{const i=this.controls[t];i&&n(i,t)})}_setUpControls(){this._forEachChild(n=>{n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(n){for(const[t,i]of Object.entries(this.controls))if(this.contains(t)&&n(i))return!0;return!1}_reduceValue(){return this._reduceChildren({},(t,i,r)=>((i.enabled||this.disabled)&&(t[r]=i.value),t))}_reduceChildren(n,t){let i=n;return this._forEachChild((r,o)=>{i=t(i,r,o)}),i}_allControlsDisabled(){for(const n of Object.keys(this.controls))if(this.controls[n].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(n){return this.controls.hasOwnProperty(n)?this.controls[n]:null}}const Fr=new z("CallSetDisabledState",{providedIn:"root",factory:()=>Xa}),Xa="always";function Qa(e,n,t=Xa){Bg(e,n),n.valueAccessor.writeValue(e.value),(e.disabled||"always"===t)&&n.valueAccessor.setDisabledState?.(e.disabled),function aj(e,n){n.valueAccessor.registerOnChange(t=>{e._pendingValue=t,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&YC(e,n)})}(e,n),function cj(e,n){const t=(i,r)=>{n.valueAccessor.writeValue(i),r&&n.viewToModelUpdate(i)};e.registerOnChange(t),n._registerOnDestroy(()=>{e._unregisterOnChange(t)})}(e,n),function lj(e,n){n.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&YC(e,n),"submit"!==e.updateOn&&e.markAsTouched()})}(e,n),function sj(e,n){if(n.valueAccessor.setDisabledState){const t=i=>{n.valueAccessor.setDisabledState(i)};e.registerOnDisabledChange(t),n._registerOnDestroy(()=>{e._unregisterOnDisabledChange(t)})}}(e,n)}function zu(e,n){e.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(n)})}function Bg(e,n){const t=function LC(e){return e._rawValidators}(e);null!==n.validator?e.setValidators(FC(t,n.validator)):"function"==typeof t&&e.setValidators([t]);const i=function VC(e){return e._rawAsyncValidators}(e);null!==n.asyncValidator?e.setAsyncValidators(FC(i,n.asyncValidator)):"function"==typeof i&&e.setAsyncValidators([i]);const r=()=>e.updateValueAndValidity();zu(n._rawValidators,r),zu(n._rawAsyncValidators,r)}function YC(e,n){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}const pj={provide:Yt,useExisting:le(()=>qu)},Ka=(()=>Promise.resolve())();let qu=(()=>{class e extends Yt{constructor(t,i,r){super(),this.callSetDisabledState=r,this.submitted=!1,this._directives=new Set,this.ngSubmit=new Y,this.form=new Vg({},Og(t),xg(i))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){Ka.then(()=>{const i=this._findContainer(t.path);t.control=i.registerControl(t.name,t.control),Qa(t.control,t,this.callSetDisabledState),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){Ka.then(()=>{const i=this._findContainer(t.path);i&&i.removeControl(t.name),this._directives.delete(t)})}addFormGroup(t){Ka.then(()=>{const i=this._findContainer(t.path),r=new Vg({});(function ZC(e,n){Bg(e,n)})(r,t),i.registerControl(t.name,r),r.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){Ka.then(()=>{const i=this._findContainer(t.path);i&&i.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,i){Ka.then(()=>{this.form.get(t.path).setValue(i)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,function JC(e,n){e._syncPendingControls(),n.forEach(t=>{const i=t.control;"submit"===i.updateOn&&i._pendingChange&&(t.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}(this.form,this._directives),this.ngSubmit.emit(t),"dialog"===t?.target?.method}onReset(){this.resetForm()}resetForm(t=void 0){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}static#e=this.\u0275fac=function(i){return new(i||e)(b(Ot,10),b(or,10),b(Fr,8))};static#t=this.\u0275dir=L({type:e,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(i,r){1&i&&Z("submit",function(s){return r.onSubmit(s)})("reset",function(){return r.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Fe([pj]),Me]})}return e})();function XC(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function QC(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const KC=class extends qC{constructor(n=null,t,i){super(Fg(t),Lg(i,t)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(n),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),$u(t)&&(t.nonNullable||t.initialValueIsDefault)&&(this.defaultValue=QC(n)?n.value:n)}setValue(n,t={}){this.value=this._pendingValue=n,this._onChange.length&&!1!==t.emitModelToViewChange&&this._onChange.forEach(i=>i(this.value,!1!==t.emitViewToModelChange)),this.updateValueAndValidity(t)}patchValue(n,t={}){this.setValue(n,t)}reset(n=this.defaultValue,t={}){this._applyFormState(n),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1}_updateValue(){}_anyControls(n){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(n){this._onChange.push(n)}_unregisterOnChange(n){XC(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){XC(this._onDisabledChange,n)}_forEachChild(n){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(n){QC(n)?(this.value=this._pendingValue=n.value,n.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=n}},_j={provide:sr,useExisting:le(()=>Yu)},nE=(()=>Promise.resolve())();let Yu=(()=>{class e extends sr{constructor(t,i,r,o,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this.control=new KC,this._registered=!1,this.name="",this.update=new Y,this._parent=t,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=function $g(e,n){if(!n)return null;let t,i,r;return Array.isArray(n),n.forEach(o=>{o.constructor===Ya?t=o:function fj(e){return Object.getPrototypeOf(e.constructor)===Pr}(o)?i=o:r=o}),r||i||t||null}(0,o)}ngOnChanges(t){if(this._checkForErrors(),!this._registered||"name"in t){if(this._registered&&(this._checkName(),this.formDirective)){const i=t.name.previousValue;this.formDirective.removeControl({name:i,path:this._getPath(i)})}this._setUpControl()}"isDisabled"in t&&this._updateDisabled(t),function Hg(e,n){if(!e.hasOwnProperty("model"))return!1;const t=e.model;return!!t.isFirstChange()||!Object.is(n,t.currentValue)}(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){Qa(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){nE.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(t){const i=t.isDisabled.currentValue,r=0!==i&&function os(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}(i);nE.then(()=>{r&&!this.control.disabled?this.control.disable():!r&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(t){return this._parent?function Uu(e,n){return[...n.path,e]}(t,this._parent):[t]}static#e=this.\u0275fac=function(i){return new(i||e)(b(Yt,9),b(Ot,10),b(or,10),b(An,10),b(zn,8),b(Fr,8))};static#t=this.\u0275dir=L({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[Fe([_j]),Me,Mt]})}return e})(),iE=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275dir=L({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]})}return e})(),oE=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})();const Ug=new z("NgModelWithFormControlWarning");let wE=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({imports:[oE]})}return e})(),$j=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:Fr,useValue:t.callSetDisabledState??Xa}]}}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({imports:[wE]})}return e})(),Uj=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:Ug,useValue:t.warnOnNgModelWithFormControl??"always"},{provide:Fr,useValue:t.callSetDisabledState??Xa}]}}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({imports:[wE]})}return e})(),Zu=(()=>{class e{formatTransactionTime(t){const i=new Date(1e3*t);return"Invalid Date"===i.toString()?(console.error("Invalid Date Format:",t),"Invalid Date"):i.toLocaleDateString(void 0,{year:"numeric",month:"2-digit",day:"2-digit"})+", "+i.toLocaleTimeString()}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Ju=(()=>{class e{getTransactionType(t){return 0===t.inputs.length&&0===t.outputs.length&&console.log("Encrypted Message"),0===t.inputs.length&&1===t.outputs.length&&0===t.outputs[0]?.value?"Message":0===t.inputs.length&&t.outputs.length>=1&&t.outputs[0]?.value>0?"Coinbase":t.inputs.length>0&&t.outputs.length>1&&t.outputs[0]?.value>0?"Transfer":t.outputs.length>=2&&0===t.outputs[0]?.value?"Create Identity":(console.log("Unknown Transaction Type"),"Unknown Transaction Type")}isEncryptedMessageTransaction(t){return 0===t.inputs.length&&0===t.outputs.length}isMessageTransaction(t){return 0===t.inputs.length&&1===t.outputs.length&&0===t.outputs[0]?.value}isCoinbaseTransaction(t){return 0===t.inputs.length&&t.outputs.length>=1&&t.outputs[0]?.value>0}isTransferTransaction(t){return t.inputs.length>0&&t.outputs.length>1&&t.outputs[0]?.value>0}isCreateIdentityTransaction(t){return t.outputs.length>=2&&0===t.outputs[0]?.value}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Jg(...e){const n=Vs(e),t=Ul(e),{args:i,keys:r}=mC(e);if(0===i.length)return pt([],n);const o=new Ce(function zj(e,n,t=Pn){return i=>{CE(n,()=>{const{length:r}=e,o=new Array(r);let s=r,a=r;for(let l=0;l{const c=pt(e[l],n);let u=!1;c.subscribe(Ve(i,d=>{o[l]=d,u||(u=!0,a--),a||i.next(t(o.slice()))},()=>{--s||i.complete()}))},i)},i)}}(i,n,r?s=>_C(r,s):Pn));return t?o.pipe(Ng(t)):o}function CE(e,n,t){e?Di(t,e,n):n()}const Xu=Li(e=>function(){e(this),this.name="EmptyError",this.message="no elements in sequence"});function el(...e){return function Wj(){return lo(1)}()(pt(e,Vs(e)))}function EE(e){return new Ce(n=>{ft(e()).subscribe(n)})}function tl(e,n){const t=se(e)?e:()=>e,i=r=>r.error(t());return new Ce(n?r=>n.schedule(i,0,r):i)}function Xg(){return ze((e,n)=>{let t=null;e._refCount++;const i=Ve(n,void 0,void 0,void 0,()=>{if(!e||e._refCount<=0||0<--e._refCount)return void(t=null);const r=e._connection,o=t;t=null,r&&(!o||r===o)&&r.unsubscribe(),n.unsubscribe()});e.subscribe(i),i.closed||(t=e.connect())})}class TE extends Ce{constructor(n,t){super(),this.source=n,this.subjectFactory=t,this._subject=null,this._refCount=0,this._connection=null,Fs(n)&&(this.lift=n.lift)}_subscribe(n){return this.getSubject().subscribe(n)}getSubject(){const n=this._subject;return(!n||n.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:n}=this;this._subject=this._connection=null,n?.unsubscribe()}connect(){let n=this._connection;if(!n){n=this._connection=new tt;const t=this.getSubject();n.add(this.source.subscribe(Ve(t,void 0,()=>{this._teardown(),t.complete()},i=>{this._teardown(),t.error(i)},()=>this._teardown()))),n.closed&&(this._connection=null,n=tt.EMPTY)}return n}refCount(){return Xg()(this)}}function xt(e){return e<=0?()=>bn:ze((n,t)=>{let i=0;n.subscribe(Ve(t,r=>{++i<=e&&(t.next(r),e<=i&&t.complete())}))})}function Qu(e){return ze((n,t)=>{let i=!1;n.subscribe(Ve(t,r=>{i=!0,t.next(r)},()=>{i||t.next(e),t.complete()}))})}function ME(e=qj){return ze((n,t)=>{let i=!1;n.subscribe(Ve(t,r=>{i=!0,t.next(r)},()=>i?t.complete():t.error(e())))})}function qj(){return new Xu}function Vr(e,n){const t=arguments.length>=2;return i=>i.pipe(e?vt((r,o)=>e(r,o,i)):Pn,xt(1),t?Qu(n):ME(()=>new Xu))}function wt(e,n,t){const i=se(e)||n||t?{next:e,error:n,complete:t}:e;return i?ze((r,o)=>{var s;null===(s=i.subscribe)||void 0===s||s.call(i);let a=!0;r.subscribe(Ve(o,l=>{var c;null===(c=i.next)||void 0===c||c.call(i,l),o.next(l)},()=>{var l;a=!1,null===(l=i.complete)||void 0===l||l.call(i),o.complete()},l=>{var c;a=!1,null===(c=i.error)||void 0===c||c.call(i,l),o.error(l)},()=>{var l,c;a&&(null===(l=i.unsubscribe)||void 0===l||l.call(i)),null===(c=i.finalize)||void 0===c||c.call(i)}))}):Pn}function Br(e){return ze((n,t)=>{let o,i=null,r=!1;i=n.subscribe(Ve(t,void 0,void 0,s=>{o=ft(e(s,Br(e)(n))),i?(i.unsubscribe(),i=null,o.subscribe(t)):r=!0})),r&&(i.unsubscribe(),i=null,o.subscribe(t))})}function Qg(e){return e<=0?()=>bn:ze((n,t)=>{let i=[];n.subscribe(Ve(t,r=>{i.push(r),e{for(const r of i)t.next(r);t.complete()},void 0,()=>{i=null}))})}function Ke(e){return ze((n,t)=>{ft(e).subscribe(Ve(t,()=>t.complete(),pr)),!t.closed&&n.subscribe(t)})}const oe="primary",nl=Symbol("RouteTitle");class Xj{constructor(n){this.params=n||{}}has(n){return Object.prototype.hasOwnProperty.call(this.params,n)}get(n){if(this.has(n)){const t=this.params[n];return Array.isArray(t)?t[0]:t}return null}getAll(n){if(this.has(n)){const t=this.params[n];return Array.isArray(t)?t:[t]}return[]}get keys(){return Object.keys(this.params)}}function fs(e){return new Xj(e)}function Qj(e,n,t){const i=t.path.split("/");if(i.length>e.length||"full"===t.pathMatch&&(n.hasChildren()||i.lengthi[o]===r)}return e===n}function OE(e){return e.length>0?e[e.length-1]:null}function ar(e){return function Gj(e){return!!e&&(e instanceof Ce||se(e.lift)&&se(e.subscribe))}(e)?e:Sa(e)?pt(Promise.resolve(e)):J(e)}const e3={exact:function RE(e,n,t){if(!jr(e.segments,n.segments)||!Ku(e.segments,n.segments,t)||e.numberOfChildren!==n.numberOfChildren)return!1;for(const i in n.children)if(!e.children[i]||!RE(e.children[i],n.children[i],t))return!1;return!0},subset:kE},xE={exact:function t3(e,n){return gi(e,n)},subset:function n3(e,n){return Object.keys(n).length<=Object.keys(e).length&&Object.keys(n).every(t=>NE(e[t],n[t]))},ignored:()=>!0};function AE(e,n,t){return e3[t.paths](e.root,n.root,t.matrixParams)&&xE[t.queryParams](e.queryParams,n.queryParams)&&!("exact"===t.fragment&&e.fragment!==n.fragment)}function kE(e,n,t){return PE(e,n,n.segments,t)}function PE(e,n,t,i){if(e.segments.length>t.length){const r=e.segments.slice(0,t.length);return!(!jr(r,t)||n.hasChildren()||!Ku(r,t,i))}if(e.segments.length===t.length){if(!jr(e.segments,t)||!Ku(e.segments,t,i))return!1;for(const r in n.children)if(!e.children[r]||!kE(e.children[r],n.children[r],i))return!1;return!0}{const r=t.slice(0,e.segments.length),o=t.slice(e.segments.length);return!!(jr(e.segments,r)&&Ku(e.segments,r,i)&&e.children[oe])&&PE(e.children[oe],n,o,i)}}function Ku(e,n,t){return n.every((i,r)=>xE[t](e[r].parameters,i.parameters))}class hs{constructor(n=new Pe([],{}),t={},i=null){this.root=n,this.queryParams=t,this.fragment=i}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=fs(this.queryParams)),this._queryParamMap}toString(){return o3.serialize(this)}}class Pe{constructor(n,t){this.segments=n,this.children=t,this.parent=null,Object.values(t).forEach(i=>i.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return ed(this)}}class il{constructor(n,t){this.path=n,this.parameters=t}get parameterMap(){return this._parameterMap||(this._parameterMap=fs(this.parameters)),this._parameterMap}toString(){return VE(this)}}function jr(e,n){return e.length===n.length&&e.every((t,i)=>t.path===n[i].path)}let rl=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:function(){return new Kg},providedIn:"root"})}return e})();class Kg{parse(n){const t=new m3(n);return new hs(t.parseRootSegment(),t.parseQueryParams(),t.parseFragment())}serialize(n){const t=`/${ol(n.root,!0)}`,i=function l3(e){const n=Object.keys(e).map(t=>{const i=e[t];return Array.isArray(i)?i.map(r=>`${td(t)}=${td(r)}`).join("&"):`${td(t)}=${td(i)}`}).filter(t=>!!t);return n.length?`?${n.join("&")}`:""}(n.queryParams);return`${t}${i}${"string"==typeof n.fragment?`#${function s3(e){return encodeURI(e)}(n.fragment)}`:""}`}}const o3=new Kg;function ed(e){return e.segments.map(n=>VE(n)).join("/")}function ol(e,n){if(!e.hasChildren())return ed(e);if(n){const t=e.children[oe]?ol(e.children[oe],!1):"",i=[];return Object.entries(e.children).forEach(([r,o])=>{r!==oe&&i.push(`${r}:${ol(o,!1)}`)}),i.length>0?`${t}(${i.join("//")})`:t}{const t=function r3(e,n){let t=[];return Object.entries(e.children).forEach(([i,r])=>{i===oe&&(t=t.concat(n(r,i)))}),Object.entries(e.children).forEach(([i,r])=>{i!==oe&&(t=t.concat(n(r,i)))}),t}(e,(i,r)=>r===oe?[ol(e.children[oe],!1)]:[`${r}:${ol(i,!1)}`]);return 1===Object.keys(e.children).length&&null!=e.children[oe]?`${ed(e)}/${t[0]}`:`${ed(e)}/(${t.join("//")})`}}function FE(e){return encodeURIComponent(e).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function td(e){return FE(e).replace(/%3B/gi,";")}function em(e){return FE(e).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function nd(e){return decodeURIComponent(e)}function LE(e){return nd(e.replace(/\+/g,"%20"))}function VE(e){return`${em(e.path)}${function a3(e){return Object.keys(e).map(n=>`;${em(n)}=${em(e[n])}`).join("")}(e.parameters)}`}const c3=/^[^\/()?;#]+/;function tm(e){const n=e.match(c3);return n?n[0]:""}const u3=/^[^\/()?;=#]+/,f3=/^[^=?&#]+/,p3=/^[^&#]+/;class m3{constructor(n){this.url=n,this.remaining=n}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new Pe([],{}):new Pe([],this.parseChildren())}parseQueryParams(){const n={};if(this.consumeOptional("?"))do{this.parseQueryParam(n)}while(this.consumeOptional("&"));return n}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const n=[];for(this.peekStartsWith("(")||n.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),n.push(this.parseSegment());let t={};this.peekStartsWith("/(")&&(this.capture("/"),t=this.parseParens(!0));let i={};return this.peekStartsWith("(")&&(i=this.parseParens(!1)),(n.length>0||Object.keys(t).length>0)&&(i[oe]=new Pe(n,t)),i}parseSegment(){const n=tm(this.remaining);if(""===n&&this.peekStartsWith(";"))throw new R(4009,!1);return this.capture(n),new il(nd(n),this.parseMatrixParams())}parseMatrixParams(){const n={};for(;this.consumeOptional(";");)this.parseParam(n);return n}parseParam(n){const t=function d3(e){const n=e.match(u3);return n?n[0]:""}(this.remaining);if(!t)return;this.capture(t);let i="";if(this.consumeOptional("=")){const r=tm(this.remaining);r&&(i=r,this.capture(i))}n[nd(t)]=nd(i)}parseQueryParam(n){const t=function h3(e){const n=e.match(f3);return n?n[0]:""}(this.remaining);if(!t)return;this.capture(t);let i="";if(this.consumeOptional("=")){const s=function g3(e){const n=e.match(p3);return n?n[0]:""}(this.remaining);s&&(i=s,this.capture(i))}const r=LE(t),o=LE(i);if(n.hasOwnProperty(r)){let s=n[r];Array.isArray(s)||(s=[s],n[r]=s),s.push(o)}else n[r]=o}parseParens(n){const t={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const i=tm(this.remaining),r=this.remaining[i.length];if("/"!==r&&")"!==r&&";"!==r)throw new R(4010,!1);let o;i.indexOf(":")>-1?(o=i.slice(0,i.indexOf(":")),this.capture(o),this.capture(":")):n&&(o=oe);const s=this.parseChildren();t[o]=1===Object.keys(s).length?s[oe]:new Pe([],s),this.consumeOptional("//")}return t}peekStartsWith(n){return this.remaining.startsWith(n)}consumeOptional(n){return!!this.peekStartsWith(n)&&(this.remaining=this.remaining.substring(n.length),!0)}capture(n){if(!this.consumeOptional(n))throw new R(4011,!1)}}function BE(e){return e.segments.length>0?new Pe([],{[oe]:e}):e}function jE(e){const n={};for(const i of Object.keys(e.children)){const o=jE(e.children[i]);if(i===oe&&0===o.segments.length&&o.hasChildren())for(const[s,a]of Object.entries(o.children))n[s]=a;else(o.segments.length>0||o.hasChildren())&&(n[i]=o)}return function _3(e){if(1===e.numberOfChildren&&e.children[oe]){const n=e.children[oe];return new Pe(e.segments.concat(n.segments),n.children)}return e}(new Pe(e.segments,n))}function Hr(e){return e instanceof hs}function HE(e){let n;const r=BE(function t(o){const s={};for(const l of o.children){const c=t(l);s[l.outlet]=c}const a=new Pe(o.url,s);return o===e&&(n=a),a}(e.root));return n??r}function $E(e,n,t,i){let r=e;for(;r.parent;)r=r.parent;if(0===n.length)return nm(r,r,r,t,i);const o=function y3(e){if("string"==typeof e[0]&&1===e.length&&"/"===e[0])return new GE(!0,0,e);let n=0,t=!1;const i=e.reduce((r,o,s)=>{if("object"==typeof o&&null!=o){if(o.outlets){const a={};return Object.entries(o.outlets).forEach(([l,c])=>{a[l]="string"==typeof c?c.split("/"):c}),[...r,{outlets:a}]}if(o.segmentPath)return[...r,o.segmentPath]}return"string"!=typeof o?[...r,o]:0===s?(o.split("/").forEach((a,l)=>{0==l&&"."===a||(0==l&&""===a?t=!0:".."===a?n++:""!=a&&r.push(a))}),r):[...r,o]},[]);return new GE(t,n,i)}(n);if(o.toRoot())return nm(r,r,new Pe([],{}),t,i);const s=function b3(e,n,t){if(e.isAbsolute)return new rd(n,!0,0);if(!t)return new rd(n,!1,NaN);if(null===t.parent)return new rd(t,!0,0);const i=id(e.commands[0])?0:1;return function D3(e,n,t){let i=e,r=n,o=t;for(;o>r;){if(o-=r,i=i.parent,!i)throw new R(4005,!1);r=i.segments.length}return new rd(i,!1,r-o)}(t,t.segments.length-1+i,e.numberOfDoubleDots)}(o,r,e),a=s.processChildren?al(s.segmentGroup,s.index,o.commands):zE(s.segmentGroup,s.index,o.commands);return nm(r,s.segmentGroup,a,t,i)}function id(e){return"object"==typeof e&&null!=e&&!e.outlets&&!e.segmentPath}function sl(e){return"object"==typeof e&&null!=e&&e.outlets}function nm(e,n,t,i,r){let s,o={};i&&Object.entries(i).forEach(([l,c])=>{o[l]=Array.isArray(c)?c.map(u=>`${u}`):`${c}`}),s=e===n?t:UE(e,n,t);const a=BE(jE(s));return new hs(a,o,r)}function UE(e,n,t){const i={};return Object.entries(e.children).forEach(([r,o])=>{i[r]=o===n?t:UE(o,n,t)}),new Pe(e.segments,i)}class GE{constructor(n,t,i){if(this.isAbsolute=n,this.numberOfDoubleDots=t,this.commands=i,n&&i.length>0&&id(i[0]))throw new R(4003,!1);const r=i.find(sl);if(r&&r!==OE(i))throw new R(4004,!1)}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class rd{constructor(n,t,i){this.segmentGroup=n,this.processChildren=t,this.index=i}}function zE(e,n,t){if(e||(e=new Pe([],{})),0===e.segments.length&&e.hasChildren())return al(e,n,t);const i=function C3(e,n,t){let i=0,r=n;const o={match:!1,pathIndex:0,commandIndex:0};for(;r=t.length)return o;const s=e.segments[r],a=t[i];if(sl(a))break;const l=`${a}`,c=i0&&void 0===l)break;if(l&&c&&"object"==typeof c&&void 0===c.outlets){if(!qE(l,c,s))return o;i+=2}else{if(!qE(l,{},s))return o;i++}r++}return{match:!0,pathIndex:r,commandIndex:i}}(e,n,t),r=t.slice(i.commandIndex);if(i.match&&i.pathIndexo!==oe)&&e.children[oe]&&1===e.numberOfChildren&&0===e.children[oe].segments.length){const o=al(e.children[oe],n,t);return new Pe(e.segments,o.children)}return Object.entries(i).forEach(([o,s])=>{"string"==typeof s&&(s=[s]),null!==s&&(r[o]=zE(e.children[o],n,s))}),Object.entries(e.children).forEach(([o,s])=>{void 0===i[o]&&(r[o]=s)}),new Pe(e.segments,r)}}function im(e,n,t){const i=e.segments.slice(0,n);let r=0;for(;r{"string"==typeof i&&(i=[i]),null!==i&&(n[t]=im(new Pe([],{}),0,i))}),n}function WE(e){const n={};return Object.entries(e).forEach(([t,i])=>n[t]=`${i}`),n}function qE(e,n,t){return e==t.path&&gi(n,t.parameters)}const ll="imperative";class mi{constructor(n,t){this.id=n,this.url=t}}class od extends mi{constructor(n,t,i="imperative",r=null){super(n,t),this.type=0,this.navigationTrigger=i,this.restoredState=r}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class lr extends mi{constructor(n,t,i){super(n,t),this.urlAfterRedirects=i,this.type=1}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class cl extends mi{constructor(n,t,i,r){super(n,t),this.reason=i,this.code=r,this.type=2}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class ps extends mi{constructor(n,t,i,r){super(n,t),this.reason=i,this.code=r,this.type=16}}class sd extends mi{constructor(n,t,i,r){super(n,t),this.error=i,this.target=r,this.type=3}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class YE extends mi{constructor(n,t,i,r){super(n,t),this.urlAfterRedirects=i,this.state=r,this.type=4}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class T3 extends mi{constructor(n,t,i,r){super(n,t),this.urlAfterRedirects=i,this.state=r,this.type=7}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class S3 extends mi{constructor(n,t,i,r,o){super(n,t),this.urlAfterRedirects=i,this.state=r,this.shouldActivate=o,this.type=8}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class M3 extends mi{constructor(n,t,i,r){super(n,t),this.urlAfterRedirects=i,this.state=r,this.type=5}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class I3 extends mi{constructor(n,t,i,r){super(n,t),this.urlAfterRedirects=i,this.state=r,this.type=6}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class N3{constructor(n){this.route=n,this.type=9}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class O3{constructor(n){this.route=n,this.type=10}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class x3{constructor(n){this.snapshot=n,this.type=11}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class A3{constructor(n){this.snapshot=n,this.type=12}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class R3{constructor(n){this.snapshot=n,this.type=13}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class k3{constructor(n){this.snapshot=n,this.type=14}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class ZE{constructor(n,t,i){this.routerEvent=n,this.position=t,this.anchor=i,this.type=15}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}class rm{}class om{constructor(n){this.url=n}}class P3{constructor(){this.outlet=null,this.route=null,this.injector=null,this.children=new ul,this.attachRef=null}}let ul=(()=>{class e{constructor(){this.contexts=new Map}onChildOutletCreated(t,i){const r=this.getOrCreateContext(t);r.outlet=i,this.contexts.set(t,r)}onChildOutletDestroyed(t){const i=this.getContext(t);i&&(i.outlet=null,i.attachRef=null)}onOutletDeactivated(){const t=this.contexts;return this.contexts=new Map,t}onOutletReAttached(t){this.contexts=t}getOrCreateContext(t){let i=this.getContext(t);return i||(i=new P3,this.contexts.set(t,i)),i}getContext(t){return this.contexts.get(t)||null}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();class JE{constructor(n){this._root=n}get root(){return this._root.value}parent(n){const t=this.pathFromRoot(n);return t.length>1?t[t.length-2]:null}children(n){const t=sm(n,this._root);return t?t.children.map(i=>i.value):[]}firstChild(n){const t=sm(n,this._root);return t&&t.children.length>0?t.children[0].value:null}siblings(n){const t=am(n,this._root);return t.length<2?[]:t[t.length-2].children.map(r=>r.value).filter(r=>r!==n)}pathFromRoot(n){return am(n,this._root).map(t=>t.value)}}function sm(e,n){if(e===n.value)return n;for(const t of n.children){const i=sm(e,t);if(i)return i}return null}function am(e,n){if(e===n.value)return[n];for(const t of n.children){const i=am(e,t);if(i.length)return i.unshift(n),i}return[]}class ki{constructor(n,t){this.value=n,this.children=t}toString(){return`TreeNode(${this.value})`}}function gs(e){const n={};return e&&e.children.forEach(t=>n[t.value.outlet]=t),n}class XE extends JE{constructor(n,t){super(n),this.snapshot=t,lm(this,n)}toString(){return this.snapshot.toString()}}function QE(e,n){const t=function F3(e,n){const s=new ad([],{},{},"",{},oe,n,null,{});return new eT("",new ki(s,[]))}(0,n),i=new Dn([new il("",{})]),r=new Dn({}),o=new Dn({}),s=new Dn({}),a=new Dn(""),l=new $r(i,r,s,a,o,oe,n,t.root);return l.snapshot=t.root,new XE(new ki(l,[]),t)}class $r{constructor(n,t,i,r,o,s,a,l){this.urlSubject=n,this.paramsSubject=t,this.queryParamsSubject=i,this.fragmentSubject=r,this.dataSubject=o,this.outlet=s,this.component=a,this._futureSnapshot=l,this.title=this.dataSubject?.pipe(ae(c=>c[nl]))??J(void 0),this.url=n,this.params=t,this.queryParams=i,this.fragment=r,this.data=o}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=this.params.pipe(ae(n=>fs(n)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(ae(n=>fs(n)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function KE(e,n="emptyOnly"){const t=e.pathFromRoot;let i=0;if("always"!==n)for(i=t.length-1;i>=1;){const r=t[i],o=t[i-1];if(r.routeConfig&&""===r.routeConfig.path)i--;else{if(o.component)break;i--}}return function L3(e){return e.reduce((n,t)=>({params:{...n.params,...t.params},data:{...n.data,...t.data},resolve:{...t.data,...n.resolve,...t.routeConfig?.data,...t._resolvedData}}),{params:{},data:{},resolve:{}})}(t.slice(i))}class ad{get title(){return this.data?.[nl]}constructor(n,t,i,r,o,s,a,l,c){this.url=n,this.params=t,this.queryParams=i,this.fragment=r,this.data=o,this.outlet=s,this.component=a,this.routeConfig=l,this._resolve=c}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=fs(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=fs(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(i=>i.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class eT extends JE{constructor(n,t){super(t),this.url=n,lm(this,t)}toString(){return tT(this._root)}}function lm(e,n){n.value._routerState=e,n.children.forEach(t=>lm(e,t))}function tT(e){const n=e.children.length>0?` { ${e.children.map(tT).join(", ")} } `:"";return`${e.value}${n}`}function cm(e){if(e.snapshot){const n=e.snapshot,t=e._futureSnapshot;e.snapshot=t,gi(n.queryParams,t.queryParams)||e.queryParamsSubject.next(t.queryParams),n.fragment!==t.fragment&&e.fragmentSubject.next(t.fragment),gi(n.params,t.params)||e.paramsSubject.next(t.params),function Kj(e,n){if(e.length!==n.length)return!1;for(let t=0;tgi(t.parameters,n[i].parameters))}(e.url,n.url);return t&&!(!e.parent!=!n.parent)&&(!e.parent||um(e.parent,n.parent))}let nT=(()=>{class e{constructor(){this.activated=null,this._activatedRoute=null,this.name=oe,this.activateEvents=new Y,this.deactivateEvents=new Y,this.attachEvents=new Y,this.detachEvents=new Y,this.parentContexts=F(ul),this.location=F(Nn),this.changeDetector=F(zn),this.environmentInjector=F(zt),this.inputBinder=F(ld,{optional:!0}),this.supportsBindingToComponentInputs=!0}get activatedComponentRef(){return this.activated}ngOnChanges(t){if(t.name){const{firstChange:i,previousValue:r}=t.name;if(i)return;this.isTrackedInParentContexts(r)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(r)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(t){return this.parentContexts.getContext(t)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;const t=this.parentContexts.getContext(this.name);t?.route&&(t.attachRef?this.attach(t.attachRef,t.route):this.activateWith(t.route,t.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new R(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new R(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new R(4012,!1);this.location.detach();const t=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(t.instance),t}attach(t,i){this.activated=t,this._activatedRoute=i,this.location.insert(t.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(t.instance)}deactivate(){if(this.activated){const t=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(t)}}activateWith(t,i){if(this.isActivated)throw new R(4013,!1);this._activatedRoute=t;const r=this.location,s=t.snapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,l=new V3(t,a,r.injector);this.activated=r.createComponent(s,{index:r.length,injector:l,environmentInjector:i??this.environmentInjector}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275dir=L({type:e,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[Mt]})}return e})();class V3{constructor(n,t,i){this.route=n,this.childContexts=t,this.parent=i}get(n,t){return n===$r?this.route:n===ul?this.childContexts:this.parent.get(n,t)}}const ld=new z("");let iT=(()=>{class e{constructor(){this.outletDataSubscriptions=new Map}bindActivatedRouteToOutletComponent(t){this.unsubscribeFromRouteData(t),this.subscribeToRouteData(t)}unsubscribeFromRouteData(t){this.outletDataSubscriptions.get(t)?.unsubscribe(),this.outletDataSubscriptions.delete(t)}subscribeToRouteData(t){const{activatedRoute:i}=t,r=Jg([i.queryParams,i.params,i.data]).pipe(wn(([o,s,a],l)=>(a={...o,...s,...a},0===l?J(a):Promise.resolve(a)))).subscribe(o=>{if(!t.isActivated||!t.activatedComponentRef||t.activatedRoute!==i||null===i.component)return void this.unsubscribeFromRouteData(t);const s=function UF(e){const n=he(e);if(!n)return null;const t=new ba(n);return{get selector(){return t.selector},get type(){return t.componentType},get inputs(){return t.inputs},get outputs(){return t.outputs},get ngContentSelectors(){return t.ngContentSelectors},get isStandalone(){return n.standalone},get isSignal(){return n.signals}}}(i.component);if(s)for(const{templateName:a}of s.inputs)t.activatedComponentRef.setInput(a,o[a]);else this.unsubscribeFromRouteData(t)});this.outletDataSubscriptions.set(t,r)}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();function dl(e,n,t){if(t&&e.shouldReuseRoute(n.value,t.value.snapshot)){const i=t.value;i._futureSnapshot=n.value;const r=function j3(e,n,t){return n.children.map(i=>{for(const r of t.children)if(e.shouldReuseRoute(i.value,r.value.snapshot))return dl(e,i,r);return dl(e,i)})}(e,n,t);return new ki(i,r)}{if(e.shouldAttach(n.value)){const o=e.retrieve(n.value);if(null!==o){const s=o.route;return s.value._futureSnapshot=n.value,s.children=n.children.map(a=>dl(e,a)),s}}const i=function H3(e){return new $r(new Dn(e.url),new Dn(e.params),new Dn(e.queryParams),new Dn(e.fragment),new Dn(e.data),e.outlet,e.component,e)}(n.value),r=n.children.map(o=>dl(e,o));return new ki(i,r)}}const dm="ngNavigationCancelingError";function rT(e,n){const{redirectTo:t,navigationBehaviorOptions:i}=Hr(n)?{redirectTo:n,navigationBehaviorOptions:void 0}:n,r=oT(!1,0,n);return r.url=t,r.navigationBehaviorOptions=i,r}function oT(e,n,t){const i=new Error("NavigationCancelingError: "+(e||""));return i[dm]=!0,i.cancellationCode=n,t&&(i.url=t),i}function sT(e){return e&&e[dm]}let aT=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275cmp=Pt({type:e,selectors:[["ng-component"]],standalone:!0,features:[In],decls:1,vars:0,template:function(i,r){1&i&&Ae(0,"router-outlet")},dependencies:[nT],encapsulation:2})}return e})();function fm(e){const n=e.children&&e.children.map(fm),t=n?{...e,children:n}:{...e};return!t.component&&!t.loadComponent&&(n||t.loadChildren)&&t.outlet&&t.outlet!==oe&&(t.component=aT),t}function Jn(e){return e.outlet||oe}function fl(e){if(!e)return null;if(e.routeConfig?._injector)return e.routeConfig._injector;for(let n=e.parent;n;n=n.parent){const t=n.routeConfig;if(t?._loadedInjector)return t._loadedInjector;if(t?._injector)return t._injector}return null}class Z3{constructor(n,t,i,r,o){this.routeReuseStrategy=n,this.futureState=t,this.currState=i,this.forwardEvent=r,this.inputBindingEnabled=o}activate(n){const t=this.futureState._root,i=this.currState?this.currState._root:null;this.deactivateChildRoutes(t,i,n),cm(this.futureState.root),this.activateChildRoutes(t,i,n)}deactivateChildRoutes(n,t,i){const r=gs(t);n.children.forEach(o=>{const s=o.value.outlet;this.deactivateRoutes(o,r[s],i),delete r[s]}),Object.values(r).forEach(o=>{this.deactivateRouteAndItsChildren(o,i)})}deactivateRoutes(n,t,i){const r=n.value,o=t?t.value:null;if(r===o)if(r.component){const s=i.getContext(r.outlet);s&&this.deactivateChildRoutes(n,t,s.children)}else this.deactivateChildRoutes(n,t,i);else o&&this.deactivateRouteAndItsChildren(t,i)}deactivateRouteAndItsChildren(n,t){n.value.component&&this.routeReuseStrategy.shouldDetach(n.value.snapshot)?this.detachAndStoreRouteSubtree(n,t):this.deactivateRouteAndOutlet(n,t)}detachAndStoreRouteSubtree(n,t){const i=t.getContext(n.value.outlet),r=i&&n.value.component?i.children:t,o=gs(n);for(const s of Object.keys(o))this.deactivateRouteAndItsChildren(o[s],r);if(i&&i.outlet){const s=i.outlet.detach(),a=i.children.onOutletDeactivated();this.routeReuseStrategy.store(n.value.snapshot,{componentRef:s,route:n,contexts:a})}}deactivateRouteAndOutlet(n,t){const i=t.getContext(n.value.outlet),r=i&&n.value.component?i.children:t,o=gs(n);for(const s of Object.keys(o))this.deactivateRouteAndItsChildren(o[s],r);i&&(i.outlet&&(i.outlet.deactivate(),i.children.onOutletDeactivated()),i.attachRef=null,i.route=null)}activateChildRoutes(n,t,i){const r=gs(t);n.children.forEach(o=>{this.activateRoutes(o,r[o.value.outlet],i),this.forwardEvent(new k3(o.value.snapshot))}),n.children.length&&this.forwardEvent(new A3(n.value.snapshot))}activateRoutes(n,t,i){const r=n.value,o=t?t.value:null;if(cm(r),r===o)if(r.component){const s=i.getOrCreateContext(r.outlet);this.activateChildRoutes(n,t,s.children)}else this.activateChildRoutes(n,t,i);else if(r.component){const s=i.getOrCreateContext(r.outlet);if(this.routeReuseStrategy.shouldAttach(r.snapshot)){const a=this.routeReuseStrategy.retrieve(r.snapshot);this.routeReuseStrategy.store(r.snapshot,null),s.children.onOutletReAttached(a.contexts),s.attachRef=a.componentRef,s.route=a.route.value,s.outlet&&s.outlet.attach(a.componentRef,a.route.value),cm(a.route.value),this.activateChildRoutes(n,null,s.children)}else{const a=fl(r.snapshot);s.attachRef=null,s.route=r,s.injector=a,s.outlet&&s.outlet.activateWith(r,s.injector),this.activateChildRoutes(n,null,s.children)}}else this.activateChildRoutes(n,null,i)}}class lT{constructor(n){this.path=n,this.route=this.path[this.path.length-1]}}class cd{constructor(n,t){this.component=n,this.route=t}}function J3(e,n,t){const i=e._root;return hl(i,n?n._root:null,t,[i.value])}function ms(e,n){const t=Symbol(),i=n.get(e,t);return i===t?"function"!=typeof e||function aI(e){return null!==Wl(e)}(e)?n.get(e):e:i}function hl(e,n,t,i,r={canDeactivateChecks:[],canActivateChecks:[]}){const o=gs(n);return e.children.forEach(s=>{(function Q3(e,n,t,i,r={canDeactivateChecks:[],canActivateChecks:[]}){const o=e.value,s=n?n.value:null,a=t?t.getContext(e.value.outlet):null;if(s&&o.routeConfig===s.routeConfig){const l=function K3(e,n,t){if("function"==typeof t)return t(e,n);switch(t){case"pathParamsChange":return!jr(e.url,n.url);case"pathParamsOrQueryParamsChange":return!jr(e.url,n.url)||!gi(e.queryParams,n.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!um(e,n)||!gi(e.queryParams,n.queryParams);default:return!um(e,n)}}(s,o,o.routeConfig.runGuardsAndResolvers);l?r.canActivateChecks.push(new lT(i)):(o.data=s.data,o._resolvedData=s._resolvedData),hl(e,n,o.component?a?a.children:null:t,i,r),l&&a&&a.outlet&&a.outlet.isActivated&&r.canDeactivateChecks.push(new cd(a.outlet.component,s))}else s&&pl(n,a,r),r.canActivateChecks.push(new lT(i)),hl(e,null,o.component?a?a.children:null:t,i,r)})(s,o[s.value.outlet],t,i.concat([s.value]),r),delete o[s.value.outlet]}),Object.entries(o).forEach(([s,a])=>pl(a,t.getContext(s),r)),r}function pl(e,n,t){const i=gs(e),r=e.value;Object.entries(i).forEach(([o,s])=>{pl(s,r.component?n?n.children.getContext(o):null:n,t)}),t.canDeactivateChecks.push(new cd(r.component&&n&&n.outlet&&n.outlet.isActivated?n.outlet.component:null,r))}function gl(e){return"function"==typeof e}function cT(e){return e instanceof Xu||"EmptyError"===e?.name}const ud=Symbol("INITIAL_VALUE");function _s(){return wn(e=>Jg(e.map(n=>n.pipe(xt(1),function SE(...e){const n=Vs(e);return ze((t,i)=>{(n?el(e,t,n):el(e,t)).subscribe(i)})}(ud)))).pipe(ae(n=>{for(const t of n)if(!0!==t){if(t===ud)return ud;if(!1===t||t instanceof hs)return t}return!0}),vt(n=>n!==ud),xt(1)))}function uT(e){return function Fl(...e){return Ll(e)}(wt(n=>{if(Hr(n))throw rT(0,n)}),ae(n=>!0===n))}class dd{constructor(n){this.segmentGroup=n||null}}class dT{constructor(n){this.urlTree=n}}function vs(e){return tl(new dd(e))}function fT(e){return tl(new dT(e))}class yH{constructor(n,t){this.urlSerializer=n,this.urlTree=t}noMatchError(n){return new R(4002,!1)}lineralizeSegments(n,t){let i=[],r=t.root;for(;;){if(i=i.concat(r.segments),0===r.numberOfChildren)return J(i);if(r.numberOfChildren>1||!r.children[oe])return tl(new R(4e3,!1));r=r.children[oe]}}applyRedirectCommands(n,t,i){return this.applyRedirectCreateUrlTree(t,this.urlSerializer.parse(t),n,i)}applyRedirectCreateUrlTree(n,t,i,r){const o=this.createSegmentGroup(n,t.root,i,r);return new hs(o,this.createQueryParams(t.queryParams,this.urlTree.queryParams),t.fragment)}createQueryParams(n,t){const i={};return Object.entries(n).forEach(([r,o])=>{if("string"==typeof o&&o.startsWith(":")){const a=o.substring(1);i[r]=t[a]}else i[r]=o}),i}createSegmentGroup(n,t,i,r){const o=this.createSegments(n,t.segments,i,r);let s={};return Object.entries(t.children).forEach(([a,l])=>{s[a]=this.createSegmentGroup(n,l,i,r)}),new Pe(o,s)}createSegments(n,t,i,r){return t.map(o=>o.path.startsWith(":")?this.findPosParam(n,o,r):this.findOrReturn(o,i))}findPosParam(n,t,i){const r=i[t.path.substring(1)];if(!r)throw new R(4001,!1);return r}findOrReturn(n,t){let i=0;for(const r of t){if(r.path===n.path)return t.splice(i),r;i++}return n}}const hm={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function bH(e,n,t,i,r){const o=pm(e,n,t);return o.matched?(i=function U3(e,n){return e.providers&&!e._injector&&(e._injector=yp(e.providers,n,`Route: ${e.path}`)),e._injector??n}(n,i),function mH(e,n,t,i){const r=n.canMatch;return r&&0!==r.length?J(r.map(s=>{const a=ms(s,e);return ar(function oH(e){return e&&gl(e.canMatch)}(a)?a.canMatch(n,t):e.runInContext(()=>a(n,t)))})).pipe(_s(),uT()):J(!0)}(i,n,t).pipe(ae(s=>!0===s?o:{...hm}))):J(o)}function pm(e,n,t){if(""===n.path)return"full"===n.pathMatch&&(e.hasChildren()||t.length>0)?{...hm}:{matched:!0,consumedSegments:[],remainingSegments:t,parameters:{},positionalParamSegments:{}};const r=(n.matcher||Qj)(t,e,n);if(!r)return{...hm};const o={};Object.entries(r.posParams??{}).forEach(([a,l])=>{o[a]=l.path});const s=r.consumed.length>0?{...o,...r.consumed[r.consumed.length-1].parameters}:o;return{matched:!0,consumedSegments:r.consumed,remainingSegments:t.slice(r.consumed.length),parameters:s,positionalParamSegments:r.posParams??{}}}function hT(e,n,t,i){return t.length>0&&function CH(e,n,t){return t.some(i=>fd(e,n,i)&&Jn(i)!==oe)}(e,t,i)?{segmentGroup:new Pe(n,wH(i,new Pe(t,e.children))),slicedSegments:[]}:0===t.length&&function EH(e,n,t){return t.some(i=>fd(e,n,i))}(e,t,i)?{segmentGroup:new Pe(e.segments,DH(e,0,t,i,e.children)),slicedSegments:t}:{segmentGroup:new Pe(e.segments,e.children),slicedSegments:t}}function DH(e,n,t,i,r){const o={};for(const s of i)if(fd(e,t,s)&&!r[Jn(s)]){const a=new Pe([],{});o[Jn(s)]=a}return{...r,...o}}function wH(e,n){const t={};t[oe]=n;for(const i of e)if(""===i.path&&Jn(i)!==oe){const r=new Pe([],{});t[Jn(i)]=r}return t}function fd(e,n,t){return(!(e.hasChildren()||n.length>0)||"full"!==t.pathMatch)&&""===t.path}class IH{constructor(n,t,i,r,o,s,a){this.injector=n,this.configLoader=t,this.rootComponentType=i,this.config=r,this.urlTree=o,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.allowRedirects=!0,this.applyRedirects=new yH(this.urlSerializer,this.urlTree)}noMatchError(n){return new R(4002,!1)}recognize(){const n=hT(this.urlTree.root,[],[],this.config).segmentGroup;return this.processSegmentGroup(this.injector,this.config,n,oe).pipe(Br(t=>{if(t instanceof dT)return this.allowRedirects=!1,this.urlTree=t.urlTree,this.match(t.urlTree);throw t instanceof dd?this.noMatchError(t):t}),ae(t=>{const i=new ad([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,{},oe,this.rootComponentType,null,{}),r=new ki(i,t),o=new eT("",r),s=function v3(e,n,t=null,i=null){return $E(HE(e),n,t,i)}(i,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,o.url=this.urlSerializer.serialize(s),this.inheritParamsAndData(o._root),{state:o,tree:s}}))}match(n){return this.processSegmentGroup(this.injector,this.config,n.root,oe).pipe(Br(i=>{throw i instanceof dd?this.noMatchError(i):i}))}inheritParamsAndData(n){const t=n.value,i=KE(t,this.paramsInheritanceStrategy);t.params=Object.freeze(i.params),t.data=Object.freeze(i.data),n.children.forEach(r=>this.inheritParamsAndData(r))}processSegmentGroup(n,t,i,r){return 0===i.segments.length&&i.hasChildren()?this.processChildren(n,t,i):this.processSegment(n,t,i,i.segments,r,!0)}processChildren(n,t,i){const r=[];for(const o of Object.keys(i.children))"primary"===o?r.unshift(o):r.push(o);return pt(r).pipe(ls(o=>{const s=i.children[o],a=function q3(e,n){const t=e.filter(i=>Jn(i)===n);return t.push(...e.filter(i=>Jn(i)!==n)),t}(t,o);return this.processSegmentGroup(n,a,s,o)}),function Zj(e,n){return ze(function Yj(e,n,t,i,r){return(o,s)=>{let a=t,l=n,c=0;o.subscribe(Ve(s,u=>{const d=c++;l=a?e(l,u,d):(a=!0,u),i&&s.next(l)},r&&(()=>{a&&s.next(l),s.complete()})))}}(e,n,arguments.length>=2,!0))}((o,s)=>(o.push(...s),o)),Qu(null),function Jj(e,n){const t=arguments.length>=2;return i=>i.pipe(e?vt((r,o)=>e(r,o,i)):Pn,Qg(1),t?Qu(n):ME(()=>new Xu))}(),ht(o=>{if(null===o)return vs(i);const s=pT(o);return function NH(e){e.sort((n,t)=>n.value.outlet===oe?-1:t.value.outlet===oe?1:n.value.outlet.localeCompare(t.value.outlet))}(s),J(s)}))}processSegment(n,t,i,r,o,s){return pt(t).pipe(ls(a=>this.processSegmentAgainstRoute(a._injector??n,t,a,i,r,o,s).pipe(Br(l=>{if(l instanceof dd)return J(null);throw l}))),Vr(a=>!!a),Br(a=>{if(cT(a))return function SH(e,n,t){return 0===n.length&&!e.children[t]}(i,r,o)?J([]):vs(i);throw a}))}processSegmentAgainstRoute(n,t,i,r,o,s,a){return function TH(e,n,t,i){return!!(Jn(e)===i||i!==oe&&fd(n,t,e))&&("**"===e.path||pm(n,e,t).matched)}(i,r,o,s)?void 0===i.redirectTo?this.matchSegmentAgainstRoute(n,r,i,o,s,a):a&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(n,r,t,i,o,s):vs(r):vs(r)}expandSegmentAgainstRouteUsingRedirect(n,t,i,r,o,s){return"**"===r.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(n,i,r,s):this.expandRegularSegmentAgainstRouteUsingRedirect(n,t,i,r,o,s)}expandWildCardWithParamsAgainstRouteUsingRedirect(n,t,i,r){const o=this.applyRedirects.applyRedirectCommands([],i.redirectTo,{});return i.redirectTo.startsWith("/")?fT(o):this.applyRedirects.lineralizeSegments(i,o).pipe(ht(s=>{const a=new Pe(s,{});return this.processSegment(n,t,a,s,r,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(n,t,i,r,o,s){const{matched:a,consumedSegments:l,remainingSegments:c,positionalParamSegments:u}=pm(t,r,o);if(!a)return vs(t);const d=this.applyRedirects.applyRedirectCommands(l,r.redirectTo,u);return r.redirectTo.startsWith("/")?fT(d):this.applyRedirects.lineralizeSegments(r,d).pipe(ht(h=>this.processSegment(n,i,t,h.concat(c),s,!1)))}matchSegmentAgainstRoute(n,t,i,r,o,s){let a;if("**"===i.path){const l=r.length>0?OE(r).parameters:{};a=J({snapshot:new ad(r,l,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,gT(i),Jn(i),i.component??i._loadedComponent??null,i,mT(i)),consumedSegments:[],remainingSegments:[]}),t.children={}}else a=bH(t,i,r,n).pipe(ae(({matched:l,consumedSegments:c,remainingSegments:u,parameters:d})=>l?{snapshot:new ad(c,d,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,gT(i),Jn(i),i.component??i._loadedComponent??null,i,mT(i)),consumedSegments:c,remainingSegments:u}:null));return a.pipe(wn(l=>null===l?vs(t):this.getChildConfig(n=i._injector??n,i,r).pipe(wn(({routes:c})=>{const u=i._loadedInjector??n,{snapshot:d,consumedSegments:h,remainingSegments:_}=l,{segmentGroup:v,slicedSegments:y}=hT(t,h,_,c);if(0===y.length&&v.hasChildren())return this.processChildren(u,c,v).pipe(ae(M=>null===M?null:[new ki(d,M)]));if(0===c.length&&0===y.length)return J([new ki(d,[])]);const D=Jn(i)===o;return this.processSegment(u,c,v,y,D?oe:o,!0).pipe(ae(M=>[new ki(d,M)]))}))))}getChildConfig(n,t,i){return t.children?J({routes:t.children,injector:n}):t.loadChildren?void 0!==t._loadedRoutes?J({routes:t._loadedRoutes,injector:t._loadedInjector}):function gH(e,n,t,i){const r=n.canLoad;return void 0===r||0===r.length?J(!0):J(r.map(s=>{const a=ms(s,e);return ar(function tH(e){return e&&gl(e.canLoad)}(a)?a.canLoad(n,t):e.runInContext(()=>a(n,t)))})).pipe(_s(),uT())}(n,t,i).pipe(ht(r=>r?this.configLoader.loadChildren(n,t).pipe(wt(o=>{t._loadedRoutes=o.routes,t._loadedInjector=o.injector})):function vH(e){return tl(oT(!1,3))}())):J({routes:[],injector:n})}}function OH(e){const n=e.value.routeConfig;return n&&""===n.path}function pT(e){const n=[],t=new Set;for(const i of e){if(!OH(i)){n.push(i);continue}const r=n.find(o=>i.value.routeConfig===o.value.routeConfig);void 0!==r?(r.children.push(...i.children),t.add(r)):n.push(i)}for(const i of t){const r=pT(i.children);n.push(new ki(i.value,r))}return n.filter(i=>!t.has(i))}function gT(e){return e.data||{}}function mT(e){return e.resolve||{}}function AH(e,n){return ht(t=>{const{targetSnapshot:i,guards:{canActivateChecks:r}}=t;if(!r.length)return J(t);let o=0;return pt(r).pipe(ls(s=>function RH(e,n,t,i){const r=e.routeConfig,o=e._resolve;return void 0!==r?.title&&!_T(r)&&(o[nl]=r.title),function kH(e,n,t,i){const r=function PH(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e)]}(e);if(0===r.length)return J({});const o={};return pt(r).pipe(ht(s=>function FH(e,n,t,i){const r=fl(n)??i,o=ms(e,r);return ar(o.resolve?o.resolve(n,t):r.runInContext(()=>o(n,t)))}(e[s],n,t,i).pipe(Vr(),wt(a=>{o[s]=a}))),Qg(1),function IE(e){return ae(()=>e)}(o),Br(s=>cT(s)?bn:tl(s)))}(o,e,n,i).pipe(ae(s=>(e._resolvedData=s,e.data=KE(e,t).resolve,r&&_T(r)&&(e.data[nl]=r.title),null)))}(s.route,i,e,n)),wt(()=>o++),Qg(1),ht(s=>o===r.length?J(t):bn))})}function _T(e){return"string"==typeof e.title||null===e.title}function gm(e){return wn(n=>{const t=e(n);return t?pt(t).pipe(ae(()=>n)):J(n)})}const ys=new z("ROUTES");let mm=(()=>{class e{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=F(ID)}loadComponent(t){if(this.componentLoaders.get(t))return this.componentLoaders.get(t);if(t._loadedComponent)return J(t._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(t);const i=ar(t.loadComponent()).pipe(ae(vT),wt(o=>{this.onLoadEndListener&&this.onLoadEndListener(t),t._loadedComponent=o}),Ga(()=>{this.componentLoaders.delete(t)})),r=new TE(i,()=>new Ee).pipe(Xg());return this.componentLoaders.set(t,r),r}loadChildren(t,i){if(this.childrenLoaders.get(i))return this.childrenLoaders.get(i);if(i._loadedRoutes)return J({routes:i._loadedRoutes,injector:i._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(i);const o=function LH(e,n,t,i){return ar(e.loadChildren()).pipe(ae(vT),ht(r=>r instanceof Vb||Array.isArray(r)?J(r):pt(n.compileModuleAsync(r))),ae(r=>{i&&i(e);let o,s,a=!1;return Array.isArray(r)?(s=r,!0):(o=r.create(t).injector,s=o.get(ys,[],{optional:!0,self:!0}).flat()),{routes:s.map(fm),injector:o}}))}(i,this.compiler,t,this.onLoadEndListener).pipe(Ga(()=>{this.childrenLoaders.delete(i)})),s=new TE(o,()=>new Ee).pipe(Xg());return this.childrenLoaders.set(i,s),s}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function vT(e){return function VH(e){return e&&"object"==typeof e&&"default"in e}(e)?e.default:e}let hd=(()=>{class e{get hasRequestedNavigation(){return 0!==this.navigationId}constructor(){this.currentNavigation=null,this.currentTransition=null,this.lastSuccessfulNavigation=null,this.events=new Ee,this.transitionAbortSubject=new Ee,this.configLoader=F(mm),this.environmentInjector=F(zt),this.urlSerializer=F(rl),this.rootContexts=F(ul),this.inputBindingEnabled=null!==F(ld,{optional:!0}),this.navigationId=0,this.afterPreactivation=()=>J(void 0),this.rootComponentType=null,this.configLoader.onLoadEndListener=r=>this.events.next(new O3(r)),this.configLoader.onLoadStartListener=r=>this.events.next(new N3(r))}complete(){this.transitions?.complete()}handleNavigationRequest(t){const i=++this.navigationId;this.transitions?.next({...this.transitions.value,...t,id:i})}setupNavigations(t,i,r){return this.transitions=new Dn({id:0,currentUrlTree:i,currentRawUrl:i,currentBrowserUrl:i,extractedUrl:t.urlHandlingStrategy.extract(i),urlAfterRedirects:t.urlHandlingStrategy.extract(i),rawUrl:i,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:ll,restoredState:null,currentSnapshot:r.snapshot,targetSnapshot:null,currentRouterState:r,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe(vt(o=>0!==o.id),ae(o=>({...o,extractedUrl:t.urlHandlingStrategy.extract(o.rawUrl)})),wn(o=>{this.currentTransition=o;let s=!1,a=!1;return J(o).pipe(wt(l=>{this.currentNavigation={id:l.id,initialUrl:l.rawUrl,extractedUrl:l.extractedUrl,trigger:l.source,extras:l.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null}}),wn(l=>{const c=l.currentBrowserUrl.toString(),u=!t.navigated||l.extractedUrl.toString()!==c||c!==l.currentUrlTree.toString();if(!u&&"reload"!==(l.extras.onSameUrlNavigation??t.onSameUrlNavigation)){const h="";return this.events.next(new ps(l.id,this.urlSerializer.serialize(l.rawUrl),h,0)),l.resolve(null),bn}if(t.urlHandlingStrategy.shouldProcessUrl(l.rawUrl))return J(l).pipe(wn(h=>{const _=this.transitions?.getValue();return this.events.next(new od(h.id,this.urlSerializer.serialize(h.extractedUrl),h.source,h.restoredState)),_!==this.transitions?.getValue()?bn:Promise.resolve(h)}),function xH(e,n,t,i,r,o){return ht(s=>function MH(e,n,t,i,r,o,s="emptyOnly"){return new IH(e,n,t,i,r,s,o).recognize()}(e,n,t,i,s.extractedUrl,r,o).pipe(ae(({state:a,tree:l})=>({...s,targetSnapshot:a,urlAfterRedirects:l}))))}(this.environmentInjector,this.configLoader,this.rootComponentType,t.config,this.urlSerializer,t.paramsInheritanceStrategy),wt(h=>{o.targetSnapshot=h.targetSnapshot,o.urlAfterRedirects=h.urlAfterRedirects,this.currentNavigation={...this.currentNavigation,finalUrl:h.urlAfterRedirects};const _=new YE(h.id,this.urlSerializer.serialize(h.extractedUrl),this.urlSerializer.serialize(h.urlAfterRedirects),h.targetSnapshot);this.events.next(_)}));if(u&&t.urlHandlingStrategy.shouldProcessUrl(l.currentRawUrl)){const{id:h,extractedUrl:_,source:v,restoredState:y,extras:D}=l,M=new od(h,this.urlSerializer.serialize(_),v,y);this.events.next(M);const C=QE(0,this.rootComponentType).snapshot;return this.currentTransition=o={...l,targetSnapshot:C,urlAfterRedirects:_,extras:{...D,skipLocationChange:!1,replaceUrl:!1}},J(o)}{const h="";return this.events.next(new ps(l.id,this.urlSerializer.serialize(l.extractedUrl),h,1)),l.resolve(null),bn}}),wt(l=>{const c=new T3(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects),l.targetSnapshot);this.events.next(c)}),ae(l=>(this.currentTransition=o={...l,guards:J3(l.targetSnapshot,l.currentSnapshot,this.rootContexts)},o)),function aH(e,n){return ht(t=>{const{targetSnapshot:i,currentSnapshot:r,guards:{canActivateChecks:o,canDeactivateChecks:s}}=t;return 0===s.length&&0===o.length?J({...t,guardsResult:!0}):function lH(e,n,t,i){return pt(e).pipe(ht(r=>function pH(e,n,t,i,r){const o=n&&n.routeConfig?n.routeConfig.canDeactivate:null;return o&&0!==o.length?J(o.map(a=>{const l=fl(n)??r,c=ms(a,l);return ar(function rH(e){return e&&gl(e.canDeactivate)}(c)?c.canDeactivate(e,n,t,i):l.runInContext(()=>c(e,n,t,i))).pipe(Vr())})).pipe(_s()):J(!0)}(r.component,r.route,t,n,i)),Vr(r=>!0!==r,!0))}(s,i,r,e).pipe(ht(a=>a&&function eH(e){return"boolean"==typeof e}(a)?function cH(e,n,t,i){return pt(n).pipe(ls(r=>el(function dH(e,n){return null!==e&&n&&n(new x3(e)),J(!0)}(r.route.parent,i),function uH(e,n){return null!==e&&n&&n(new R3(e)),J(!0)}(r.route,i),function hH(e,n,t){const i=n[n.length-1],o=n.slice(0,n.length-1).reverse().map(s=>function X3(e){const n=e.routeConfig?e.routeConfig.canActivateChild:null;return n&&0!==n.length?{node:e,guards:n}:null}(s)).filter(s=>null!==s).map(s=>EE(()=>J(s.guards.map(l=>{const c=fl(s.node)??t,u=ms(l,c);return ar(function iH(e){return e&&gl(e.canActivateChild)}(u)?u.canActivateChild(i,e):c.runInContext(()=>u(i,e))).pipe(Vr())})).pipe(_s())));return J(o).pipe(_s())}(e,r.path,t),function fH(e,n,t){const i=n.routeConfig?n.routeConfig.canActivate:null;if(!i||0===i.length)return J(!0);const r=i.map(o=>EE(()=>{const s=fl(n)??t,a=ms(o,s);return ar(function nH(e){return e&&gl(e.canActivate)}(a)?a.canActivate(n,e):s.runInContext(()=>a(n,e))).pipe(Vr())}));return J(r).pipe(_s())}(e,r.route,t))),Vr(r=>!0!==r,!0))}(i,o,e,n):J(a)),ae(a=>({...t,guardsResult:a})))})}(this.environmentInjector,l=>this.events.next(l)),wt(l=>{if(o.guardsResult=l.guardsResult,Hr(l.guardsResult))throw rT(0,l.guardsResult);const c=new S3(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects),l.targetSnapshot,!!l.guardsResult);this.events.next(c)}),vt(l=>!!l.guardsResult||(this.cancelNavigationTransition(l,"",3),!1)),gm(l=>{if(l.guards.canActivateChecks.length)return J(l).pipe(wt(c=>{const u=new M3(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(u)}),wn(c=>{let u=!1;return J(c).pipe(AH(t.paramsInheritanceStrategy,this.environmentInjector),wt({next:()=>u=!0,complete:()=>{u||this.cancelNavigationTransition(c,"",2)}}))}),wt(c=>{const u=new I3(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(u)}))}),gm(l=>{const c=u=>{const d=[];u.routeConfig?.loadComponent&&!u.routeConfig._loadedComponent&&d.push(this.configLoader.loadComponent(u.routeConfig).pipe(wt(h=>{u.component=h}),ae(()=>{})));for(const h of u.children)d.push(...c(h));return d};return Jg(c(l.targetSnapshot.root)).pipe(Qu(),xt(1))}),gm(()=>this.afterPreactivation()),ae(l=>{const c=function B3(e,n,t){const i=dl(e,n._root,t?t._root:void 0);return new XE(i,n)}(t.routeReuseStrategy,l.targetSnapshot,l.currentRouterState);return this.currentTransition=o={...l,targetRouterState:c},o}),wt(()=>{this.events.next(new rm)}),((e,n,t,i)=>ae(r=>(new Z3(n,r.targetRouterState,r.currentRouterState,t,i).activate(e),r)))(this.rootContexts,t.routeReuseStrategy,l=>this.events.next(l),this.inputBindingEnabled),xt(1),wt({next:l=>{s=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new lr(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects))),t.titleStrategy?.updateTitle(l.targetRouterState.snapshot),l.resolve(!0)},complete:()=>{s=!0}}),Ke(this.transitionAbortSubject.pipe(wt(l=>{throw l}))),Ga(()=>{s||a||this.cancelNavigationTransition(o,"",1),this.currentNavigation?.id===o.id&&(this.currentNavigation=null)}),Br(l=>{if(a=!0,sT(l))this.events.next(new cl(o.id,this.urlSerializer.serialize(o.extractedUrl),l.message,l.cancellationCode)),function $3(e){return sT(e)&&Hr(e.url)}(l)?this.events.next(new om(l.url)):o.resolve(!1);else{this.events.next(new sd(o.id,this.urlSerializer.serialize(o.extractedUrl),l,o.targetSnapshot??void 0));try{o.resolve(t.errorHandler(l))}catch(c){o.reject(c)}}return bn}))}))}cancelNavigationTransition(t,i,r){const o=new cl(t.id,this.urlSerializer.serialize(t.extractedUrl),i,r);this.events.next(o),t.resolve(!1)}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function yT(e){return e!==ll}let bT=(()=>{class e{buildTitle(t){let i,r=t.root;for(;void 0!==r;)i=this.getResolvedTitleForRoute(r)??i,r=r.children.find(o=>o.outlet===oe);return i}getResolvedTitleForRoute(t){return t.data[nl]}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:function(){return F(BH)},providedIn:"root"})}return e})(),BH=(()=>{class e extends bT{constructor(t){super(),this.title=t}updateTitle(t){const i=this.buildTitle(t);void 0!==i&&this.title.setTitle(i)}static#e=this.\u0275fac=function(i){return new(i||e)(H(Jw))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),jH=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:function(){return F($H)},providedIn:"root"})}return e})();class HH{shouldDetach(n){return!1}store(n,t){}shouldAttach(n){return!1}retrieve(n){return null}shouldReuseRoute(n,t){return n.routeConfig===t.routeConfig}}let $H=(()=>{class e extends HH{static#e=this.\u0275fac=function(){let t;return function(r){return(t||(t=ot(e)))(r||e)}}();static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const pd=new z("",{providedIn:"root",factory:()=>({})});let UH=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:function(){return F(GH)},providedIn:"root"})}return e})(),GH=(()=>{class e{shouldProcessUrl(t){return!0}extract(t){return t}merge(t,i){return t}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var ml=function(e){return e[e.COMPLETE=0]="COMPLETE",e[e.FAILED=1]="FAILED",e[e.REDIRECTING=2]="REDIRECTING",e}(ml||{});function DT(e,n){e.events.pipe(vt(t=>t instanceof lr||t instanceof cl||t instanceof sd||t instanceof ps),ae(t=>t instanceof lr||t instanceof ps?ml.COMPLETE:t instanceof cl&&(0===t.code||1===t.code)?ml.REDIRECTING:ml.FAILED),vt(t=>t!==ml.REDIRECTING),xt(1)).subscribe(()=>{n()})}function zH(e){throw e}function WH(e,n,t){return n.parse("/")}const qH={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},YH={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let Rn=(()=>{class e{get navigationId(){return this.navigationTransitions.navigationId}get browserPageId(){return"computed"!==this.canceledNavigationResolution?this.currentPageId:this.location.getState()?.\u0275routerPageId??this.currentPageId}get events(){return this._events}constructor(){this.disposed=!1,this.currentPageId=0,this.console=F(MD),this.isNgZoneEnabled=!1,this._events=new Ee,this.options=F(pd,{optional:!0})||{},this.pendingTasks=F(fu),this.errorHandler=this.options.errorHandler||zH,this.malformedUriErrorHandler=this.options.malformedUriErrorHandler||WH,this.navigated=!1,this.lastSuccessfulId=-1,this.urlHandlingStrategy=F(UH),this.routeReuseStrategy=F(jH),this.titleStrategy=F(bT),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.config=F(ys,{optional:!0})?.flat()??[],this.navigationTransitions=F(hd),this.urlSerializer=F(rl),this.location=F(Kp),this.componentInputBindingEnabled=!!F(ld,{optional:!0}),this.eventsSubscription=new tt,this.isNgZoneEnabled=F(fe)instanceof fe&&fe.isInAngularZone(),this.resetConfig(this.config),this.currentUrlTree=new hs,this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.routerState=QE(0,null),this.navigationTransitions.setupNavigations(this,this.currentUrlTree,this.routerState).subscribe(t=>{this.lastSuccessfulId=t.id,this.currentPageId=this.browserPageId},t=>{this.console.warn(`Unhandled Navigation Error: ${t}`)}),this.subscribeToNavigationEvents()}subscribeToNavigationEvents(){const t=this.navigationTransitions.events.subscribe(i=>{try{const{currentTransition:r}=this.navigationTransitions;if(null===r)return void(wT(i)&&this._events.next(i));if(i instanceof od)yT(r.source)&&(this.browserUrlTree=r.extractedUrl);else if(i instanceof ps)this.rawUrlTree=r.rawUrl;else if(i instanceof YE){if("eager"===this.urlUpdateStrategy){if(!r.extras.skipLocationChange){const o=this.urlHandlingStrategy.merge(r.urlAfterRedirects,r.rawUrl);this.setBrowserUrl(o,r)}this.browserUrlTree=r.urlAfterRedirects}}else if(i instanceof rm)this.currentUrlTree=r.urlAfterRedirects,this.rawUrlTree=this.urlHandlingStrategy.merge(r.urlAfterRedirects,r.rawUrl),this.routerState=r.targetRouterState,"deferred"===this.urlUpdateStrategy&&(r.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,r),this.browserUrlTree=r.urlAfterRedirects);else if(i instanceof cl)0!==i.code&&1!==i.code&&(this.navigated=!0),(3===i.code||2===i.code)&&this.restoreHistory(r);else if(i instanceof om){const o=this.urlHandlingStrategy.merge(i.url,r.currentRawUrl),s={skipLocationChange:r.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy||yT(r.source)};this.scheduleNavigation(o,ll,null,s,{resolve:r.resolve,reject:r.reject,promise:r.promise})}i instanceof sd&&this.restoreHistory(r,!0),i instanceof lr&&(this.navigated=!0),wT(i)&&this._events.next(i)}catch(r){this.navigationTransitions.transitionAbortSubject.next(r)}});this.eventsSubscription.add(t)}resetRootComponentType(t){this.routerState.root.component=t,this.navigationTransitions.rootComponentType=t}initialNavigation(){if(this.setUpLocationChangeListener(),!this.navigationTransitions.hasRequestedNavigation){const t=this.location.getState();this.navigateToSyncWithBrowser(this.location.path(!0),ll,t)}}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(t=>{const i="popstate"===t.type?"popstate":"hashchange";"popstate"===i&&setTimeout(()=>{this.navigateToSyncWithBrowser(t.url,i,t.state)},0)}))}navigateToSyncWithBrowser(t,i,r){const o={replaceUrl:!0},s=r?.navigationId?r:null;if(r){const l={...r};delete l.navigationId,delete l.\u0275routerPageId,0!==Object.keys(l).length&&(o.state=l)}const a=this.parseUrl(t);this.scheduleNavigation(a,i,s,o)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(t){this.config=t.map(fm),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(t,i={}){const{relativeTo:r,queryParams:o,fragment:s,queryParamsHandling:a,preserveFragment:l}=i,c=l?this.currentUrlTree.fragment:s;let d,u=null;switch(a){case"merge":u={...this.currentUrlTree.queryParams,...o};break;case"preserve":u=this.currentUrlTree.queryParams;break;default:u=o||null}null!==u&&(u=this.removeEmptyProps(u));try{d=HE(r?r.snapshot:this.routerState.snapshot.root)}catch{("string"!=typeof t[0]||!t[0].startsWith("/"))&&(t=[]),d=this.currentUrlTree.root}return $E(d,t,u,c??null)}navigateByUrl(t,i={skipLocationChange:!1}){const r=Hr(t)?t:this.parseUrl(t),o=this.urlHandlingStrategy.merge(r,this.rawUrlTree);return this.scheduleNavigation(o,ll,null,i)}navigate(t,i={skipLocationChange:!1}){return function ZH(e){for(let n=0;n{const o=t[r];return null!=o&&(i[r]=o),i},{})}scheduleNavigation(t,i,r,o,s){if(this.disposed)return Promise.resolve(!1);let a,l,c;s?(a=s.resolve,l=s.reject,c=s.promise):c=new Promise((d,h)=>{a=d,l=h});const u=this.pendingTasks.add();return DT(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(u))}),this.navigationTransitions.handleNavigationRequest({source:i,restoredState:r,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,currentBrowserUrl:this.browserUrlTree,rawUrl:t,extras:o,resolve:a,reject:l,promise:c,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),c.catch(d=>Promise.reject(d))}setBrowserUrl(t,i){const r=this.urlSerializer.serialize(t);if(this.location.isCurrentPathEqualTo(r)||i.extras.replaceUrl){const s={...i.extras.state,...this.generateNgRouterState(i.id,this.browserPageId)};this.location.replaceState(r,"",s)}else{const o={...i.extras.state,...this.generateNgRouterState(i.id,this.browserPageId+1)};this.location.go(r,"",o)}}restoreHistory(t,i=!1){if("computed"===this.canceledNavigationResolution){const o=this.currentPageId-this.browserPageId;0!==o?this.location.historyGo(o):this.currentUrlTree===this.getCurrentNavigation()?.finalUrl&&0===o&&(this.resetState(t),this.browserUrlTree=t.currentUrlTree,this.resetUrlToCurrentUrlTree())}else"replace"===this.canceledNavigationResolution&&(i&&this.resetState(t),this.resetUrlToCurrentUrlTree())}resetState(t){this.routerState=t.currentRouterState,this.currentUrlTree=t.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,t.rawUrl)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(t,i){return"computed"===this.canceledNavigationResolution?{navigationId:t,\u0275routerPageId:i}:{navigationId:t}}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function wT(e){return!(e instanceof rm||e instanceof om)}class CT{}let QH=(()=>{class e{constructor(t,i,r,o,s){this.router=t,this.injector=r,this.preloadingStrategy=o,this.loader=s}setUpPreloading(){this.subscription=this.router.events.pipe(vt(t=>t instanceof lr),ls(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(t,i){const r=[];for(const o of i){o.providers&&!o._injector&&(o._injector=yp(o.providers,t,`Route: ${o.path}`));const s=o._injector??t,a=o._loadedInjector??s;(o.loadChildren&&!o._loadedRoutes&&void 0===o.canLoad||o.loadComponent&&!o._loadedComponent)&&r.push(this.preloadConfig(s,o)),(o.children||o._loadedRoutes)&&r.push(this.processRoutes(a,o.children??o._loadedRoutes))}return pt(r).pipe(lo())}preloadConfig(t,i){return this.preloadingStrategy.preload(i,()=>{let r;r=i.loadChildren&&void 0===i.canLoad?this.loader.loadChildren(t,i):J(null);const o=r.pipe(ht(s=>null===s?J(void 0):(i._loadedRoutes=s.routes,i._loadedInjector=s.injector,this.processRoutes(s.injector??t,s.routes))));return i.loadComponent&&!i._loadedComponent?pt([o,this.loader.loadComponent(i)]).pipe(lo()):o})}static#e=this.\u0275fac=function(i){return new(i||e)(H(Rn),H(ID),H(zt),H(CT),H(mm))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const vm=new z("");let ET=(()=>{class e{constructor(t,i,r,o,s={}){this.urlSerializer=t,this.transitions=i,this.viewportScroller=r,this.zone=o,this.options=s,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},s.scrollPositionRestoration=s.scrollPositionRestoration||"disabled",s.anchorScrolling=s.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(t=>{t instanceof od?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=t.navigationTrigger,this.restoredId=t.restoredState?t.restoredState.navigationId:0):t instanceof lr?(this.lastId=t.id,this.scheduleScrollEvent(t,this.urlSerializer.parse(t.urlAfterRedirects).fragment)):t instanceof ps&&0===t.code&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(t,this.urlSerializer.parse(t.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(t=>{t instanceof ZE&&(t.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(t.position):t.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(t.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(t,i){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new ZE(t,"popstate"===this.lastSource?this.store[this.restoredId]:null,i))})},0)})}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}static#e=this.\u0275fac=function(i){!function S0(){throw new Error("invalid")}()};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();function Pi(e,n){return{\u0275kind:e,\u0275providers:n}}function ST(){const e=F(Nt);return n=>{const t=e.get(Ki);if(n!==t.components[0])return;const i=e.get(Rn),r=e.get(MT);1===e.get(ym)&&i.initialNavigation(),e.get(IT,null,ce.Optional)?.setUpPreloading(),e.get(vm,null,ce.Optional)?.init(),i.resetRootComponentType(t.componentTypes[0]),r.closed||(r.next(),r.complete(),r.unsubscribe())}}const MT=new z("",{factory:()=>new Ee}),ym=new z("",{providedIn:"root",factory:()=>1}),IT=new z("");function n$(e){return Pi(0,[{provide:IT,useExisting:QH},{provide:CT,useExisting:e}])}const NT=new z("ROUTER_FORROOT_GUARD"),r$=[Kp,{provide:rl,useClass:Kg},Rn,ul,{provide:$r,useFactory:function TT(e){return e.routerState.root},deps:[Rn]},mm,[]];function o$(){return new PD("Router",Rn)}let OT=(()=>{class e{constructor(t){}static forRoot(t,i){return{ngModule:e,providers:[r$,[],{provide:ys,multi:!0,useValue:t},{provide:NT,useFactory:c$,deps:[[Rn,new gc,new mc]]},{provide:pd,useValue:i||{}},i?.useHash?{provide:Rr,useClass:YF}:{provide:Rr,useClass:dw},{provide:vm,useFactory:()=>{const e=F(dV),n=F(fe),t=F(pd),i=F(hd),r=F(rl);return t.scrollOffset&&e.setOffset(t.scrollOffset),new ET(r,i,e,n,t)}},i?.preloadingStrategy?n$(i.preloadingStrategy).\u0275providers:[],{provide:PD,multi:!0,useFactory:o$},i?.initialNavigation?u$(i):[],i?.bindToComponentInputs?Pi(8,[iT,{provide:ld,useExisting:iT}]).\u0275providers:[],[{provide:xT,useFactory:ST},{provide:$p,multi:!0,useExisting:xT}]]}}static forChild(t){return{ngModule:e,providers:[{provide:ys,multi:!0,useValue:t}]}}static#e=this.\u0275fac=function(i){return new(i||e)(H(NT,8))};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})();function c$(e){return"guarded"}function u$(e){return["disabled"===e.initialNavigation?Pi(3,[{provide:kp,multi:!0,useFactory:()=>{const n=F(Rn);return()=>{n.setUpLocationChangeListener()}}},{provide:ym,useValue:2}]).\u0275providers:[],"enabledBlocking"===e.initialNavigation?Pi(2,[{provide:ym,useValue:0},{provide:kp,multi:!0,deps:[Nt],useFactory:n=>{const t=n.get(WF,Promise.resolve());return()=>t.then(()=>new Promise(i=>{const r=n.get(Rn),o=n.get(MT);DT(r,()=>{i(!0)}),n.get(hd).afterPreactivation=()=>(i(!0),o.closed?J(void 0):o),r.initialNavigation()}))}}]).\u0275providers:[]]}const xT=new z("");class AT{constructor(n={}){this.term=n.term||""}}function f$(e,n){if(1&e&&(p(0,"li")(1,"a",12),m(2),f()()),2&e){const t=n.$implicit;g(1),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id)}}function h$(e,n){if(1&e&&(p(0,"div",25)(1,"ul"),I(2,f$,3,2,"li",4),f()()),2&e){const t=T(3).$implicit;g(2),S("ngForOf",t.inputs)}}function p$(e,n){if(1&e&&(p(0,"div")(1,"div",26)(2,"p",21)(3,"a",12),m(4),f(),p(5,"button",22),m(6),f()()()()),2&e){const t=n.$implicit;g(3),U("href","/explorer?term=",t.to,"",W),g(1),A(t.to),g(2),V("",t.value.toFixed(6)," YDA")}}function g$(e,n){if(1&e){const t=st();p(0,"div")(1,"div",11)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",12),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",12),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Fee: "),f(),m(15),f(),p(16,"div",13)(17,"div",14)(18,"p")(19,"strong"),m(20,"Inputs:"),f(),m(21),f(),p(22,"div",15)(23,"button",16),Z("click",function(){return Je(t),Xe(T(3).toggleAccordion("inputsAccordion"))}),m(24,"Show Inputs"),f(),I(25,h$,3,1,"div",17),f(),p(26,"p")(27,"strong"),m(28,"Outputs:"),f(),m(29),f()()(),p(30,"div",18)(31,"div",19)(32,"div",20)(33,"p",21)(34,"a",12),m(35),f(),p(36,"button",22),m(37),f()()()(),p(38,"div",23),Ae(39,"img",24),f(),p(40,"div",19),I(41,p$,7,3,"div",4),f()()()()}if(2&e){const t=T(2).$implicit,i=T();g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V("",t.fee," YDA"),g(6),V(" ",t.inputs.length,""),g(4),S("ngIf","inputsAccordion"===i.showAccordion),g(4),V(" ",t.outputs.length,""),g(5),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to),g(2),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function m$(e,n){if(1&e&&(p(0,"div")(1,"div",11)(2,"p",27)(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",12),m(6),f()(),p(7,"p",27)(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",12),m(11),f()(),p(12,"p",27)(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",28)(17,"h4",29),m(18,"Relationship DATA:"),f(),p(19,"textarea",30),m(20),f()(),p(21,"div",31)(22,"div",26)(23,"button",32),m(24,"Newly created Address"),f(),p(25,"p",33)(26,"a",12),m(27),f()()()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship),g(6),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function _$(e,n){if(1&e&&(p(0,"div")(1,"div",11)(2,"p",27)(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",12),m(6),f()(),p(7,"p",27)(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",12),m(11),f()(),p(12,"p",27)(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",28)(17,"h4",29),m(18,"Relationship DATA:"),f(),p(19,"textarea",30),m(20),f()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship)}}function v$(e,n){if(1&e&&(p(0,"div")(1,"div",11)(2,"p",27)(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",12),m(6),f()(),p(7,"p",27)(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",12),m(11),f()(),p(12,"p",27)(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",28)(17,"h4",29),m(18,"Relationship DATA:"),f(),p(19,"textarea",30),m(20),f()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship)}}function y$(e,n){if(1&e&&(p(0,"tr",8)(1,"td",9),I(2,g$,42,12,"div",10),I(3,m$,28,8,"div",10),I(4,_$,21,6,"div",10),I(5,v$,21,6,"div",10),f()()),2&e){const t=T().$implicit,i=T();g(2),S("ngIf",i.transactionUtilsService.isTransferTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCreateIdentityTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isEncryptedMessageTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isMessageTransaction(t))}}const b$=function(e,n,t,i,r){return{coinbase:e,transfer:n,"create-identity":t,"encrypted-message":i,message:r}};function D$(e,n){if(1&e){const t=st();Zi(0),p(1,"tr",5),Z("click",function(){const o=Je(t).$implicit;return Xe(T().toggleDetails(o))}),p(2,"td"),m(3),f(),p(4,"td",3),m(5),f(),p(6,"td"),m(7),f(),p(8,"td")(9,"button",6),m(10),f()()(),I(11,y$,6,4,"tr",7),Ji()}if(2&e){const t=n.$implicit,i=T();g(3),A(i.dateFormatService.formatTransactionTime(t.time)),g(2),A(t.hash),g(2),up("",t.inputs.length," / ",t.outputs.length,""),g(2),S("ngClass",ns(7,b$,i.transactionUtilsService.isCoinbaseTransaction(t),i.transactionUtilsService.isTransferTransaction(t),i.transactionUtilsService.isCreateIdentityTransaction(t),i.transactionUtilsService.isEncryptedMessageTransaction(t),i.transactionUtilsService.isMessageTransaction(t))),g(1),V(" ",i.transactionUtilsService.getTransactionType(t)," "),g(1),S("ngIf",i.expandedTransaction&&i.expandedTransaction.id===t.id)}}let RT=(()=>{class e{constructor(t,i,r){this.httpClient=t,this.dateFormatService=i,this.transactionUtilsService=r,this.mempoolData=[],this.expandedTransaction=null,this.showAccordion=null}ngOnInit(){this.httpClient.get("/explorer-mempool").subscribe(t=>{this.mempoolData=t.result||[]},t=>{console.error("Error fetching mempool data:",t)})}toggleDetails(t){this.expandedTransaction=this.expandedTransaction===t?null:t}toggleAccordion(t){this.showAccordion=this.showAccordion===t?null:t}getTotalValue(t){return t.reduce((i,r)=>i+r.value,0)}static#e=this.\u0275fac=function(i){return new(i||e)(b(Wa),b(Zu),b(Ju))};static#t=this.\u0275cmp=Pt({type:e,selectors:[["app-mempool"]],decls:16,vars:1,consts:[[2,"text-transform","uppercase","margin","10px","margin-top","20px"],[1,"blocks-container"],[1,"blocks-table"],[1,"hash-column"],[4,"ngFor","ngForOf"],[3,"click"],[1,"transaction-type-button",3,"ngClass"],["class","expanded-row",4,"ngIf"],[1,"expanded-row"],["colspan","4"],[4,"ngIf"],[1,"transaction-details"],[3,"href"],[1,"row"],[1,"col-md-12"],[1,"input-section",2,"width","100%","display","inline-block","margin-top","5px"],[1,"accordion",3,"click"],["class","panel",4,"ngIf"],[1,"row","in-section",2,"margin-top","5px"],[1,"col-md-5"],[1,"transfer-in-info-box"],[2,"margin-left","10px"],[1,"transaction-value-button"],[1,"col-md-2","text-center"],["src","yadacoinstatic/explorer/assets/arrow-right.png","alt","Arrow Right",1,"arrow-icon"],[1,"panel"],[1,"transfer-out-info-box"],[1,"col-12"],[1,"relationship-data-box"],[2,"text-transform","uppercase","margin","10px"],["rows","4","readonly","",2,"width","98%"],[1,"in-section","col-md-5",2,"margin-top","5px"],[1,"transaction-type-button","create-identity"],[2,"margin-left","15px"]],template:function(i,r){1&i&&(p(0,"h2",0),m(1,"Mempool"),f(),p(2,"div",1)(3,"table",2)(4,"thead")(5,"tr")(6,"th"),m(7,"Time"),f(),p(8,"th",3),m(9,"Transaction Hash"),f(),p(10,"th"),m(11,"in/out"),f(),p(12,"th"),m(13,"Type"),f()()(),p(14,"tbody"),I(15,D$,12,13,"ng-container",4),f()()()),2&i&&(g(15),S("ngForOf",r.mempoolData))},dependencies:[Ou,qn,Yn]})}return e})();function w$(e,n){1&e&&(p(0,"div",9)(1,"strong"),m(2,"Loading..."),f()())}function C$(e,n){if(1&e&&(p(0,"div",10)(1,"strong"),m(2,"Your Balance:"),f(),m(3),f()),2&e){const t=T();g(3),V(" ",t.balance," ")}}let kT=(()=>{class e{constructor(t){this.httpClient=t,this.address="",this.balance=0,this.loading=!1}getBalance(){this.address&&(this.loading=!0,this.httpClient.get(`/explorer-get-balance?address=${this.address}`).subscribe(t=>{this.balance=t.balance,this.loading=!1},t=>{alert("Something went wrong while fetching the balance."),this.loading=!1}))}static#e=this.\u0275fac=function(i){return new(i||e)(b(Wa))};static#t=this.\u0275cmp=Pt({type:e,selectors:[["app-address-balance"]],decls:15,vars:5,consts:[[1,"button",2,"text-transform","uppercase","margin","10px","margin-top","20px"],[1,"address-balance-container"],["for","addressInput"],[2,"display","flex"],["id","addressInput","type","text",1,"search-container",3,"ngModel","ngModelChange"],[1,"button","btn-success",3,"disabled","click"],[2,"margin-top","10px"],["class","loading-message",4,"ngIf"],["class","result",4,"ngIf"],[1,"loading-message"],[1,"result"]],template:function(i,r){1&i&&(p(0,"h2",0),m(1,"Address Balance"),f(),p(2,"div",1)(3,"label",2),m(4,"Enter Your Wallet Address:"),f(),p(5,"div",3)(6,"input",4),Z("ngModelChange",function(s){return r.address=s}),f(),p(7,"button",5),Z("click",function(){return r.getBalance()}),m(8,"Get balance"),f()(),p(9,"div",6)(10,"strong"),m(11,"Your Address:"),f(),m(12),f(),I(13,w$,3,0,"div",7),I(14,C$,4,1,"div",8),f()),2&i&&(g(6),S("ngModel",r.address),g(1),S("disabled",r.loading),g(5),V(" ",r.address," "),g(1),S("ngIf",r.loading),g(1),S("ngIf",!r.loading&&null!==r.balance))},dependencies:[Yn,Ya,Rg,Yu],styles:[".address-balance-container[_ngcontent-%COMP%]{margin:10px;padding:20px;background-color:#424242;border-radius:5px;color:#fff}label[_ngcontent-%COMP%]{display:block;margin-bottom:10px}input[_ngcontent-%COMP%]{flex:1;padding:10px;margin-bottom:10px;margin-right:10px}button.btn-success[_ngcontent-%COMP%]{background-color:green;color:#fff;padding:8px 20px;border:none;cursor:pointer;transition:background .3s ease;border-radius:5px;height:40px}.loading-message[_ngcontent-%COMP%], .result[_ngcontent-%COMP%]{margin-top:10px}"]})}return e})();function E$(e,n){if(1&e&&(p(0,"li")(1,"a",11),m(2),f()()),2&e){const t=n.$implicit;g(1),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id)}}function T$(e,n){if(1&e&&(p(0,"div",27)(1,"ul"),I(2,E$,3,2,"li",4),f()()),2&e){const t=T(3).$implicit;g(2),S("ngForOf",t.inputs)}}function S$(e,n){if(1&e&&(p(0,"div")(1,"div",28)(2,"p",22)(3,"a",11),m(4),f(),p(5,"button",23),m(6),f()()()()),2&e){const t=n.$implicit;g(3),U("href","/explorer?term=",t.to,"",W),g(1),A(t.to),g(2),V("",t.value.toFixed(6)," YDA")}}function M$(e,n){if(1&e){const t=st();p(0,"div")(1,"div",15)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",11),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",11),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Fee: "),f(),m(15),f(),p(16,"p")(17,"strong"),m(18,"Inputs:"),f(),m(19),f(),p(20,"div",16)(21,"button",17),Z("click",function(){return Je(t),Xe(T(5).toggleAccordion("inputsAccordion"))}),m(22,"Show Inputs"),f(),I(23,T$,3,1,"div",18),f(),p(24,"p")(25,"strong"),m(26,"Outputs:"),f(),m(27),f(),p(28,"div",19)(29,"div",20)(30,"div",21)(31,"p",22)(32,"a",11),m(33),f(),p(34,"button",23),m(35),f()()()(),p(36,"div",24),Ae(37,"img",25),f(),p(38,"div",26),I(39,S$,7,3,"div",4),f()()()()}if(2&e){const t=T(2).$implicit,i=T(3);g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.fee," YDA"),g(4),V(" ",t.inputs.length,""),g(4),S("ngIf","inputsAccordion"===i.showAccordion),g(4),V(" ",t.outputs.length,""),g(5),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to),g(2),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function I$(e,n){if(1&e&&(p(0,"div"),I(1,M$,40,12,"div",14),f()),2&e){const t=T().index,i=T(2).index,r=T();g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function N$(e,n){if(1&e&&(p(0,"div")(1,"div",28)(2,"p",22)(3,"a",11),m(4),f(),p(5,"button",23),m(6),f()()()()),2&e){const t=n.$implicit;g(3),U("href","/explorer?term=",t.to,"",W),g(1),A(t.to),g(2),V("",t.value.toFixed(6)," YDA")}}function O$(e,n){if(1&e&&(p(0,"div")(1,"div",15)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",11),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",11),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Outputs:"),f(),m(15),f(),p(16,"div",19)(17,"div",20)(18,"div",21)(19,"p",22),m(20," (Newly Generated Coins) "),p(21,"button",23),m(22),f()()()(),p(23,"div",24),Ae(24,"img",25),f(),p(25,"div",26),I(26,N$,7,3,"div",4),f()()()()),2&e){const t=T(2).$implicit,i=T(3);g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.outputs.length,""),g(7),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function x$(e,n){if(1&e&&(p(0,"div"),I(1,O$,27,7,"div",14),f()),2&e){const t=T().index,i=T(2).index,r=T();g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function A$(e,n){if(1&e&&(p(0,"div")(1,"div",15)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",11),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",11),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",29)(17,"h4",30),m(18,"Relationship DATA:"),f(),p(19,"textarea",31),m(20),f()(),p(21,"div",20)(22,"div",28)(23,"button",32),m(24,"Newly created Address"),f(),p(25,"p",33)(26,"a",11),m(27),f()()()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship),g(6),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function R$(e,n){if(1&e&&(p(0,"div"),I(1,A$,28,8,"div",14),f()),2&e){const t=T().index,i=T(2).index,r=T();g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function k$(e,n){if(1&e&&(p(0,"div")(1,"div",15)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",11),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",11),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",29)(17,"h4",30),m(18,"Relationship DATA:"),f(),p(19,"textarea",31),m(20),f()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship)}}function P$(e,n){if(1&e&&(p(0,"div"),I(1,k$,21,6,"div",14),f()),2&e){const t=T().index,i=T(2).index,r=T();g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function F$(e,n){if(1&e&&(p(0,"div")(1,"div",15)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",11),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",11),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",29)(17,"h4",30),m(18,"Relationship DATA:"),f(),p(19,"textarea",31),m(20),f()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship)}}function L$(e,n){if(1&e&&(p(0,"div"),I(1,F$,21,6,"div",14),f()),2&e){const t=T().index,i=T(2).index,r=T();g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}const V$=function(e,n,t,i,r){return{coinbase:e,transfer:n,"create-identity":t,"encrypted-message":i,message:r}};function B$(e,n){if(1&e){const t=st();p(0,"li")(1,"button",13),Z("click",function(){const o=Je(t).index,s=T(2).index;return Xe(T().showTransactionDetails(s,o))}),m(2),f(),I(3,I$,2,1,"div",14),I(4,x$,2,1,"div",14),I(5,R$,2,1,"div",14),I(6,P$,2,1,"div",14),I(7,L$,2,1,"div",14),f()}if(2&e){const t=n.$implicit,i=T(3);g(1),S("ngClass",ns(7,V$,i.transactionUtilsService.isCoinbaseTransaction(t),i.transactionUtilsService.isTransferTransaction(t),i.transactionUtilsService.isCreateIdentityTransaction(t),i.transactionUtilsService.isEncryptedMessageTransaction(t),i.transactionUtilsService.isMessageTransaction(t))),g(1),V(" ",i.transactionUtilsService.getTransactionType(t)," "),g(1),S("ngIf",i.transactionUtilsService.isTransferTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCoinbaseTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCreateIdentityTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isEncryptedMessageTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isMessageTransaction(t))}}function j$(e,n){if(1&e&&(p(0,"tr",7)(1,"td",8)(2,"div",9)(3,"h2",10),m(4,"Block Details"),f(),p(5,"p")(6,"strong"),m(7,"Index: "),f(),p(8,"a",11),m(9),f()(),p(10,"p")(11,"strong"),m(12,"Time:"),f(),m(13),f(),p(14,"p")(15,"strong"),m(16,"Hash: "),f(),p(17,"a",11),m(18),f()(),p(19,"p")(20,"strong"),m(21,"Previous Hash: "),f(),p(22,"a",11),m(23),f()(),p(24,"p")(25,"strong"),m(26,"Nonce:"),f(),m(27),f(),p(28,"p")(29,"strong"),m(30,"Target:"),f(),m(31),f(),p(32,"p")(33,"strong"),m(34,"ID: "),f(),p(35,"a",11),m(36),f()(),p(37,"h3",12),m(38,"Transactions"),f(),p(39,"ul"),I(40,B$,8,13,"li",4),f()()()()),2&e){const t=T().$implicit,i=T();g(8),U("href","/explorer?term=",t.index,"",W),g(1),A(t.index),g(4),V(" ",i.dateFormatService.formatTransactionTime(t.time),""),g(4),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.prevHash,"",W),g(1),A(t.prevHash),g(4),V(" ",t.nonce,""),g(4),V(" ",t.target,""),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),S("ngForOf",t.transactions)}}function H$(e,n){if(1&e){const t=st();Zi(0),p(1,"tr",5),Z("click",function(){const o=Je(t).$implicit;return Xe(T().toggleDetails(o))}),p(2,"td"),m(3),f(),p(4,"td"),m(5),f(),p(6,"td"),m(7),f(),p(8,"td",3),m(9),f(),p(10,"td"),m(11),f()(),I(12,j$,41,12,"tr",6),Ji()}if(2&e){const t=n.$implicit,i=T();g(3),A(t.index),g(2),A(i.dateFormatService.formatTransactionTime(t.time)),g(2),A(i.calculateAge(t.time)),g(2),A(t.hash),g(2),A(t.transactions.length),g(1),S("ngIf",t.expanded)}}let $$=(()=>{class e{constructor(t,i,r){this.httpClient=t,this.dateFormatService=i,this.transactionUtilsService=r,this.blocks=[],this.showBlockTransactions=!1,this.showBlockTransactionDetails=[],this.searching=!1,this.showAccordion=null}ngOnInit(){this.loadLatestBlocks()}loadLatestBlocks(){this.httpClient.get("/explorer-latest").subscribe(t=>{this.blocks=t.result||[],this.searching=!1},t=>{console.error("Error fetching latest blocks:",t),alert("Something went wrong while fetching latest blocks!")})}showBlockDetails(t){console.log("Clicked block:",t),this.selectedBlock=t}toggleDetails(t){if(t.expanded)t.expanded=!1;else{this.blocks.forEach(r=>r.expanded=!1),t.expanded=!0;const i=this.blocks.indexOf(t);this.showBlockTransactionDetails[i]=[],this.selectedBlock=t}}showTransactions(){this.showBlockTransactions=!this.showBlockTransactions,this.showBlockTransactionDetails=[]}showTransactionDetails(t,i){console.log("Clicked transaction:",t,i),this.showBlockTransactionDetails[t][i]=!this.showBlockTransactionDetails[t][i]}numberWithCommas(t){return t.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")}formatHashrate(t){return t<1e3?`${t.toFixed(0)} h/s`:t<1e6?`${(t/1e3).toFixed(2)} kh/s`:`${(t/1e6).toFixed(2)} mh/s`}calculateAge(t){const i=(new Date).getTime(),r=new Date(1e3*t).getTime();console.log("Current Time:",new Date(i)),console.log("Block Time:",new Date(r));const o=i-r,s=Math.floor(o/6e4);return console.log("Difference:",o),console.log("Age in Minutes:",s),s<60?`${s} minutes ago`:`${Math.floor(s/60)} hours ago`}getTotalValue(t){return t.reduce((i,r)=>i+r.value,0)}toggleAccordion(t){this.showAccordion=this.showAccordion===t?null:t}static#e=this.\u0275fac=function(i){return new(i||e)(b(Wa),b(Zu),b(Ju))};static#t=this.\u0275cmp=Pt({type:e,selectors:[["app-latest-blocks"]],decls:18,vars:1,consts:[[2,"text-transform","uppercase","margin","10px","margin-top","20px"],[1,"blocks-container"],[1,"blocks-table"],[1,"hash-column"],[4,"ngFor","ngForOf"],[3,"click"],["class","expanded-row",4,"ngIf"],[1,"expanded-row"],["colspan","5"],[2,"word-break","break-word"],[2,"text-transform","uppercase","margin","20px","margin-top","10px"],[3,"href"],[2,"text-transform","uppercase","margin","20px","margin-top","20px"],[1,"transaction-type-button",3,"ngClass","click"],[4,"ngIf"],[1,"transaction-details"],[1,"input-section",2,"margin-top","5px"],[1,"accordion",3,"click"],["class","panel",4,"ngIf"],[1,"row","in-section"],[1,"in-section","col-md-5",2,"margin-top","5px"],[1,"transfer-in-info-box"],[2,"margin-left","10px"],[1,"transaction-value-button"],[1,"col-md-2","text-center"],["src","yadacoinstatic/explorer/assets/arrow-right.png","alt","Arrow Right",1,"arrow-icon"],[1,"out-section","col-md-5",2,"margin-top","5px"],[1,"panel"],[1,"transfer-out-info-box"],[1,"relationship-data-box"],[2,"text-transform","uppercase","margin","10px"],["rows","4","readonly","",2,"width","98%"],[1,"transaction-type-button","create-identity"],[2,"margin-left","15px"]],template:function(i,r){1&i&&(p(0,"h2",0),m(1,"Latest 10 Blocks"),f(),p(2,"div",1)(3,"table",2)(4,"thead")(5,"tr")(6,"th"),m(7,"Index"),f(),p(8,"th"),m(9,"Time"),f(),p(10,"th"),m(11,"Age"),f(),p(12,"th",3),m(13,"Hash"),f(),p(14,"th"),m(15,"Transactions"),f()()(),p(16,"tbody"),I(17,H$,13,6,"ng-container",4),f()()()),2&i&&(g(17),S("ngForOf",r.blocks))},dependencies:[Ou,qn,Yn]})}return e})(),U$=(()=>{class e{transform(t){return"string"==typeof t?t.replace(/,/g," "):t.toString().replace(/,/g," ")}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275pipe=Bt({name:"replaceComma",type:e,pure:!0})}return e})();function G$(e,n){1&e&&(p(0,"div")(1,"h1",24),m(2,"This is the alpha version of the Yadacoin block explorer."),f(),p(3,"h1",24),m(4,"Most functions should be operational. Please feel free to report any bugs or provide suggestions."),f(),p(5,"h1",24),m(6,"Thank you!"),f()())}function z$(e,n){1&e&&(Zi(0),p(1,"div",25)(2,"h2",26),m(3,"No results for searched phrase"),f()(),Ji())}function W$(e,n){1&e&&(p(0,"a",37),Ae(1,"i",38),m(2," Previous Block "),f()),2&e&&U("href","/explorer?term=",T().$implicit.index-1,"",W)}function q$(e,n){1&e&&(p(0,"a",39),m(1," Next Block "),Ae(2,"i",40),f()),2&e&&U("href","/explorer?term=",T().$implicit.index+1,"",W)}function Y$(e,n){if(1&e&&(p(0,"li")(1,"a",35),m(2),f()()),2&e){const t=n.$implicit;g(1),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id)}}function Z$(e,n){if(1&e&&(p(0,"div",55)(1,"ul"),I(2,Y$,3,2,"li",30),f()()),2&e){const t=T(3).$implicit;g(2),S("ngForOf",t.inputs)}}function J$(e,n){if(1&e&&(p(0,"div")(1,"div",56)(2,"p",51)(3,"a",35),m(4),f(),p(5,"button",52),m(6),f()()()()),2&e){const t=n.$implicit;g(3),U("href","/explorer?term=",t.to,"",W),g(1),A(t.to),g(2),V("",t.value.toFixed(6)," YDA")}}function X$(e,n){if(1&e){const t=st();p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",35),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",35),m(11),f()(),p(12,"div",15)(13,"div",44)(14,"p")(15,"strong"),m(16,"Inputs:"),f(),m(17),f(),p(18,"div",45)(19,"button",46),Z("click",function(){return Je(t),Xe(T(6).toggleAccordion("inputsAccordion"))}),m(20,"Show Inputs"),f(),I(21,Z$,3,1,"div",47),f(),p(22,"p")(23,"strong"),m(24,"Outputs:"),f(),m(25),f()()(),p(26,"div",48)(27,"div",49)(28,"div",50)(29,"p",51)(30,"a",35),m(31),f(),p(32,"button",52),m(33),f()()()(),p(34,"div",53),Ae(35,"img",54),f(),p(36,"div",49),I(37,J$,7,3,"div",30),f()()()()}if(2&e){const t=T(2).$implicit,i=T(4);g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(6),V(" ",t.inputs.length,""),g(4),S("ngIf","inputsAccordion"===i.showAccordion),g(4),V(" ",t.outputs.length,""),g(5),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to),g(2),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function Q$(e,n){if(1&e&&(p(0,"div"),I(1,X$,38,11,"div",22),f()),2&e){const t=T().index,i=T().index,r=T(3);g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function K$(e,n){if(1&e&&(p(0,"div")(1,"div",56)(2,"p",51)(3,"a",35),m(4),f(),p(5,"button",52),m(6),f()()()()),2&e){const t=n.$implicit;g(3),U("href","/explorer?term=",t.to,"",W),g(1),A(t.to),g(2),V("",t.value.toFixed(6)," YDA")}}function e4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",35),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",35),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Outputs:"),f(),m(15),f(),p(16,"div",48)(17,"div",49)(18,"div",50)(19,"p",51),m(20," (Newly Generated Coins) "),p(21,"button",52),m(22),f()()()(),p(23,"div",53),Ae(24,"img",54),f(),p(25,"div",49),I(26,K$,7,3,"div",30),f()()()()),2&e){const t=T(2).$implicit,i=T(4);g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.outputs.length,""),g(7),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function t4(e,n){if(1&e&&(p(0,"div"),I(1,e4,27,7,"div",22),f()),2&e){const t=T().index,i=T().index,r=T(3);g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function n4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",35),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",35),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",57)(17,"h4",58),m(18,"Relationship DATA:"),f(),p(19,"textarea",59),m(20),f()(),p(21,"div",48)(22,"div",60)(23,"div",56)(24,"button",61),m(25,"Newly created Address"),f(),p(26,"p",62)(27,"a",35),m(28),f()()()()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship),g(7),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function i4(e,n){if(1&e&&(p(0,"div"),I(1,n4,29,8,"div",22),f()),2&e){const t=T().index,i=T().index,r=T(3);g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function r4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",35),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",35),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",57)(17,"h4",58),m(18,"Relationship DATA:"),f(),p(19,"textarea",59),m(20),f()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship)}}function o4(e,n){if(1&e&&(p(0,"div"),I(1,r4,21,6,"div",22),f()),2&e){const t=T().index,i=T().index,r=T(3);g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function s4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",35),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",35),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",57)(17,"h4",58),m(18,"Relationship DATA:"),f(),p(19,"textarea",59),m(20),f()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship)}}function a4(e,n){if(1&e&&(p(0,"div"),I(1,s4,21,6,"div",22),f()),2&e){const t=T().index,i=T().index,r=T(3);g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}const bm=function(e,n,t,i,r){return{coinbase:e,transfer:n,"create-identity":t,"encrypted-message":i,message:r}};function l4(e,n){if(1&e){const t=st();p(0,"li")(1,"div",41)(2,"button",42),Z("click",function(){const o=Je(t).index,s=T().index;return Xe(T(3).showTransactionDetails(s,o))}),m(3),f(),I(4,Q$,2,1,"div",22),I(5,t4,2,1,"div",22),I(6,i4,2,1,"div",22),I(7,o4,2,1,"div",22),I(8,a4,2,1,"div",22),f()()}if(2&e){const t=n.$implicit,i=T(4);g(2),S("ngClass",ns(7,bm,i.transactionUtilsService.isCoinbaseTransaction(t),i.transactionUtilsService.isTransferTransaction(t),i.transactionUtilsService.isCreateIdentityTransaction(t),i.transactionUtilsService.isEncryptedMessageTransaction(t),i.transactionUtilsService.isMessageTransaction(t))),g(1),V(" ",i.transactionUtilsService.getTransactionType(t)," "),g(1),S("ngIf",i.transactionUtilsService.isTransferTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCoinbaseTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCreateIdentityTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isEncryptedMessageTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isMessageTransaction(t))}}function c4(e,n){if(1&e&&(p(0,"li")(1,"div",31),I(2,W$,3,1,"a",32),I(3,q$,3,1,"a",33),f(),p(4,"div",25)(5,"h2",34),m(6,"Block Details"),f(),p(7,"p")(8,"strong"),m(9,"Index: "),f(),p(10,"a",35),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Time:"),f(),m(15),f(),p(16,"p")(17,"strong"),m(18,"Hash: "),f(),p(19,"a",35),m(20),f()(),p(21,"p")(22,"strong"),m(23,"Previous Hash: "),f(),p(24,"a",35),m(25),f()(),p(26,"p")(27,"strong"),m(28,"Nonce:"),f(),m(29),f(),p(30,"p")(31,"strong"),m(32,"Target:"),f(),m(33),f(),p(34,"p")(35,"strong"),m(36,"ID: "),f(),p(37,"a",35),m(38),f()(),p(39,"h3",36),m(40,"Transactions"),f(),p(41,"ul"),I(42,l4,9,13,"li",30),f()()()),2&e){const t=n.$implicit,i=T(3);g(2),S("ngIf",0!==t.index),g(1),S("ngIf",t.index!==i.current_height),g(7),U("href","/explorer?term=",t.index,"",W),g(1),A(t.index),g(4),V(" ",t.time,""),g(4),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.prevHash,"",W),g(1),A(t.prevHash),g(4),V(" ",t.nonce,""),g(4),V(" ",t.target,""),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),S("ngForOf",t.transactions)}}function u4(e,n){if(1&e&&(p(0,"div")(1,"div",25)(2,"h3",27),m(3),f(),p(4,"h2",28),m(5),f()(),p(6,"ul",29),I(7,c4,43,14,"li",30),f()()),2&e){const t=T(2);g(3),V(" search result for ","block_height"===t.resultType?"block index":"block_hash"===t.resultType?"block hash":"block_id"===t.resultType?"block id":"",": "),g(2),V(" ","block_height"===t.resultType?t.result[0].index:"block_hash"===t.resultType?t.result[0].hash:"block_id"===t.resultType?t.result[0].id:""," "),g(2),S("ngForOf",t.result)}}const bs=function(e){return{"searched-item":e}};function d4(e,n){if(1&e&&(p(0,"li")(1,"a",71),m(2),f()()),2&e){const t=n.$implicit,i=T(7);g(1),U("href","/explorer?term=",t.id,"",W),S("ngClass",$n(3,bs,i.isSearchedItem(t.id))),g(1),A(t.id)}}function f4(e,n){if(1&e&&(p(0,"div",55)(1,"ul"),I(2,d4,3,5,"li",30),f()()),2&e){const t=T(3).$implicit;g(2),S("ngForOf",t.inputs)}}function h4(e,n){if(1&e&&(p(0,"div")(1,"div",56)(2,"p",51)(3,"a",35),m(4),f(),p(5,"button",52),m(6),f()()()()),2&e){const t=n.$implicit;g(3),U("href","/explorer?term=",t.to,"",W),g(1),A(t.to),g(2),V("",t.value.toFixed(6)," YDA")}}function p4(e,n){if(1&e){const t=st();p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Inputs:"),f(),m(5),f(),p(6,"div",72)(7,"button",46),Z("click",function(){return Je(t),Xe(T(5).toggleAccordion("inputsAccordion"))}),m(8,"Show Inputs"),f(),I(9,f4,3,1,"div",47),f(),p(10,"p")(11,"strong"),m(12,"Outputs:"),f(),m(13),f(),p(14,"div",73)(15,"div",49)(16,"div",50)(17,"p",51)(18,"a",35),m(19),f(),p(20,"button",52),m(21),f()()()(),p(22,"div",53),Ae(23,"img",54),f(),p(24,"div",49),I(25,h4,7,3,"div",30),f()()()()}if(2&e){const t=T(2).$implicit,i=T(3);g(5),V(" ",t.inputs.length,""),g(4),S("ngIf","inputsAccordion"===i.showAccordion),g(4),V(" ",t.outputs.length,""),g(5),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to),g(2),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function g4(e,n){if(1&e&&(p(0,"div")(1,"div",56)(2,"p",51)(3,"a",35),m(4),f(),p(5,"button",52),m(6),f()()()()),2&e){const t=n.$implicit;g(3),U("href","/explorer?term=",t.to,"",W),g(1),A(t.to),g(2),V("",t.value.toFixed(6)," YDA")}}function m4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Outputs:"),f(),m(5),f(),p(6,"div",73)(7,"div",49)(8,"div",50)(9,"p",51),m(10," (Newly Generated Coins) "),p(11,"button",52),m(12),f()()()(),p(13,"div",53),Ae(14,"img",54),f(),p(15,"div",49),I(16,g4,7,3,"div",30),f()()()()),2&e){const t=T(2).$implicit,i=T(3);g(5),V(" ",t.outputs.length,""),g(7),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function _4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Relationship Identifier:"),f(),m(5),f(),p(6,"div",57)(7,"h4",58),m(8,"Relationship DATA:"),f(),p(9,"textarea",59),m(10),f()(),p(11,"div",73)(12,"div",60)(13,"div",56)(14,"button",74),m(15,"Newly created Address"),f(),p(16,"p",62)(17,"a",35),m(18),f()()()()()()()),2&e){const t=T(2).$implicit;g(5),V(" ",t.rid,""),g(5),A(t.relationship),g(7),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function v4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Relationship Identifier:"),f(),m(5),f(),p(6,"div",57)(7,"h4",58),m(8,"Relationship DATA:"),f(),p(9,"textarea",59),m(10),f()()()()),2&e){const t=T(2).$implicit;g(5),V(" ",t.rid,""),g(5),A(t.relationship)}}function y4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Relationship Identifier:"),f(),m(5),f(),p(6,"div",57)(7,"h4",58),m(8,"Relationship DATA:"),f(),p(9,"textarea",59),m(10),f()()()()),2&e){const t=T(2).$implicit;g(5),V(" ",t.rid,""),g(5),A(t.relationship)}}function b4(e,n){if(1&e&&(p(0,"tr",68)(1,"td",69)(2,"div")(3,"h3",70),m(4,"included in the block"),f(),p(5,"p")(6,"strong"),m(7,"Index: "),f(),p(8,"a",35),m(9),f()(),p(10,"p")(11,"strong"),m(12,"Hash: "),f(),p(13,"a",35),m(14),f()(),p(15,"div",43)(16,"p")(17,"strong"),m(18,"Transaction Hash: "),f(),p(19,"a",71),m(20),f()(),p(21,"p")(22,"strong"),m(23,"Transaction ID: "),f(),p(24,"a",71),m(25),f()(),p(26,"p")(27,"strong"),m(28,"Time: "),f(),m(29),f(),p(30,"p")(31,"strong"),m(32,"Fee: "),f(),m(33),f(),I(34,p4,26,7,"div",22),I(35,m4,17,3,"div",22),I(36,_4,19,4,"div",22),I(37,v4,11,2,"div",22),I(38,y4,11,2,"div",22),f()()()()),2&e){const t=T().$implicit,i=T(3);g(8),U("href","/explorer?term=",t.blockIndex,"",W),g(1),A(t.blockIndex),g(4),U("href","/explorer?term=",t.blockHash,"",W),g(1),A(t.blockHash),g(5),U("href","/explorer?term=",t.hash,"",W),S("ngClass",$n(17,bs,i.isSearchedItem(t.hash))),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),S("ngClass",$n(19,bs,i.isSearchedItem(t.id))),g(1),A(t.id),g(4),V(" ",i.dateFormatService.formatTransactionTime(t.time),""),g(4),V(" ",t.fee," YDA"),g(1),S("ngIf",i.transactionUtilsService.isTransferTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCoinbaseTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCreateIdentityTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isEncryptedMessageTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isMessageTransaction(t))}}function D4(e,n){if(1&e){const t=st();Zi(0),p(1,"tr",65),Z("click",function(){const o=Je(t).$implicit;return Xe(T(3).toggleDetails(o))}),p(2,"td"),m(3),f(),p(4,"td",64),m(5),f(),p(6,"td"),m(7),f(),p(8,"td"),m(9),f(),p(10,"td")(11,"button",66),m(12),f()()(),I(13,b4,39,21,"tr",67),Ji()}if(2&e){const t=n.$implicit,i=T(3);g(3),A(i.dateFormatService.formatTransactionTime(t.time)),g(2),A(t.hash),g(2),A(t.inputs.length),g(2),A(t.outputs.length),g(2),S("ngClass",ns(7,bm,i.transactionUtilsService.isCoinbaseTransaction(t),i.transactionUtilsService.isTransferTransaction(t),i.transactionUtilsService.isCreateIdentityTransaction(t),i.transactionUtilsService.isEncryptedMessageTransaction(t),i.transactionUtilsService.isMessageTransaction(t))),g(1),V(" ",i.transactionUtilsService.getTransactionType(t)," "),g(1),S("ngIf",t.expanded)}}function w4(e,n){if(1&e&&(p(0,"div")(1,"div",25)(2,"h3",27),m(3),f(),p(4,"h2",28),m(5),f()(),p(6,"div",25)(7,"table",63)(8,"thead")(9,"tr")(10,"th"),m(11,"Time"),f(),p(12,"th",64),m(13,"Hash"),f(),p(14,"th"),m(15,"Inputs"),f(),p(16,"th"),m(17,"Outputs"),f(),p(18,"th"),m(19,"Type"),f()()(),p(20,"tbody"),I(21,D4,14,13,"ng-container",30),f()()()()),2&e){const t=T(2);g(3),V(" search result for ","txn_id"===t.resultType?"transaction id":"txn_hash"===t.resultType?"transaction hash":"",": "),g(2),V(" ",t.searchedId," "),g(16),S("ngForOf",t.result)}}function C4(e,n){if(1&e&&(p(0,"li")(1,"a",35),m(2),f()()),2&e){const t=n.$implicit;g(1),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id)}}function E4(e,n){if(1&e&&(p(0,"div",55)(1,"ul"),I(2,C4,3,2,"li",30),f()()),2&e){const t=T(2).$implicit;g(2),S("ngForOf",t.inputs)}}function T4(e,n){if(1&e&&(p(0,"div")(1,"div",56)(2,"p",51)(3,"a",71),m(4),f(),p(5,"button",52),m(6),f()()()()),2&e){const t=n.$implicit,i=T(7);g(3),U("href","/explorer?term=",t.to,"",W),S("ngClass",$n(4,bs,i.isSearchedItem(t.to))),g(1),V(" ",t.to," "),g(2),V("",t.value.toFixed(6)," YDA")}}function S4(e,n){if(1&e){const t=st();p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Inputs:"),f(),m(5),f(),p(6,"div",72)(7,"button",46),Z("click",function(){return Je(t),Xe(T(6).toggleAccordion("inputsAccordion"))}),m(8,"Show Inputs"),f(),I(9,E4,3,1,"div",47),f(),p(10,"p")(11,"strong"),m(12,"Outputs:"),f(),m(13),f(),p(14,"div",73)(15,"div",49)(16,"div",50)(17,"p",51)(18,"a",71),m(19),f(),p(20,"button",52),m(21),f()()()(),p(22,"div",53),Ae(23,"img",54),f(),p(24,"div",49),I(25,T4,7,6,"div",30),f()()()()}if(2&e){const t=T().$implicit,i=T(5);g(5),V(" ",t.inputs.length,""),g(4),S("ngIf","inputsAccordion"===i.showAccordion),g(4),V(" ",t.outputs.length,""),g(5),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),S("ngClass",$n(8,bs,i.isSearchedItem(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to))),g(1),V(" ",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to," "),g(2),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function M4(e,n){if(1&e&&(p(0,"div")(1,"div",56)(2,"p",51)(3,"a",71),m(4),f(),p(5,"button",52),m(6),f()()()()),2&e){const t=n.$implicit,i=T(7);g(3),U("href","/explorer?term=",t.to,"",W),S("ngClass",$n(4,bs,i.isSearchedItem(t.to))),g(1),V(" ",t.to," "),g(2),V("",t.value.toFixed(6)," YDA")}}function I4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Outputs:"),f(),m(5),f(),p(6,"div",73)(7,"div",49)(8,"div",50)(9,"p",51),m(10," (Newly Generated Coins) "),p(11,"button",52),m(12),f()()()(),p(13,"div",53),Ae(14,"img",54),f(),p(15,"div",49),I(16,M4,7,6,"div",30),f()()()()),2&e){const t=T().$implicit,i=T(5);g(5),V(" ",t.outputs.length,""),g(7),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function N4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Relationship Identifier:"),f(),m(5),f(),p(6,"div",57)(7,"h4",58),m(8,"Relationship DATA:"),f(),p(9,"textarea",59),m(10),f()(),p(11,"div",73)(12,"div",77)(13,"div",56)(14,"button",74),m(15,"Newly created Address"),f(),p(16,"p",62)(17,"a",35),m(18),f()()()()()()()),2&e){const t=T().$implicit;g(5),V(" ",t.rid,""),g(5),A(t.relationship),g(7),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function O4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Relationship Identifier:"),f(),m(5),f(),p(6,"div",57)(7,"h4",58),m(8,"Relationship DATA:"),f(),p(9,"textarea",59),m(10),f()()()()),2&e){const t=T().$implicit;g(5),V(" ",t.rid,""),g(5),A(t.relationship)}}function x4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Relationship Identifier:"),f(),m(5),f(),p(6,"div",57)(7,"h4",58),m(8,"Relationship DATA:"),f(),p(9,"textarea",59),m(10),f()()()()),2&e){const t=T().$implicit;g(5),V(" ",t.rid,""),g(5),A(t.relationship)}}function A4(e,n){if(1&e&&(p(0,"div",43)(1,"p")(2,"strong"),m(3,"Transaction Hash: "),f(),p(4,"a",35),m(5),f()(),p(6,"p")(7,"strong"),m(8,"Transaction ID: "),f(),p(9,"a",35),m(10),f()(),p(11,"p")(12,"strong"),m(13,"Time: "),f(),m(14),f(),p(15,"p")(16,"strong"),m(17,"Fee: "),f(),m(18),f(),I(19,S4,26,10,"div",22),I(20,I4,17,3,"div",22),I(21,N4,19,4,"div",22),I(22,O4,11,2,"div",22),I(23,x4,11,2,"div",22),f()),2&e){const t=n.$implicit,i=T(5);g(4),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",i.dateFormatService.formatTransactionTime(t.time),""),g(4),V(" ",t.fee," YDA"),g(1),S("ngIf",i.transactionUtilsService.isTransferTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCoinbaseTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCreateIdentityTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isEncryptedMessageTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isMessageTransaction(t))}}function R4(e,n){if(1&e&&(p(0,"tr",68)(1,"td",75)(2,"h2",34),m(3,"Transactions in Block "),p(4,"a",35),m(5),f()(),I(6,A4,24,11,"div",76),f()()),2&e){const t=T().$implicit;g(4),U("href","/explorer?term=",t.index,"",W),g(1),A(t.index),g(1),S("ngForOf",t.transactions)}}function k4(e,n){if(1&e){const t=st();Zi(0),p(1,"tr",65),Z("click",function(){const o=Je(t).$implicit;return Xe(T(3).toggleDetails(o))}),p(2,"td"),m(3),f(),p(4,"td"),m(5),f(),p(6,"td",64),m(7),f(),p(8,"td")(9,"button",66),m(10),f()()(),I(11,R4,7,3,"tr",67),Ji()}if(2&e){const t=n.$implicit,i=T(3);g(3),A(t.index),g(2),A(i.dateFormatService.formatTransactionTime(t.time)),g(2),A(t.hash),g(2),S("ngClass",ns(6,bm,i.transactionUtilsService.isCoinbaseTransaction(t.transactions[0]),i.transactionUtilsService.isTransferTransaction(t.transactions[0]),i.transactionUtilsService.isCreateIdentityTransaction(t.transactions[0]),i.transactionUtilsService.isEncryptedMessageTransaction(t.transactions[0]),i.transactionUtilsService.isMessageTransaction(t.transactions[0]))),g(1),V(" ",i.transactionUtilsService.getTransactionType(t.transactions[0])," "),g(1),S("ngIf",t.expanded)}}function P4(e,n){if(1&e&&(p(0,"div")(1,"div",25)(2,"h3",27),m(3),f(),p(4,"h2",28),m(5),f()(),p(6,"div",25)(7,"table",63)(8,"thead")(9,"tr")(10,"th"),m(11,"Block Index"),f(),p(12,"th"),m(13,"Time"),f(),p(14,"th",64),m(15,"Hash"),f(),p(16,"th"),m(17,"Type"),f()()(),p(18,"tbody"),I(19,k4,12,12,"ng-container",30),f()()()()),2&e){const t=T(2);g(3),V(" Search result for ","txn_outputs_to"===t.resultType?"transaction outputs to":"",": "),g(2),V(" ",t.searchedId," "),g(14),S("ngForOf",t.result)}}function F4(e,n){if(1&e&&(p(0,"div"),I(1,z$,4,0,"ng-container",22),I(2,u4,8,3,"div",22),I(3,w4,22,3,"div",22),I(4,P4,20,3,"div",22),f()),2&e){const t=T();g(1),S("ngIf",!t.result||t.result&&0===t.result.length),g(1),S("ngIf",("block_height"===t.resultType||"block_hash"===t.resultType||"block_id"===t.resultType)&&t.result&&t.result.length>0),g(1),S("ngIf",("txn_id"===t.resultType||"txn_hash"===t.resultType)&&t.result&&t.result.length>0),g(1),S("ngIf","txn_outputs_to"===t.resultType&&t.result&&t.result.length>0)}}function L4(e,n){1&e&&Ae(0,"app-latest-blocks")}function V4(e,n){1&e&&Ae(0,"app-address-balance")}function B4(e,n){1&e&&Ae(0,"app-mempool")}let PT=(()=>{class e{constructor(t,i,r,o){this.httpClient=t,this.route=i,this.dateFormatService=r,this.transactionUtilsService=o,this.title="explorer",this.model=new AT,this.result=[],this.searchedId="",this.searchedHash="",this.blocks=[],this.showBlockTransactions=!1,this.showBlockTransactionDetails=[[]],this.resultType="",this.balance=0,this.searching=!1,this.submitted=!1,this.current_height="",this.circulating="",this.hashrate="",this.difficulty="",this.selectedOption="Main Page",this.showAccordion=null,this.isCollapsed=!0,this.httpClient.get("/api-stats").subscribe(s=>{this.difficulty=this.numberWithCommas(s.stats.difficulty),this.hashrate=this.formatHashrate(s.stats.network_hash_rate),this.current_height=this.numberWithCommas(s.stats.height),this.circulating=this.numberWithCommas(s.stats.circulating)},s=>{console.error("Error fetching API stats:",s),alert("Something went wrong while fetching API stats!")}),this.route.queryParams.subscribe(s=>{const a=s.term;a&&(this.model=new AT({term:a}),this.onSubmit(),this.selectedOption="SearchResults")}),window.location.search&&(this.searching=!0,this.submitted=!0,this.httpClient.get("/explorer-search"+window.location.search).subscribe(s=>{this.result=s.result||[],this.resultType=s.resultType,this.balance=s.balance,this.searchedId=s.searchedId,this.searchedHash=s.searchedHash,this.searching=!1,this.selectedOption="SearchResults"},s=>{console.error("Error fetching explorer search:",s),alert("Something went wrong while fetching explorer search results!")}))}ngOnInit(){}onSubmit(){this.searching=!0,this.submitted=!0;const i=`/explorer-search?term=${encodeURIComponent(this.model.term)}`;this.httpClient.get(i).subscribe(r=>{this.result=r.result||[],this.resultType=r.resultType,this.balance=r.balance,this.searchedId=r.searchedId,this.searchedHash=r.searchedHash,this.searching=!1,this.selectedOption="SearchResults"},r=>{console.error("Error fetching explorer search:",r),alert("Something went wrong while fetching explorer search results!"),this.searching=!1})}showBlockDetails(t){console.log("Clicked block:",t),this.selectedBlock=t}toggleAccordion(t){this.showAccordion=this.showAccordion===t?null:t}toggleDetails(t){if(t.expanded)t.expanded=!1;else{this.blocks.forEach(r=>r.expanded=!1),t.expanded=!0;const i=this.blocks.indexOf(t);this.showBlockTransactionDetails[i]=this.showBlockTransactionDetails[i]||[],this.selectedBlock=t}}showTransactions(){this.showBlockTransactions=!this.showBlockTransactions,this.showBlockTransactionDetails=[]}showTransactionDetails(t,i){console.log("Clicked transaction:",t,i),this.showBlockTransactionDetails[t]||(this.showBlockTransactionDetails[t]=[]),this.showBlockTransactionDetails[t][i]=!this.showBlockTransactionDetails[t][i]}numberWithCommas(t){return t.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")}formatHashrate(t){return t<1e3?`${t.toFixed(0)} h/s`:t<1e6?`${(t/1e3).toFixed(2)} kh/s`:`${(t/1e6).toFixed(2)} mh/s`}calculateAge(t){const i=(new Date).getTime(),r=new Date(1e3*t).getTime();console.log("Current Time:",new Date(i)),console.log("Block Time:",new Date(r));const o=i-r,s=Math.floor(o/6e4);return console.log("Difference:",o),console.log("Age in Minutes:",s),s<60?`${s} minutes ago`:`${Math.floor(s/60)} hours ago`}getTotalValue(t){return t.reduce((i,r)=>i+r.value,0)}selectOption(t){this.selectedOption=t}logButtonClick(){console.log("Button clicked!")}isSearchedItem(t){return t.toLowerCase()===this.searchedId.toLowerCase()}static#e=this.\u0275fac=function(i){return new(i||e)(b(Wa),b($r),b(Zu),b(Ju))};static#t=this.\u0275cmp=Pt({type:e,selectors:[["app-root"]],decls:67,vars:16,consts:[[1,"content"],[1,"navbar","navbar-expand-lg","navbar-dark","bg-dark"],["src","yadacoinstatic/explorer/assets/yadalogo.png","alt","Yadacoin Logo",1,"logo"],["href","#",1,"navbar-brand",3,"click"],["type","button","data-toggle","collapse","data-target","#navbarNav","aria-controls","navbarNav","aria-expanded","false","aria-label","Toggle navigation",1,"navbar-toggler",3,"click"],[1,"navbar-toggler-icon"],["id","navbarNav",1,"collapse","navbar-collapse"],[1,"navbar-nav"],[1,"nav-item"],["href","#",1,"nav-link",3,"click"],[1,"form-inline","ml-auto",3,"ngSubmit"],["searchForm","ngForm"],["name","term","placeholder","Wallet address, Transaction Id, Block height, Block hash...",1,"form-control",3,"ngModel","ngModelChange"],["type","submit",1,"btn","btn-success"],[1,"container-fluid"],[1,"row"],[1,"col-12","col-md-6","col-lg-3"],[1,"result-box"],["src","yadacoinstatic/explorer/assets/network-height.png","alt","Network Height",1,"watermark"],["src","yadacoinstatic/explorer/assets/hashrate.png","alt","Network Hashrate",1,"watermark"],["src","yadacoinstatic/explorer/assets/difficulty.png","alt","Network Difficulty",1,"watermark"],["src","yadacoinstatic/explorer/assets/circulating-supply.png","alt","Circulating Supply",1,"watermark"],[4,"ngIf"],[1,"footer","fixed-bottom"],[2,"text-transform","uppercase","margin","20px","margin-top","25px","text-align","center"],[1,"blocks-container"],[2,"text-transform","uppercase","margin","20px","margin-top","25px","color","red"],[2,"text-transform","uppercase","margin","20px","margin-top","25px"],[2,"margin","20px","margin-top","10px","word-break","break-word"],[2,"list-style-type","none","padding","0","margin","0"],[4,"ngFor","ngForOf"],[1,"block-details"],["class","previous-button",3,"href",4,"ngIf"],["class","next-button",3,"href",4,"ngIf"],[2,"text-transform","uppercase","margin","20px","margin-top","10px"],[3,"href"],[2,"text-transform","uppercase","margin","20px","margin-top","20px"],[1,"previous-button",3,"href"],[1,"bi","bi-arrow-left"],[1,"next-button",3,"href"],[1,"bi","bi-arrow-right"],[1,"transaction-container"],[1,"transaction-type-button",3,"ngClass","click"],[1,"transaction-details"],[1,"col-md-12"],[1,"input-section",2,"width","100%","display","inline-block","margin-top","5px"],[1,"accordion",3,"click"],["class","panel",4,"ngIf"],[1,"row","in-section",2,"margin-top","5px"],[1,"col-md-5"],[1,"transfer-in-info-box"],[2,"margin-left","10px"],[1,"transaction-value-button"],[1,"col-md-2","text-center"],["src","yadacoinstatic/explorer/assets/arrow-right.png","alt","Arrow Right",1,"arrow-icon"],[1,"panel"],[1,"transfer-out-info-box"],[1,"relationship-data-box"],[2,"text-transform","uppercase","margin","10px"],["rows","4","readonly","",2,"width","98%"],[1,"col-md-6"],[1,"transaction-type-button","create-identity"],[2,"margin-left","15px"],[1,"blocks-table"],[1,"hash-column"],[3,"click"],[1,"transaction-type-button",3,"ngClass"],["class","expanded-row",4,"ngIf"],[1,"expanded-row"],["colspan","5"],[2,"text-transform","uppercase","margin-top","10px"],[3,"ngClass","href"],[1,"input-section"],[1,"row","in-section"],[1,"transaction-type-button","create-identity",2,"margin-bottom","10px","margin-left","10px"],["colspan","4"],["class","transaction-details",4,"ngFor","ngForOf"],[1,"col-md-4"]],template:function(i,r){1&i&&(p(0,"body")(1,"div",0)(2,"nav",1),Ae(3,"img",2),p(4,"a",3),Z("click",function(){return r.selectOption("Main Page")}),m(5,"Yadacoin Explorer"),f(),p(6,"button",4),Z("click",function(){return r.logButtonClick()}),Ae(7,"span",5),f(),p(8,"div",6)(9,"ul",7)(10,"li",8)(11,"a",9),Z("click",function(){return r.selectOption("Latest Blocks")}),m(12,"Latest Blocks"),f()(),p(13,"li",8)(14,"a",9),Z("click",function(){return r.selectOption("Mempool")}),m(15,"Mempool"),f()(),p(16,"li",8)(17,"a",9),Z("click",function(){return r.selectOption("Address Balance")}),m(18,"Address Balance"),f()()(),p(19,"form",10,11),Z("ngSubmit",function(){return r.onSubmit()}),p(21,"input",12),Z("ngModelChange",function(s){return r.model.term=s}),f(),p(22,"button",13),m(23,"Search"),f()()()(),p(24,"div",14)(25,"div",15)(26,"div",16)(27,"div",17),Ae(28,"img",18),p(29,"h5"),m(30,"Network Height"),f(),p(31,"h3"),m(32),au(33,"replaceComma"),f()()(),p(34,"div",16)(35,"div",17),Ae(36,"img",19),p(37,"h5"),m(38,"Network Hashrate"),f(),p(39,"h3"),m(40),f()()(),p(41,"div",16)(42,"div",17),Ae(43,"img",20),p(44,"h5"),m(45,"Network Difficulty"),f(),p(46,"h3"),m(47),au(48,"replaceComma"),f()()(),p(49,"div",16)(50,"div",17),Ae(51,"img",21),p(52,"h5"),m(53,"Circulating Supply"),f(),p(54,"h3"),m(55),au(56,"replaceComma"),f()()()()(),I(57,G$,7,0,"div",22),I(58,F4,5,4,"div",22),I(59,L4,1,0,"app-latest-blocks",22),I(60,V4,1,0,"app-address-balance",22),I(61,B4,1,0,"app-mempool",22),f(),p(62,"footer",23)(63,"p"),m(64,"YdaCoin Explorer v0.2.0 dev | by Rakni for YadaCoin 2024"),f(),p(65,"p"),m(66,"Donation Address YADA: 1Hx9hETwiuwFnXQ715bMBTahcjgF6DNhHL"),f()()()),2&i&&(g(21),S("ngModel",r.model.term),g(11),A(lu(33,10,r.current_height)),g(8),A(r.hashrate),g(7),A(lu(48,12,r.difficulty)),g(8),V("",lu(56,14,r.circulating)," YDA"),g(2),S("ngIf","Main Page"===r.selectedOption),g(1),S("ngIf","SearchResults"===r.selectedOption),g(1),S("ngIf","Latest Blocks"===r.selectedOption),g(1),S("ngIf","Address Balance"===r.selectedOption),g(1),S("ngIf","Mempool"===r.selectedOption))},dependencies:[Ou,qn,Yn,iE,Ya,Rg,UC,Yu,qu,RT,kT,$$,U$],styles:["body[_ngcontent-%COMP%]{background-color:silver;margin:30px 5%;color:#303030}.logo[_ngcontent-%COMP%]{width:50px;height:auto;margin-right:10px;margin-left:10px}.form-inline[_ngcontent-%COMP%]{width:100%;display:flex;justify-content:space-between;margin-left:10px;margin-top:5px}.form-control[_ngcontent-%COMP%]{flex:1}.btn[_ngcontent-%COMP%]{margin-left:10px;margin-right:20px}.navbar-nav[_ngcontent-%COMP%] .nav-item[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}.navbar-nav[_ngcontent-%COMP%]{margin-left:auto}.navbar-nav[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]{padding:.5rem 1rem}.navbar-nav[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]:hover{background-color:#ffffff1a}.navbar-toggler[_ngcontent-%COMP%]{margin-right:15px}.result-box[_ngcontent-%COMP%]{padding:10px;margin-right:10px;margin-top:20px;border-radius:5px;color:#fff;text-align:left;position:relative;background-color:#343a40}.result-box[_ngcontent-%COMP%] h5[_ngcontent-%COMP%], .result-box[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:10px;text-transform:uppercase;position:relative;z-index:1}.result-box[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-size:24px;font-weight:700}.watermark[_ngcontent-%COMP%]{width:auto;height:95%;object-fit:contain;position:absolute;top:0;right:0;z-index:0}.footer[_ngcontent-%COMP%]{background-color:#1f2428;color:#fff;padding:2px;text-align:center;position:fixed;bottom:0;font-size:12px}.footer[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:2px 0}"]})}return e})();const j4=[{path:"",component:PT},{path:"mempool",component:RT},{path:"address-balance",component:kT},{path:"**",redirectTo:"/"}];let H4=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({imports:[OT.forRoot(j4),OT]})}return e})();const $4=["addListener","removeListener"],U4=["addEventListener","removeEventListener"],G4=["on","off"];function At(e,n,t,i){if(se(t)&&(i=t,t=void 0),i)return At(e,n,t).pipe(Ng(i));const[r,o]=function q4(e){return se(e.addEventListener)&&se(e.removeEventListener)}(e)?U4.map(s=>a=>e[s](n,a,t)):function z4(e){return se(e.addListener)&&se(e.removeListener)}(e)?$4.map(FT(e,n)):function W4(e){return se(e.on)&&se(e.off)}(e)?G4.map(FT(e,n)):[];if(!r&&tf(e))return ht(s=>At(s,n,t))(ft(e));if(!r)throw new TypeError("Invalid event target");return new Ce(s=>{const a=(...l)=>s.next(1o(a)})}function FT(e,n){return t=>i=>e[t](n,i)}class Y4 extends tt{constructor(n,t){super()}schedule(n,t=0){return this}}const gd={setInterval(e,n,...t){const{delegate:i}=gd;return i?.setInterval?i.setInterval(e,n,...t):setInterval(e,n,...t)},clearInterval(e){const{delegate:n}=gd;return(n?.clearInterval||clearInterval)(e)},delegate:void 0},LT={now:()=>(LT.delegate||Date).now(),delegate:void 0};class _l{constructor(n,t=_l.now){this.schedulerActionCtor=n,this.now=t}schedule(n,t=0,i){return new this.schedulerActionCtor(this,n).schedule(i,t)}}_l.now=LT.now;const X4=new class J4 extends _l{constructor(n,t=_l.now){super(n,t),this.actions=[],this._active=!1}flush(n){const{actions:t}=this;if(this._active)return void t.push(n);let i;this._active=!0;do{if(i=n.execute(n.state,n.delay))break}while(n=t.shift());if(this._active=!1,i){for(;n=t.shift();)n.unsubscribe();throw i}}}(class Z4 extends Y4{constructor(n,t){super(n,t),this.scheduler=n,this.work=t,this.pending=!1}schedule(n,t=0){var i;if(this.closed)return this;this.state=n;const r=this.id,o=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(o,r,t)),this.pending=!0,this.delay=t,this.id=null!==(i=this.id)&&void 0!==i?i:this.requestAsyncId(o,this.id,t),this}requestAsyncId(n,t,i=0){return gd.setInterval(n.flush.bind(n,this),i)}recycleAsyncId(n,t,i=0){if(null!=i&&this.delay===i&&!1===this.pending)return t;null!=t&&gd.clearInterval(t)}execute(n,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(n,t);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(n,t){let r,i=!1;try{this.work(n)}catch(o){i=!0,r=o||new Error("Scheduled action threw falsy error")}if(i)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){const{id:n,scheduler:t}=this,{actions:i}=t;this.work=this.state=this.scheduler=null,this.pending=!1,Vi(i,this),null!=n&&(this.id=this.recycleAsyncId(t,n,null)),this.delay=null,super.unsubscribe()}}});const{isArray:K4}=Array;function jT(e){return 1===e.length&&K4(e[0])?e[0]:e}function Dm(...e){const n=Ul(e),t=jT(e);return t.length?new Ce(i=>{let r=t.map(()=>[]),o=t.map(()=>!1);i.add(()=>{r=o=null});for(let s=0;!i.closed&&s{if(r[s].push(a),r.every(l=>l.length)){const l=r.map(c=>c.shift());i.next(n?n(...l):l),r.some((c,u)=>!c.length&&o[u])&&i.complete()}},()=>{o[s]=!0,!r[s].length&&i.complete()}));return()=>{r=o=null}}):bn}function wm(...e){const n=Ul(e);return ze((t,i)=>{const r=e.length,o=new Array(r);let s=e.map(()=>!1),a=!1;for(let l=0;l{o[l]=c,!a&&!s[l]&&(s[l]=!0,(a=s.every(Pn))&&(s=null))},pr));t.subscribe(Ve(i,l=>{if(a){const c=[l,...o];i.next(n?n(...c):c)}}))})}Math,Math,Math;const xU=["*"],a8=["dialog"];function zr(e){return"string"==typeof e}function Wr(e){return null!=e}function Ss(e){return(e||document.body).getBoundingClientRect()}const yS={animation:!0,transitionTimerDelayMs:5},K8=()=>{},{transitionTimerDelayMs:eG}=yS,Tl=new Map,an=(e,n,t,i)=>{let r=i.context||{};const o=Tl.get(n);if(o)switch(i.runningTransition){case"continue":return bn;case"stop":e.run(()=>o.transition$.complete()),r=Object.assign(o.context,r),Tl.delete(n)}const s=t(n,i.animation,r)||K8;if(!i.animation||"none"===window.getComputedStyle(n).transitionProperty)return e.run(()=>s()),J(void 0).pipe(function X8(e){return n=>new Ce(t=>n.subscribe({next:s=>e.run(()=>t.next(s)),error:s=>e.run(()=>t.error(s)),complete:()=>e.run(()=>t.complete())}))}(e));const a=new Ee,l=new Ee,c=a.pipe(function t5(...e){return n=>el(n,J(...e))}(!0));Tl.set(n,{transition$:a,complete:()=>{l.next(),l.complete()},context:r});const u=function Q8(e){const{transitionDelay:n,transitionDuration:t}=window.getComputedStyle(e);return 1e3*(parseFloat(n)+parseFloat(t))}(n);return e.runOutsideAngular(()=>{const d=At(n,"transitionend").pipe(Ke(c),vt(({target:_})=>_===n));(function HT(...e){return 1===(e=jT(e)).length?ft(e[0]):new Ce(function e5(e){return n=>{let t=[];for(let i=0;t&&!n.closed&&i{if(t){for(let o=0;o{let o=function Q4(e){return e instanceof Date&&!isNaN(e)}(e)?+e-t.now():e;o<0&&(o=0);let s=0;return t.schedule(function(){r.closed||(r.next(s++),0<=i?this.schedule(void 0,i):r.complete())},o)})}(u+eG).pipe(Ke(c)),d,l).pipe(Ke(c)).subscribe(()=>{Tl.delete(n),e.run(()=>{s(),a.next(),a.complete()})})}),a.asObservable()};let Cd=(()=>{class e{constructor(){this.animation=yS.animation}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),IS=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})(),NS=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})(),AS=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})(),$m=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})();var Le=function(e){return e[e.Tab=9]="Tab",e[e.Enter=13]="Enter",e[e.Escape=27]="Escape",e[e.Space=32]="Space",e[e.PageUp=33]="PageUp",e[e.PageDown=34]="PageDown",e[e.End=35]="End",e[e.Home=36]="Home",e[e.ArrowLeft=37]="ArrowLeft",e[e.ArrowUp=38]="ArrowUp",e[e.ArrowRight=39]="ArrowRight",e[e.ArrowDown=40]="ArrowDown",e}(Le||{});typeof navigator<"u"&&navigator.userAgent&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||/Macintosh/.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2||/Android/.test(navigator.userAgent));const BS=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");function jS(e){const n=Array.from(e.querySelectorAll(BS)).filter(t=>-1!==t.tabIndex);return[n[0],n[n.length-1]]}new Date(1882,10,12),new Date(2174,10,25);let KS=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})(),nM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})();class Xr{constructor(n,t,i){this.nodes=n,this.viewRef=t,this.componentRef=i}}let KG=(()=>{class e{constructor(t,i){this._el=t,this._zone=i}ngOnInit(){this._zone.onStable.asObservable().pipe(xt(1)).subscribe(()=>{an(this._zone,this._el.nativeElement,(t,i)=>{i&&Ss(t),t.classList.add("show")},{animation:this.animation,runningTransition:"continue"})})}hide(){return an(this._zone,this._el.nativeElement,({classList:t})=>t.remove("show"),{animation:this.animation,runningTransition:"stop"})}static#e=this.\u0275fac=function(i){return new(i||e)(b(Se),b(fe))};static#t=this.\u0275cmp=Pt({type:e,selectors:[["ngb-modal-backdrop"]],hostAttrs:[2,"z-index","1055"],hostVars:6,hostBindings:function(i,r){2&i&&(Ir("modal-backdrop"+(r.backdropClass?" "+r.backdropClass:"")),ye("show",!r.animation)("fade",r.animation))},inputs:{animation:"animation",backdropClass:"backdropClass"},standalone:!0,features:[In],decls:0,vars:0,template:function(i,r){},encapsulation:2})}return e})();class iM{update(n){}close(n){}dismiss(n){}}const e6=["animation","ariaLabelledBy","ariaDescribedBy","backdrop","centered","fullscreen","keyboard","scrollable","size","windowClass","modalDialogClass"],t6=["animation","backdropClass"];class n6{_applyWindowOptions(n,t){e6.forEach(i=>{Wr(t[i])&&(n[i]=t[i])})}_applyBackdropOptions(n,t){t6.forEach(i=>{Wr(t[i])&&(n[i]=t[i])})}update(n){this._applyWindowOptions(this._windowCmptRef.instance,n),this._backdropCmptRef&&this._backdropCmptRef.instance&&this._applyBackdropOptions(this._backdropCmptRef.instance,n)}get componentInstance(){if(this._contentRef&&this._contentRef.componentRef)return this._contentRef.componentRef.instance}get closed(){return this._closed.asObservable().pipe(Ke(this._hidden))}get dismissed(){return this._dismissed.asObservable().pipe(Ke(this._hidden))}get hidden(){return this._hidden.asObservable()}get shown(){return this._windowCmptRef.instance.shown.asObservable()}constructor(n,t,i,r){this._windowCmptRef=n,this._contentRef=t,this._backdropCmptRef=i,this._beforeDismiss=r,this._closed=new Ee,this._dismissed=new Ee,this._hidden=new Ee,n.instance.dismissEvent.subscribe(o=>{this.dismiss(o)}),this.result=new Promise((o,s)=>{this._resolve=o,this._reject=s}),this.result.then(null,()=>{})}close(n){this._windowCmptRef&&(this._closed.next(n),this._resolve(n),this._removeModalElements())}_dismiss(n){this._dismissed.next(n),this._reject(n),this._removeModalElements()}dismiss(n){if(this._windowCmptRef)if(this._beforeDismiss){const t=this._beforeDismiss();!function mS(e){return e&&e.then}(t)?!1!==t&&this._dismiss(n):t.then(i=>{!1!==i&&this._dismiss(n)},()=>{})}else this._dismiss(n)}_removeModalElements(){const n=this._windowCmptRef.instance.hide(),t=this._backdropCmptRef?this._backdropCmptRef.instance.hide():J(void 0);n.subscribe(()=>{const{nativeElement:i}=this._windowCmptRef.location;i.parentNode.removeChild(i),this._windowCmptRef.destroy(),this._contentRef&&this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._windowCmptRef=null,this._contentRef=null}),t.subscribe(()=>{if(this._backdropCmptRef){const{nativeElement:i}=this._backdropCmptRef.location;i.parentNode.removeChild(i),this._backdropCmptRef.destroy(),this._backdropCmptRef=null}}),Dm(n,t).subscribe(()=>{this._hidden.next(),this._hidden.complete()})}}var Xm=function(e){return e[e.BACKDROP_CLICK=0]="BACKDROP_CLICK",e[e.ESC=1]="ESC",e}(Xm||{});let i6=(()=>{class e{constructor(t,i,r){this._document=t,this._elRef=i,this._zone=r,this._closed$=new Ee,this._elWithFocus=null,this.backdrop=!0,this.keyboard=!0,this.dismissEvent=new Y,this.shown=new Ee,this.hidden=new Ee}get fullscreenClass(){return!0===this.fullscreen?" modal-fullscreen":zr(this.fullscreen)?` modal-fullscreen-${this.fullscreen}-down`:""}dismiss(t){this.dismissEvent.emit(t)}ngOnInit(){this._elWithFocus=this._document.activeElement,this._zone.onStable.asObservable().pipe(xt(1)).subscribe(()=>{this._show()})}ngOnDestroy(){this._disableEventHandling()}hide(){const{nativeElement:t}=this._elRef,i={animation:this.animation,runningTransition:"stop"},s=Dm(an(this._zone,t,()=>t.classList.remove("show"),i),an(this._zone,this._dialogEl.nativeElement,()=>{},i));return s.subscribe(()=>{this.hidden.next(),this.hidden.complete()}),this._disableEventHandling(),this._restoreFocus(),s}_show(){const t={animation:this.animation,runningTransition:"continue"};Dm(an(this._zone,this._elRef.nativeElement,(o,s)=>{s&&Ss(o),o.classList.add("show")},t),an(this._zone,this._dialogEl.nativeElement,()=>{},t)).subscribe(()=>{this.shown.next(),this.shown.complete()}),this._enableEventHandling(),this._setFocus()}_enableEventHandling(){const{nativeElement:t}=this._elRef;this._zone.runOutsideAngular(()=>{At(t,"keydown").pipe(Ke(this._closed$),vt(r=>r.which===Le.Escape)).subscribe(r=>{this.keyboard?requestAnimationFrame(()=>{r.defaultPrevented||this._zone.run(()=>this.dismiss(Xm.ESC))}):"static"===this.backdrop&&this._bumpBackdrop()});let i=!1;At(this._dialogEl.nativeElement,"mousedown").pipe(Ke(this._closed$),wt(()=>i=!1),wn(()=>At(t,"mouseup").pipe(Ke(this._closed$),xt(1))),vt(({target:r})=>t===r)).subscribe(()=>{i=!0}),At(t,"click").pipe(Ke(this._closed$)).subscribe(({target:r})=>{t===r&&("static"===this.backdrop?this._bumpBackdrop():!0===this.backdrop&&!i&&this._zone.run(()=>this.dismiss(Xm.BACKDROP_CLICK))),i=!1})})}_disableEventHandling(){this._closed$.next()}_setFocus(){const{nativeElement:t}=this._elRef;if(!t.contains(document.activeElement)){const i=t.querySelector("[ngbAutofocus]"),r=jS(t)[0];(i||r||t).focus()}}_restoreFocus(){const t=this._document.body,i=this._elWithFocus;let r;r=i&&i.focus&&t.contains(i)?i:t,this._zone.runOutsideAngular(()=>{setTimeout(()=>r.focus()),this._elWithFocus=null})}_bumpBackdrop(){"static"===this.backdrop&&an(this._zone,this._elRef.nativeElement,({classList:t})=>(t.add("modal-static"),()=>t.remove("modal-static")),{animation:this.animation,runningTransition:"continue"})}static#e=this.\u0275fac=function(i){return new(i||e)(b(ut),b(Se),b(fe))};static#t=this.\u0275cmp=Pt({type:e,selectors:[["ngb-modal-window"]],viewQuery:function(i,r){if(1&i&&xr(a8,7),2&i){let o;Re(o=function ke(){return function hP(e,n){return e[ri].queries[n].queryList}(O(),Ev())}())&&(r._dialogEl=o.first)}},hostAttrs:["role","dialog","tabindex","-1"],hostVars:7,hostBindings:function(i,r){2&i&&(Ie("aria-modal",!0)("aria-labelledby",r.ariaLabelledBy)("aria-describedby",r.ariaDescribedBy),Ir("modal d-block"+(r.windowClass?" "+r.windowClass:"")),ye("fade",r.animation))},inputs:{animation:"animation",ariaLabelledBy:"ariaLabelledBy",ariaDescribedBy:"ariaDescribedBy",backdrop:"backdrop",centered:"centered",fullscreen:"fullscreen",keyboard:"keyboard",scrollable:"scrollable",size:"size",windowClass:"windowClass",modalDialogClass:"modalDialogClass"},outputs:{dismissEvent:"dismiss"},standalone:!0,features:[In],ngContentSelectors:xU,decls:4,vars:2,consts:[["role","document"],["dialog",""],[1,"modal-content"]],template:function(i,r){1&i&&(function w1(e){const n=O()[rt][Ft];if(!n.projection){const i=n.projection=ia(e?e.length:1,null),r=i.slice();let o=n.child;for(;null!==o;){const s=e?LR(o,e):0;null!==s&&(r[s]?r[s].projectionNext=o:i[s]=o,r[s]=o),o=o.next}}}(),p(0,"div",0,1)(2,"div",2),function C1(e,n=0,t){const i=O(),r=pe(),o=Uo(r,ue+e,16,null,t||null);null===o.projection&&(o.projection=n),Af(),(!i[Ei]||yo())&&32!=(32&o.flags)&&function VO(e,n,t){Sy(n[ne],0,n,t,oh(e,t,n),by(t.parent||n[Ft],t,n))}(r,i,o)}(3),f()()),2&i&&Ir("modal-dialog"+(r.size?" modal-"+r.size:"")+(r.centered?" modal-dialog-centered":"")+r.fullscreenClass+(r.scrollable?" modal-dialog-scrollable":"")+(r.modalDialogClass?" "+r.modalDialogClass:""))},styles:["ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}\n"],encapsulation:2})}return e})(),r6=(()=>{class e{constructor(t){this._document=t}hide(){const t=Math.abs(window.innerWidth-this._document.documentElement.clientWidth),i=this._document.body,r=i.style,{overflow:o,paddingRight:s}=r;if(t>0){const a=parseFloat(window.getComputedStyle(i).paddingRight);r.paddingRight=`${a+t}px`}return r.overflow="hidden",()=>{t>0&&(r.paddingRight=s),r.overflow=o}}static#e=this.\u0275fac=function(i){return new(i||e)(H(ut))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),o6=(()=>{class e{constructor(t,i,r,o,s,a,l){this._applicationRef=t,this._injector=i,this._environmentInjector=r,this._document=o,this._scrollBar=s,this._rendererFactory=a,this._ngZone=l,this._activeWindowCmptHasChanged=new Ee,this._ariaHiddenValues=new Map,this._scrollBarRestoreFn=null,this._modalRefs=[],this._windowCmpts=[],this._activeInstances=new Y,this._activeWindowCmptHasChanged.subscribe(()=>{if(this._windowCmpts.length){const c=this._windowCmpts[this._windowCmpts.length-1];((e,n,t,i=!1)=>{e.runOutsideAngular(()=>{const r=At(n,"focusin").pipe(Ke(t),ae(o=>o.target));At(n,"keydown").pipe(Ke(t),vt(o=>o.which===Le.Tab),wm(r)).subscribe(([o,s])=>{const[a,l]=jS(n);(s===a||s===n)&&o.shiftKey&&(l.focus(),o.preventDefault()),s===l&&!o.shiftKey&&(a.focus(),o.preventDefault())}),i&&At(n,"click").pipe(Ke(t),wm(r),ae(o=>o[1])).subscribe(o=>o.focus())})})(this._ngZone,c.location.nativeElement,this._activeWindowCmptHasChanged),this._revertAriaHidden(),this._setAriaHidden(c.location.nativeElement)}})}_restoreScrollBar(){const t=this._scrollBarRestoreFn;t&&(this._scrollBarRestoreFn=null,t())}_hideScrollBar(){this._scrollBarRestoreFn||(this._scrollBarRestoreFn=this._scrollBar.hide())}open(t,i,r){const o=r.container instanceof HTMLElement?r.container:Wr(r.container)?this._document.querySelector(r.container):this._document.body,s=this._rendererFactory.createRenderer(null,null);if(!o)throw new Error(`The specified modal container "${r.container||"body"}" was not found in the DOM.`);this._hideScrollBar();const a=new iM,l=(t=r.injector||t).get(zt,null)||this._environmentInjector,c=this._getContentRef(t,l,i,a,r);let u=!1!==r.backdrop?this._attachBackdrop(o):void 0,d=this._attachWindowComponent(o,c.nodes),h=new n6(d,c,u,r.beforeDismiss);return this._registerModalRef(h),this._registerWindowCmpt(d),h.hidden.pipe(xt(1)).subscribe(()=>Promise.resolve(!0).then(()=>{this._modalRefs.length||(s.removeClass(this._document.body,"modal-open"),this._restoreScrollBar(),this._revertAriaHidden())})),a.close=_=>{h.close(_)},a.dismiss=_=>{h.dismiss(_)},a.update=_=>{h.update(_)},h.update(r),1===this._modalRefs.length&&s.addClass(this._document.body,"modal-open"),u&&u.instance&&u.changeDetectorRef.detectChanges(),d.changeDetectorRef.detectChanges(),h}get activeInstances(){return this._activeInstances}dismissAll(t){this._modalRefs.forEach(i=>i.dismiss(t))}hasOpenModals(){return this._modalRefs.length>0}_attachBackdrop(t){let i=Zp(KG,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector});return this._applicationRef.attachView(i.hostView),t.appendChild(i.location.nativeElement),i}_attachWindowComponent(t,i){let r=Zp(i6,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector,projectableNodes:i});return this._applicationRef.attachView(r.hostView),t.appendChild(r.location.nativeElement),r}_getContentRef(t,i,r,o,s){return r?r instanceof qe?this._createFromTemplateRef(r,o):zr(r)?this._createFromString(r):this._createFromComponent(t,i,r,o,s):new Xr([])}_createFromTemplateRef(t,i){const o=t.createEmbeddedView({$implicit:i,close(s){i.close(s)},dismiss(s){i.dismiss(s)}});return this._applicationRef.attachView(o),new Xr([o.rootNodes],o)}_createFromString(t){const i=this._document.createTextNode(`${t}`);return new Xr([[i]])}_createFromComponent(t,i,r,o,s){const l=Zp(r,{environmentInjector:i,elementInjector:Nt.create({providers:[{provide:iM,useValue:o}],parent:t})}),c=l.location.nativeElement;return s.scrollable&&c.classList.add("component-host-scrollable"),this._applicationRef.attachView(l.hostView),new Xr([[c]],l.hostView,l)}_setAriaHidden(t){const i=t.parentElement;i&&t!==this._document.body&&(Array.from(i.children).forEach(r=>{r!==t&&"SCRIPT"!==r.nodeName&&(this._ariaHiddenValues.set(r,r.getAttribute("aria-hidden")),r.setAttribute("aria-hidden","true"))}),this._setAriaHidden(i))}_revertAriaHidden(){this._ariaHiddenValues.forEach((t,i)=>{t?i.setAttribute("aria-hidden",t):i.removeAttribute("aria-hidden")}),this._ariaHiddenValues.clear()}_registerModalRef(t){const i=()=>{const r=this._modalRefs.indexOf(t);r>-1&&(this._modalRefs.splice(r,1),this._activeInstances.emit(this._modalRefs))};this._modalRefs.push(t),this._activeInstances.emit(this._modalRefs),t.result.then(i,i)}_registerWindowCmpt(t){this._windowCmpts.push(t),this._activeWindowCmptHasChanged.next(),t.onDestroy(()=>{const i=this._windowCmpts.indexOf(t);i>-1&&(this._windowCmpts.splice(i,1),this._activeWindowCmptHasChanged.next())})}static#e=this.\u0275fac=function(i){return new(i||e)(H(Ki),H(Nt),H(zt),H(ut),H(r6),H(kh),H(fe))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),s6=(()=>{class e{constructor(t){this._ngbConfig=t,this.backdrop=!0,this.fullscreen=!1,this.keyboard=!0}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(t){this._animation=t}static#e=this.\u0275fac=function(i){return new(i||e)(H(Cd))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),a6=(()=>{class e{constructor(t,i,r){this._injector=t,this._modalStack=i,this._config=r}open(t,i={}){const r={...this._config,animation:this._config.animation,...i};return this._modalStack.open(this._injector,t,r)}get activeInstances(){return this._modalStack.activeInstances}dismissAll(t){this._modalStack.dismissAll(t)}hasOpenModals(){return this._modalStack.hasOpenModals()}static#e=this.\u0275fac=function(i){return new(i||e)(H(Nt),H(o6),H(s6))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),rM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({providers:[a6]})}return e})(),aM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})(),gM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})(),mM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})(),_M=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})(),vM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})(),yM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})(),bM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})(),DM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})(),wM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})();new z("live announcer delay",{providedIn:"root",factory:function w6(){return 100}});let CM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})(),EM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})();const E6=[IS,NS,AS,$m,KS,nM,rM,aM,EM,gM,mM,_M,vM,yM,bM,DM,wM,CM];let T6=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({imports:[E6,IS,NS,AS,$m,KS,nM,rM,aM,EM,gM,mM,_M,vM,yM,bM,DM,wM,CM]})}return e})(),S6=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e,bootstrap:[PT]});static#n=this.\u0275inj=_e({providers:[Zu,Ju],imports:[rB,kB,$j,H4,Uj,T6,$m]})}return e})();nB().bootstrapModule(S6).catch(e=>console.error(e))},614:()=>{const se=":";const $l=function(E,...w){if($l.translate){const x=$l.translate(E,w);E=x[0],w=x[1]}let N=Xd(E[0],E.raw[0]);for(let x=1;x{var Li=Vi=>se(se.s=Vi);Li(614),Li(75)}]); \ No newline at end of file diff --git a/static/explorer/scripts.js b/static/explorer/scripts.js new file mode 100644 index 00000000..03791e8b --- /dev/null +++ b/static/explorer/scripts.js @@ -0,0 +1 @@ +!function(H,tt){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=H.document?tt(H,!0):function(ae){if(!ae.document)throw new Error("jQuery requires a window with a document");return tt(ae)}:tt(H)}(typeof window<"u"?window:this,function(H,tt){"use strict";var ae=[],nt=Object.getPrototypeOf,fe=ae.slice,nn=ae.flat?function(e){return ae.flat.call(e)}:function(e){return ae.concat.apply([],e)},qt=ae.push,Re=ae.indexOf,ke={},it=ke.toString,We=ke.hasOwnProperty,rt=We.toString,ii=rt.call(Object),B={},R=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},xt=function(e){return null!=e&&e===e.window},W=H.document,Se={type:!0,src:!0,nonce:!0,noModule:!0};function Te(e,t,i){var r,o,l=(i=i||W).createElement("script");if(l.text=e,t)for(r in Se)(o=t[r]||t.getAttribute&&t.getAttribute(r))&&l.setAttribute(r,o);i.head.appendChild(l).parentNode.removeChild(l)}function le(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?ke[it.call(e)]||"object":typeof e}var Tn=/HTML$/i,s=function(e,t){return new s.fn.init(e,t)};function Cn(e){var t=!!e&&"length"in e&&e.length,i=le(e);return!R(e)&&!xt(e)&&("array"===i||0===t||"number"==typeof t&&0+~]|"+K+")"+K+"*"),Gt=new RegExp(K+"|>"),Je=new RegExp(Ge),Jt=new RegExp("^"+Ke+"$"),ht={ID:new RegExp("^#("+Ke+")"),CLASS:new RegExp("^\\.("+Ke+")"),TAG:new RegExp("^("+Ke+"|[*])"),ATTR:new RegExp("^"+X),PSEUDO:new RegExp("^"+Ge),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+Qe+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},we=/^(?:input|select|textarea|button)$/i,Pt=/^h\d$/i,$e=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,se=/[+~]/,ne=new RegExp("\\\\[\\da-fA-F]{1,6}"+K+"?|\\\\([^\\r\\n\\f])","g"),ge=function(u,g){var y="0x"+u.slice(1)-65536;return g||(y<0?String.fromCharCode(y+65536):String.fromCharCode(y>>10|55296,1023&y|56320))},dt=function(){wt()},me=mn(function(u){return!0===u.disabled&&J(u,"fieldset")},{dir:"parentNode",next:"legend"});try{_.apply(ae=fe.call(Be.childNodes),Be.childNodes)}catch{_={apply:function(g,y){rn.apply(g,fe.call(y))},call:function(g){rn.apply(g,fe.call(arguments,1))}}}function $(u,g,y,b){var x,k,S,L,D,U,P,z=g&&g.ownerDocument,Y=g?g.nodeType:9;if(y=y||[],"string"!=typeof u||!u||1!==Y&&9!==Y&&11!==Y)return y;if(!b&&(wt(g),g=g||l,d)){if(11!==Y&&(D=$e.exec(u)))if(x=D[1]){if(9===Y){if(!(S=g.getElementById(x)))return y;if(S.id===x)return _.call(y,S),y}else if(z&&(S=z.getElementById(x))&&$.contains(g,S)&&S.id===x)return _.call(y,S),y}else{if(D[2])return _.apply(y,g.getElementsByTagName(u)),y;if((x=D[3])&&g.getElementsByClassName)return _.apply(y,g.getElementsByClassName(x)),y}if(!(re[u+" "]||h&&h.test(u))){if(P=u,z=g,1===Y&&(Gt.test(u)||ut.test(u))){for((z=se.test(u)&&Zn(g.parentNode)||g)==g&&B.scope||((L=g.getAttribute("id"))?L=s.escapeSelector(L):g.setAttribute("id",L=w)),k=(U=Zt(u)).length;k--;)U[k]=(L?"#"+L:":scope")+" "+gn(U[k]);P=U.join(",")}try{return _.apply(y,z.querySelectorAll(P)),y}catch{re(u,!0)}finally{L===w&&g.removeAttribute("id")}}}return bn(u.replace(Dt,"$1"),g,y,b)}function te(){var u=[];return function g(y,b){return u.push(y+" ")>t.cacheLength&&delete g[u.shift()],g[y+" "]=b}}function ie(u){return u[w]=!0,u}function Z(u){var g=l.createElement("fieldset");try{return!!u(g)}catch{return!1}finally{g.parentNode&&g.parentNode.removeChild(g),g=null}}function Ze(u){return function(g){return J(g,"input")&&g.type===u}}function Mt(u){return function(g){return(J(g,"input")||J(g,"button"))&&g.type===u}}function bt(u){return function(g){return"form"in g?g.parentNode&&!1===g.disabled?"label"in g?"label"in g.parentNode?g.parentNode.disabled===u:g.disabled===u:g.isDisabled===u||g.isDisabled!==!u&&me(g)===u:g.disabled===u:"label"in g&&g.disabled===u}}function Ee(u){return ie(function(g){return g=+g,ie(function(y,b){for(var x,k=u([],y.length,g),S=k.length;S--;)y[x=k[S]]&&(y[x]=!(b[x]=y[x]))})})}function Zn(u){return u&&typeof u.getElementsByTagName<"u"&&u}function wt(u){var g,y=u?u.ownerDocument||u:Be;return y!=l&&9===y.nodeType&&y.documentElement&&(c=(l=y).documentElement,d=!s.isXMLDoc(l),m=c.matches||c.webkitMatchesSelector||c.msMatchesSelector,c.msMatchesSelector&&Be!=l&&(g=l.defaultView)&&g.top!==g&&g.addEventListener("unload",dt),B.getById=Z(function(b){return c.appendChild(b).id=s.expando,!l.getElementsByName||!l.getElementsByName(s.expando).length}),B.disconnectedMatch=Z(function(b){return m.call(b,"*")}),B.scope=Z(function(){return l.querySelectorAll(":scope")}),B.cssHas=Z(function(){try{return l.querySelector(":has(*,:jqfake)"),!1}catch{return!0}}),B.getById?(t.filter.ID=function(b){var x=b.replace(ne,ge);return function(k){return k.getAttribute("id")===x}},t.find.ID=function(b,x){if(typeof x.getElementById<"u"&&d){var k=x.getElementById(b);return k?[k]:[]}}):(t.filter.ID=function(b){var x=b.replace(ne,ge);return function(k){var S=typeof k.getAttributeNode<"u"&&k.getAttributeNode("id");return S&&S.value===x}},t.find.ID=function(b,x){if(typeof x.getElementById<"u"&&d){var k,S,L,D=x.getElementById(b);if(D){if((k=D.getAttributeNode("id"))&&k.value===b)return[D];for(L=x.getElementsByName(b),S=0;D=L[S++];)if((k=D.getAttributeNode("id"))&&k.value===b)return[D]}return[]}}),t.find.TAG=function(b,x){return typeof x.getElementsByTagName<"u"?x.getElementsByTagName(b):x.querySelectorAll(b)},t.find.CLASS=function(b,x){if(typeof x.getElementsByClassName<"u"&&d)return x.getElementsByClassName(b)},h=[],Z(function(b){var x;c.appendChild(b).innerHTML="",b.querySelectorAll("[selected]").length||h.push("\\["+K+"*(?:value|"+Qe+")"),b.querySelectorAll("[id~="+w+"-]").length||h.push("~="),b.querySelectorAll("a#"+w+"+*").length||h.push(".#.+[+~]"),b.querySelectorAll(":checked").length||h.push(":checked"),(x=l.createElement("input")).setAttribute("type","hidden"),b.appendChild(x).setAttribute("name","D"),c.appendChild(b).disabled=!0,2!==b.querySelectorAll(":disabled").length&&h.push(":enabled",":disabled"),(x=l.createElement("input")).setAttribute("name",""),b.appendChild(x),b.querySelectorAll("[name='']").length||h.push("\\["+K+"*name"+K+"*="+K+"*(?:''|\"\")")}),B.cssHas||h.push(":has"),h=h.length&&new RegExp(h.join("|")),ue=function(b,x){if(b===x)return o=!0,0;var k=!b.compareDocumentPosition-!x.compareDocumentPosition;return k||(1&(k=(b.ownerDocument||b)==(x.ownerDocument||x)?b.compareDocumentPosition(x):1)||!B.sortDetached&&x.compareDocumentPosition(b)===k?b===l||b.ownerDocument==Be&&$.contains(Be,b)?-1:x===l||x.ownerDocument==Be&&$.contains(Be,x)?1:r?Re.call(r,b)-Re.call(r,x):0:4&k?-1:1)}),l}for(e in $.matches=function(u,g){return $(u,null,null,g)},$.matchesSelector=function(u,g){if(wt(u),d&&!re[g+" "]&&(!h||!h.test(g)))try{var y=m.call(u,g);if(y||B.disconnectedMatch||u.document&&11!==u.document.nodeType)return y}catch{re(g,!0)}return 0<$(g,l,null,[u]).length},$.contains=function(u,g){return(u.ownerDocument||u)!=l&&wt(u),s.contains(u,g)},$.attr=function(u,g){(u.ownerDocument||u)!=l&&wt(u);var y=t.attrHandle[g.toLowerCase()],b=y&&We.call(t.attrHandle,g.toLowerCase())?y(u,g,!d):void 0;return void 0!==b?b:u.getAttribute(g)},$.error=function(u){throw new Error("Syntax error, unrecognized expression: "+u)},s.uniqueSort=function(u){var g,y=[],b=0,x=0;if(o=!B.sortStable,r=!B.sortStable&&fe.call(u,0),ri.call(u,ue),o){for(;g=u[x++];)g===u[x]&&(b=y.push(x));for(;b--;)si.call(u,y[b],1)}return r=null,u},s.fn.uniqueSort=function(){return this.pushStack(s.uniqueSort(fe.apply(this)))},(t=s.expr={cacheLength:50,createPseudo:ie,match:ht,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(u){return u[1]=u[1].replace(ne,ge),u[3]=(u[3]||u[4]||u[5]||"").replace(ne,ge),"~="===u[2]&&(u[3]=" "+u[3]+" "),u.slice(0,4)},CHILD:function(u){return u[1]=u[1].toLowerCase(),"nth"===u[1].slice(0,3)?(u[3]||$.error(u[0]),u[4]=+(u[4]?u[5]+(u[6]||1):2*("even"===u[3]||"odd"===u[3])),u[5]=+(u[7]+u[8]||"odd"===u[3])):u[3]&&$.error(u[0]),u},PSEUDO:function(u){var g,y=!u[6]&&u[2];return ht.CHILD.test(u[0])?null:(u[3]?u[2]=u[4]||u[5]||"":y&&Je.test(y)&&(g=Zt(y,!0))&&(g=y.indexOf(")",y.length-g)-y.length)&&(u[0]=u[0].slice(0,g),u[2]=y.slice(0,g)),u.slice(0,3))}},filter:{TAG:function(u){var g=u.replace(ne,ge).toLowerCase();return"*"===u?function(){return!0}:function(y){return J(y,g)}},CLASS:function(u){var g=O[u+" "];return g||(g=new RegExp("(^|"+K+")"+u+"("+K+"|$)"))&&O(u,function(y){return g.test("string"==typeof y.className&&y.className||typeof y.getAttribute<"u"&&y.getAttribute("class")||"")})},ATTR:function(u,g,y){return function(b){var x=$.attr(b,u);return null==x?"!="===g:!g||(x+="","="===g?x===y:"!="===g?x!==y:"^="===g?y&&0===x.indexOf(y):"*="===g?y&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function Ft(e,t,i){return R(t)?s.grep(e,function(r,o){return!!t.call(r,o,r)!==i}):t.nodeType?s.grep(e,function(r){return r===t!==i}):"string"!=typeof t?s.grep(e,function(r){return-1)[^>]*|#([\w-]+))$/;(s.fn.init=function(e,t,i){var r,o;if(!e)return this;if(i=i||kn,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:Sn.exec(e))||!r[1]&&t)return!t||t.jquery?(t||i).find(e):this.constructor(t).find(e);if(r[1]){if(s.merge(this,s.parseHTML(r[1],(t=t instanceof s?t[0]:t)&&t.nodeType?t.ownerDocument||t:W,!0)),E.test(r[1])&&s.isPlainObject(t))for(r in t)R(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(o=W.getElementById(r[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):R(e)?void 0!==i.ready?i.ready(e):e(s):s.makeArray(e,this)}).prototype=s.fn,kn=s(W);var st=/^(?:parents|prev(?:Until|All))/,Rt={children:!0,contents:!0,next:!0,prev:!0};function De(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}s.fn.extend({has:function(e){var t=s(e,this),i=t.length;return this.filter(function(){for(var r=0;r\x20\t\r\n\f]*)/i,Ut=/^$|^module$|\/(?:java|ecma)script/i;Ct=W.createDocumentFragment().appendChild(W.createElement("div")),(on=W.createElement("input")).setAttribute("type","radio"),on.setAttribute("checked","checked"),on.setAttribute("name","t"),Ct.appendChild(on),B.checkClone=Ct.cloneNode(!0).cloneNode(!0).lastChild.checked,Ct.innerHTML="",B.noCloneChecked=!!Ct.cloneNode(!0).lastChild.defaultValue,Ct.innerHTML="",B.option=!!Ct.lastChild;var Ce={thead:[1,"","
          "],col:[2,"","
          "],tr:[2,"","
          "],td:[3,"","
          "],_default:[0,"",""]};function pe(e,t){var i;return i=typeof e.getElementsByTagName<"u"?e.getElementsByTagName(t||"*"):typeof e.querySelectorAll<"u"?e.querySelectorAll(t||"*"):[],void 0===t||t&&J(e,t)?s.merge([e],i):i}function On(e,t){for(var i=0,r=e.length;i",""]);var Fi=/<|&#?\w+;/;function hi(e,t,i,r,o){for(var l,c,d,h,m,_,w=t.createDocumentFragment(),v=[],T=0,O=e.length;T\s*$/g;function ln(e,t){return J(e,"table")&&J(11!==t.nodeType?t:t.firstChild,"tr")&&s(e).children("tbody")[0]||e}function Ot(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function cn(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function fi(e,t){var i,r,o,l,c,d;if(1===t.nodeType){if(I.hasData(e)&&(d=I.get(e).events))for(o in I.remove(t,"handle events"),d)for(i=0,r=d[o].length;i"u"?s.prop(e,t,i):(1===l&&s.isXMLDoc(e)||(o=s.attrHooks[t.toLowerCase()]||(s.expr.match.bool.test(t)?Rn:void 0)),void 0!==i?null===i?void s.removeAttr(e,t):o&&"set"in o&&void 0!==(r=o.set(e,i,t))?r:(e.setAttribute(t,i+""),i):o&&"get"in o&&null!==(r=o.get(e,t))?r:null==(r=s.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!B.radioValue&&"radio"===t&&J(e,"input")){var i=e.value;return e.setAttribute("type",t),i&&(e.value=i),t}}}},removeAttr:function(e,t){var i,r=0,o=t&&t.match(Le);if(o&&1===e.nodeType)for(;i=o[r++];)e.removeAttribute(i)}}),Rn={set:function(e,t,i){return!1===t?s.removeAttr(e,i):e.setAttribute(i,i),i}},s.each(s.expr.match.bool.source.match(/\w+/g),function(e,t){var i=Qt[t]||s.find.attr;Qt[t]=function(r,o,l){var c,d,h=o.toLowerCase();return l||(d=Qt[h],Qt[h]=c,c=null!=i(r,o,l)?h:null,Qt[h]=d),c}});var Ui=/^(?:input|select|textarea|button)$/i,Ci=/^(?:a|area)$/i;function Ve(e){return(e.match(Le)||[]).join(" ")}function At(e){return e.getAttribute&&e.getAttribute("class")||""}function Wn(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(Le)||[]}s.fn.extend({prop:function(e,t){return ze(this,s.prop,e,t,1").attr(e.scriptAttrs||{}).prop({charset:e.scriptCharset,src:e.url}).on("load error",i=function(l){t.remove(),i=null,l&&o("error"===l.type?404:200,l.type)}),W.head.appendChild(t[0])},abort:function(){i&&i()}}});var Ye,Gn=[],Jn=/(=)\?(?=&|$)|\?\?/;s.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gn.pop()||s.expando+"_"+Ai.guid++;return this[e]=!0,e}}),s.ajaxPrefilter("json jsonp",function(e,t,i){var r,o,l,c=!1!==e.jsonp&&(Jn.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Jn.test(e.data)&&"data");if(c||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=R(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,c?e[c]=e[c].replace(Jn,"$1"+r):!1!==e.jsonp&&(e.url+=(hn.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return l||s.error(r+" was not called"),l[0]},e.dataTypes[0]="json",o=H[r],H[r]=function(){l=arguments},i.always(function(){void 0===o?s(H).removeProp(r):H[r]=o,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gn.push(r)),l&&R(o)&&o(l[0]),l=o=void 0}),"script"}),B.createHTMLDocument=((Ye=W.implementation.createHTMLDocument("").body).innerHTML="
          ",2===Ye.childNodes.length),s.parseHTML=function(e,t,i){return"string"!=typeof e?[]:("boolean"==typeof t&&(i=t,t=!1),t||(B.createHTMLDocument?((r=(t=W.implementation.createHTMLDocument("")).createElement("base")).href=W.location.href,t.head.appendChild(r)):t=W),l=!i&&[],(o=E.exec(e))?[t.createElement(o[1])]:(o=hi([e],t,l),l&&l.length&&s(l).remove(),s.merge([],o.childNodes)));var r,o,l},s.fn.load=function(e,t,i){var r,o,l,c=this,d=e.indexOf(" ");return-1").append(s.parseHTML(h)).find(r):h)}).always(i&&function(h,m){c.each(function(){i.apply(this,l||[h.responseText,m,h])})}),this},s.expr.pseudos.animated=function(e){return s.grep(s.timers,function(t){return e===t.elem}).length},s.offset={setOffset:function(e,t,i){var r,o,l,c,d,h,m=s.css(e,"position"),_=s(e),w={};"static"===m&&(e.style.position="relative"),d=_.offset(),l=s.css(e,"top"),h=s.css(e,"left"),("absolute"===m||"fixed"===m)&&-1<(l+h).indexOf("auto")?(c=(r=_.position()).top,o=r.left):(c=parseFloat(l)||0,o=parseFloat(h)||0),R(t)&&(t=t.call(e,i,s.extend({},d))),null!=t.top&&(w.top=t.top-d.top+c),null!=t.left&&(w.left=t.left-d.left+o),"using"in t?t.using.call(e,w):_.css(w)}},s.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(o){s.offset.setOffset(this,e,o)});var t,i,r=this[0];return r?r.getClientRects().length?{top:(t=r.getBoundingClientRect()).top+(i=r.ownerDocument.defaultView).pageYOffset,left:t.left+i.pageXOffset}:{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,i,r=this[0],o={top:0,left:0};if("fixed"===s.css(r,"position"))t=r.getBoundingClientRect();else{for(t=this.offset(),i=r.ownerDocument,e=r.offsetParent||i.documentElement;e&&(e===i.body||e===i.documentElement)&&"static"===s.css(e,"position");)e=e.parentNode;e&&e!==r&&1===e.nodeType&&((o=s(e).offset()).top+=s.css(e,"borderTopWidth",!0),o.left+=s.css(e,"borderLeftWidth",!0))}return{top:t.top-o.top-s.css(r,"marginTop",!0),left:t.left-o.left-s.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===s.css(e,"position");)e=e.offsetParent;return e||Ne})}}),s.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var i="pageYOffset"===t;s.fn[e]=function(r){return ze(this,function(o,l,c){var d;if(xt(o)?d=o:9===o.nodeType&&(d=o.defaultView),void 0===c)return d?d[t]:o[l];d?d.scrollTo(i?d.pageXOffset:c,i?c:d.pageYOffset):o[l]=c},e,r,arguments.length)}}),s.each(["top","left"],function(e,t){s.cssHooks[t]=Mn(B.pixelPosition,function(i,r){if(r)return r=Yt(i,t),In.test(r)?s(i).position()[t]+"px":r})}),s.each({Height:"height",Width:"width"},function(e,t){s.each({padding:"inner"+e,content:t,"":"outer"+e},function(i,r){s.fn[r]=function(o,l){var c=arguments.length&&(i||"boolean"!=typeof o),d=i||(!0===o||!0===l?"margin":"border");return ze(this,function(h,m,_){var w;return xt(h)?0===r.indexOf("outer")?h["inner"+e]:h.document.documentElement["client"+e]:9===h.nodeType?(w=h.documentElement,Math.max(h.body["scroll"+e],w["scroll"+e],h.body["offset"+e],w["offset"+e],w["client"+e])):void 0===_?s.css(h,m,d):s.style(h,m,_,d)},t,c?o:void 0,c)}})}),s.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){s.fn[t]=function(i){return this.on(t,i)}}),s.fn.extend({bind:function(e,t,i){return this.on(e,null,t,i)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,i,r){return this.on(t,e,i,r)},undelegate:function(e,t,i){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",i)},hover:function(e,t){return this.on("mouseenter",e).on("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,t){s.fn[t]=function(i,r){return 0"u"&&(H.jQuery=H.$=s),s}),function(H,tt){"object"==typeof exports&&typeof module<"u"?module.exports=tt(require("@popperjs/core")):"function"==typeof define&&define.amd?define(["@popperjs/core"],tt):(H=typeof globalThis<"u"?globalThis:H||self).bootstrap=tt(H.Popper)}(this,function(H){"use strict";const ae=function tt(f){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(f)for(const a in f)if("default"!==a){const p=Object.getOwnPropertyDescriptor(f,a);Object.defineProperty(n,a,p.get?p:{enumerable:!0,get:()=>f[a]})}return n.default=f,Object.freeze(n)}(H),nt=new Map,fe={set(f,n,a){nt.has(f)||nt.set(f,new Map);const p=nt.get(f);p.has(n)||0===p.size?p.set(n,a):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(p.keys())[0]}.`)},get:(f,n)=>nt.has(f)&&nt.get(f).get(n)||null,remove(f,n){if(!nt.has(f))return;const a=nt.get(f);a.delete(n),0===a.size&&nt.delete(f)}},nn="transitionend",qt=f=>(f&&window.CSS&&window.CSS.escape&&(f=f.replace(/#([^\s"#']+)/g,(n,a)=>`#${CSS.escape(a)}`)),f),Re=f=>{f.dispatchEvent(new Event(nn))},ke=f=>!(!f||"object"!=typeof f)&&(void 0!==f.jquery&&(f=f[0]),void 0!==f.nodeType),it=f=>ke(f)?f.jquery?f[0]:f:"string"==typeof f&&f.length>0?document.querySelector(qt(f)):null,We=f=>{if(!ke(f)||0===f.getClientRects().length)return!1;const n="visible"===getComputedStyle(f).getPropertyValue("visibility"),a=f.closest("details:not([open])");if(!a)return n;if(a!==f){const p=f.closest("summary");if(p&&p.parentNode!==a||null===p)return!1}return n},rt=f=>!f||f.nodeType!==Node.ELEMENT_NODE||!!f.classList.contains("disabled")||(void 0!==f.disabled?f.disabled:f.hasAttribute("disabled")&&"false"!==f.getAttribute("disabled")),ii=f=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof f.getRootNode){const n=f.getRootNode();return n instanceof ShadowRoot?n:null}return f instanceof ShadowRoot?f:f.parentNode?ii(f.parentNode):null},B=()=>{},xt=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,W=[],Se=()=>"rtl"===document.documentElement.dir,Te=f=>{var n;n=()=>{const a=xt();if(a){const p=f.NAME,C=a.fn[p];a.fn[p]=f.jQueryInterface,a.fn[p].Constructor=f,a.fn[p].noConflict=()=>(a.fn[p]=C,f.jQueryInterface)}},"loading"===document.readyState?(W.length||document.addEventListener("DOMContentLoaded",()=>{for(const a of W)a()}),W.push(n)):n()},le=(f,n=[],a=f)=>"function"==typeof f?f(...n):a,xn=(f,n,a=!0)=>{if(!a)return void le(f);const p=(N=>{if(!N)return 0;let{transitionDuration:Q,transitionDelay:oe}=window.getComputedStyle(N);const Pe=Number.parseFloat(Q),Fe=Number.parseFloat(oe);return Pe||Fe?(Q=Q.split(",")[0],oe=oe.split(",")[0],1e3*(Number.parseFloat(Q)+Number.parseFloat(oe))):0})(n)+5;let C=!1;const A=({target:N})=>{N===n&&(C=!0,n.removeEventListener(nn,A),le(f))};n.addEventListener(nn,A),setTimeout(()=>{C||Re(n)},p)},Tn=(f,n,a,p)=>{const C=f.length;let A=f.indexOf(n);return-1===A?!a&&p?f[C-1]:f[0]:(A+=a?1:-1,p&&(A=(A+C)%C),f[Math.max(0,Math.min(A,C-1))])},s=/[^.]*(?=\..*)\.|.*/,Cn=/\..*/,J=/::\d+$/,En={};let ri=1;const si={mouseenter:"mouseover",mouseleave:"mouseout"},K=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 Dt(f,n){return n&&`${n}::${ri++}`||f.uidEvent||ri++}function oi(f){const n=Dt(f);return f.uidEvent=n,En[n]=En[n]||{},En[n]}function ai(f,n,a=null){return Object.values(f).find(p=>p.callable===n&&p.delegationSelector===a)}function Be(f,n,a){const p="string"==typeof n,C=p?a:n||a;let A=An(f);return K.has(A)||(A=f),[p,C,A]}function rn(f,n,a,p,C){if("string"!=typeof n||!f)return;let[A,N,Q]=Be(n,a,p);var en;n in si&&(en=N,N=function(pt){if(!pt.relatedTarget||pt.relatedTarget!==pt.delegateTarget&&!pt.delegateTarget.contains(pt.relatedTarget))return en.call(this,pt)});const oe=oi(f),Pe=oe[Q]||(oe[Q]={}),Fe=ai(Pe,N,A?a:null);if(Fe)return void(Fe.oneOff=Fe.oneOff&&C);const ft=Dt(N,n.replace(s,"")),kt=A?function(St,en,pt){return function ni(Ii){const Ji=St.querySelectorAll(en);for(let{target:tn}=Ii;tn&&tn!==this;tn=tn.parentNode)for(const Zi of Ji)if(Zi===tn)return Ft(Ii,{delegateTarget:tn}),ni.oneOff&&E.off(St,Ii.type,en,pt),pt.apply(tn,[Ii])}}(f,a,N):function(St,en){return function pt(ni){return Ft(ni,{delegateTarget:St}),pt.oneOff&&E.off(St,ni.type,en),en.apply(St,[ni])}}(f,N);kt.delegationSelector=A?a:null,kt.callable=N,kt.oneOff=C,kt.uidEvent=ft,Pe[ft]=kt,f.addEventListener(Q,kt,A)}function gt(f,n,a,p,C){const A=ai(n[a],p,C);A&&(f.removeEventListener(a,A,!!C),delete n[a][A.uidEvent])}function li(f,n,a,p){const C=n[a]||{};for(const[A,N]of Object.entries(C))A.includes(p)&>(f,n,a,N.callable,N.delegationSelector)}function An(f){return f=f.replace(Cn,""),si[f]||f}const E={on(f,n,a,p){rn(f,n,a,p,!1)},one(f,n,a,p){rn(f,n,a,p,!0)},off(f,n,a,p){if("string"!=typeof n||!f)return;const[C,A,N]=Be(n,a,p),Q=N!==n,oe=oi(f),Pe=oe[N]||{},Fe=n.startsWith(".");if(void 0===A){if(Fe)for(const ft of Object.keys(oe))li(f,oe,ft,n.slice(1));for(const[ft,kt]of Object.entries(Pe)){const St=ft.replace(J,"");Q&&!n.includes(St)||gt(f,oe,N,kt.callable,kt.delegationSelector)}}else{if(!Object.keys(Pe).length)return;gt(f,oe,N,A,C?a:null)}},trigger(f,n,a){if("string"!=typeof n||!f)return null;const p=xt();let C=null,A=!0,N=!0,Q=!1;n!==An(n)&&p&&(C=p.Event(n,a),p(f).trigger(C),A=!C.isPropagationStopped(),N=!C.isImmediatePropagationStopped(),Q=C.isDefaultPrevented());const oe=Ft(new Event(n,{bubbles:A,cancelable:!0}),a);return Q&&oe.preventDefault(),N&&f.dispatchEvent(oe),oe.defaultPrevented&&C&&C.preventDefault(),oe}};function Ft(f,n={}){for(const[a,p]of Object.entries(n))try{f[a]=p}catch{Object.defineProperty(f,a,{configurable:!0,get:()=>p})}return f}function kn(f){if("true"===f)return!0;if("false"===f)return!1;if(f===Number(f).toString())return Number(f);if(""===f||"null"===f)return null;if("string"!=typeof f)return f;try{return JSON.parse(decodeURIComponent(f))}catch{return f}}function Sn(f){return f.replace(/[A-Z]/g,n=>`-${n.toLowerCase()}`)}const st={setDataAttribute(f,n,a){f.setAttribute(`data-bs-${Sn(n)}`,a)},removeDataAttribute(f,n){f.removeAttribute(`data-bs-${Sn(n)}`)},getDataAttributes(f){if(!f)return{};const n={},a=Object.keys(f.dataset).filter(p=>p.startsWith("bs")&&!p.startsWith("bsConfig"));for(const p of a){let C=p.replace(/^bs/,"");C=C.charAt(0).toLowerCase()+C.slice(1,C.length),n[C]=kn(f.dataset[p])}return n},getDataAttribute:(f,n)=>kn(f.getAttribute(`data-bs-${Sn(n)}`))};class Rt{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(n){return n=this._mergeConfigObj(n),n=this._configAfterMerge(n),this._typeCheckConfig(n),n}_configAfterMerge(n){return n}_mergeConfigObj(n,a){const p=ke(a)?st.getDataAttribute(a,"config"):{};return{...this.constructor.Default,..."object"==typeof p?p:{},...ke(a)?st.getDataAttributes(a):{},..."object"==typeof n?n:{}}}_typeCheckConfig(n,a=this.constructor.DefaultType){for(const[C,A]of Object.entries(a)){const N=n[C],Q=ke(N)?"element":null==(p=N)?`${p}`:Object.prototype.toString.call(p).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(A).test(Q))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${C}" provided type "${Q}" but expected type "${A}".`)}var p}}class De extends Rt{constructor(n,a){super(),(n=it(n))&&(this._element=n,this._config=this._getConfig(a),fe.set(this._element,this.constructor.DATA_KEY,this))}dispose(){fe.remove(this._element,this.constructor.DATA_KEY),E.off(this._element,this.constructor.EVENT_KEY);for(const n of Object.getOwnPropertyNames(this))this[n]=null}_queueCallback(n,a,p=!0){xn(n,a,p)}_getConfig(n){return n=this._mergeConfigObj(n,this._element),n=this._configAfterMerge(n),this._typeCheckConfig(n),n}static getInstance(n){return fe.get(it(n),this.DATA_KEY)}static getOrCreateInstance(n,a={}){return this.getInstance(n)||new this(n,"object"==typeof a?a:null)}static get VERSION(){return"5.3.3"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(n){return`${n}${this.EVENT_KEY}`}}const Le=f=>{let n=f.getAttribute("data-bs-target");if(!n||"#"===n){let a=f.getAttribute("href");if(!a||!a.includes("#")&&!a.startsWith("."))return null;a.includes("#")&&!a.startsWith("#")&&(a=`#${a.split("#")[1]}`),n=a&&"#"!==a?a.trim():null}return n?n.split(",").map(a=>qt(a)).join(","):null},j={find:(f,n=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(n,f)),findOne:(f,n=document.documentElement)=>Element.prototype.querySelector.call(n,f),children:(f,n)=>[].concat(...f.children).filter(a=>a.matches(n)),parents(f,n){const a=[];let p=f.parentNode.closest(n);for(;p;)a.push(p),p=p.parentNode.closest(n);return a},prev(f,n){let a=f.previousElementSibling;for(;a;){if(a.matches(n))return[a];a=a.previousElementSibling}return[]},next(f,n){let a=f.nextElementSibling;for(;a;){if(a.matches(n))return[a];a=a.nextElementSibling}return[]},focusableChildren(f){const n=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(a=>`${a}:not([tabindex^="-"])`).join(",");return this.find(n,f).filter(a=>!rt(a)&&We(a))},getSelectorFromElement(f){const n=Le(f);return n&&j.findOne(n)?n:null},getElementFromSelector(f){const n=Le(f);return n?j.findOne(n):null},getMultipleElementsFromSelector(f){const n=Le(f);return n?j.find(n):[]}},Tt=(f,n="hide")=>{const p=f.NAME;E.on(document,`click.dismiss${f.EVENT_KEY}`,`[data-bs-dismiss="${p}"]`,function(C){if(["A","AREA"].includes(this.tagName)&&C.preventDefault(),rt(this))return;const A=j.getElementFromSelector(this)||this.closest(`.${p}`);f.getOrCreateInstance(A)[n]()})},Dn=".bs.alert",Pi=`close${Dn}`,Ln=`closed${Dn}`;class mt extends De{static get NAME(){return"alert"}close(){if(E.trigger(this._element,Pi).defaultPrevented)return;this._element.classList.remove("show");const n=this._element.classList.contains("fade");this._queueCallback(()=>this._destroyElement(),this._element,n)}_destroyElement(){this._element.remove(),E.trigger(this._element,Ln),this.dispose()}static jQueryInterface(n){return this.each(function(){const a=mt.getOrCreateInstance(this);if("string"==typeof n){if(void 0===a[n]||n.startsWith("_")||"constructor"===n)throw new TypeError(`No method named "${n}"`);a[n](this)}})}}Tt(mt,"close"),Te(mt);const ze='[data-bs-toggle="button"]';class Wt extends De{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(n){return this.each(function(){const a=Wt.getOrCreateInstance(this);"toggle"===n&&a[n]()})}}E.on(document,"click.bs.button.data-api",ze,f=>{f.preventDefault();const n=f.target.closest(ze);Wt.getOrCreateInstance(n).toggle()}),Te(Wt);const Lt=".bs.swipe",Mi=`touchstart${Lt}`,Xe=`touchmove${Lt}`,Bt=`touchend${Lt}`,zt=`pointerdown${Lt}`,I=`pointerup${Lt}`,ve={endCallback:null,leftCallback:null,rightCallback:null},Hi={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class sn extends Rt{constructor(n,a){super(),this._element=n,n&&sn.isSupported()&&(this._config=this._getConfig(a),this._deltaX=0,this._supportPointerEvents=!!window.PointerEvent,this._initEvents())}static get Default(){return ve}static get DefaultType(){return Hi}static get NAME(){return"swipe"}dispose(){E.off(this._element,Lt)}_start(n){this._supportPointerEvents?this._eventIsPointerPenTouch(n)&&(this._deltaX=n.clientX):this._deltaX=n.touches[0].clientX}_end(n){this._eventIsPointerPenTouch(n)&&(this._deltaX=n.clientX-this._deltaX),this._handleSwipe(),le(this._config.endCallback)}_move(n){this._deltaX=n.touches&&n.touches.length>1?0:n.touches[0].clientX-this._deltaX}_handleSwipe(){const n=Math.abs(this._deltaX);if(n<=40)return;const a=n/this._deltaX;this._deltaX=0,a&&le(a>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(E.on(this._element,zt,n=>this._start(n)),E.on(this._element,I,n=>this._end(n)),this._element.classList.add("pointer-event")):(E.on(this._element,Mi,n=>this._start(n)),E.on(this._element,Xe,n=>this._move(n)),E.on(this._element,Bt,n=>this._end(n)))}_eventIsPointerPenTouch(n){return this._supportPointerEvents&&("pen"===n.pointerType||"touch"===n.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const ot=".bs.carousel",Nn=".data-api",at="next",ye="prev",Ne="left",lt="right",qi=`slide${ot}`,Nt=`slid${ot}`,ci=`keydown${ot}`,ui=`mouseenter${ot}`,jt=`mouseleave${ot}`,Ct=`dragstart${ot}`,on=`load${ot}${Nn}`,Xt=`click${ot}${Nn}`,jn="carousel",Ut="active",Ce=".active",pe=".carousel-item",On=Ce+pe,Fi={ArrowLeft:lt,ArrowRight:Ne},hi={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},di={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class Me extends De{constructor(n,a){super(n,a),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=j.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===jn&&this.cycle()}static get Default(){return hi}static get DefaultType(){return di}static get NAME(){return"carousel"}next(){this._slide(at)}nextWhenVisible(){!document.hidden&&We(this._element)&&this.next()}prev(){this._slide(ye)}pause(){this._isSliding&&Re(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?E.one(this._element,Nt,()=>this.cycle()):this.cycle())}to(n){const a=this._getItems();if(n>a.length-1||n<0)return;if(this._isSliding)return void E.one(this._element,Nt,()=>this.to(n));const p=this._getItemIndex(this._getActive());p!==n&&this._slide(n>p?at:ye,a[n])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(n){return n.defaultInterval=n.interval,n}_addEventListeners(){this._config.keyboard&&E.on(this._element,ci,n=>this._keydown(n)),"hover"===this._config.pause&&(E.on(this._element,ui,()=>this.pause()),E.on(this._element,jt,()=>this._maybeEnableCycle())),this._config.touch&&sn.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const a of j.find(".carousel-item img",this._element))E.on(a,Ct,p=>p.preventDefault());this._swipeHelper=new sn(this._element,{leftCallback:()=>this._slide(this._directionToOrder(Ne)),rightCallback:()=>this._slide(this._directionToOrder(lt)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),500+this._config.interval))}})}_keydown(n){if(/input|textarea/i.test(n.target.tagName))return;const a=Fi[n.key];a&&(n.preventDefault(),this._slide(this._directionToOrder(a)))}_getItemIndex(n){return this._getItems().indexOf(n)}_setActiveIndicatorElement(n){if(!this._indicatorsElement)return;const a=j.findOne(Ce,this._indicatorsElement);a.classList.remove(Ut),a.removeAttribute("aria-current");const p=j.findOne(`[data-bs-slide-to="${n}"]`,this._indicatorsElement);p&&(p.classList.add(Ut),p.setAttribute("aria-current","true"))}_updateInterval(){const n=this._activeElement||this._getActive();if(!n)return;const a=Number.parseInt(n.getAttribute("data-bs-interval"),10);this._config.interval=a||this._config.defaultInterval}_slide(n,a=null){if(this._isSliding)return;const p=this._getActive(),C=n===at,A=a||Tn(this._getItems(),p,C,this._config.wrap);if(A===p)return;const N=this._getItemIndex(A),Q=ft=>E.trigger(this._element,ft,{relatedTarget:A,direction:this._orderToDirection(n),from:this._getItemIndex(p),to:N});if(Q(qi).defaultPrevented||!p||!A)return;const oe=!!this._interval;this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(N),this._activeElement=A;const Pe=C?"carousel-item-start":"carousel-item-end",Fe=C?"carousel-item-next":"carousel-item-prev";A.classList.add(Fe),p.classList.add(Pe),A.classList.add(Pe),this._queueCallback(()=>{A.classList.remove(Pe,Fe),A.classList.add(Ut),p.classList.remove(Ut,Fe,Pe),this._isSliding=!1,Q(Nt)},p,this._isAnimated()),oe&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return j.findOne(On,this._element)}_getItems(){return j.find(pe,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(n){return Se()?n===Ne?ye:at:n===Ne?at:ye}_orderToDirection(n){return Se()?n===ye?Ne:lt:n===ye?lt:Ne}static jQueryInterface(n){return this.each(function(){const a=Me.getOrCreateInstance(this,n);if("number"!=typeof n){if("string"==typeof n){if(void 0===a[n]||n.startsWith("_")||"constructor"===n)throw new TypeError(`No method named "${n}"`);a[n]()}}else a.to(n)})}}E.on(document,Xt,"[data-bs-slide], [data-bs-slide-to]",function(f){const n=j.getElementFromSelector(this);if(!n||!n.classList.contains(jn))return;f.preventDefault();const a=Me.getOrCreateInstance(n),p=this.getAttribute("data-bs-slide-to");return p?(a.to(p),void a._maybeEnableCycle()):"next"===st.getDataAttribute(this,"slide")?(a.next(),void a._maybeEnableCycle()):(a.prev(),void a._maybeEnableCycle())}),E.on(window,on,()=>{const f=j.find('[data-bs-ride="carousel"]');for(const n of f)Me.getOrCreateInstance(n)}),Te(Me);const Ue=".bs.collapse",$n=`show${Ue}`,an=`shown${Ue}`,Ri=`hide${Ue}`,Wi=`hidden${Ue}`,Bi=`click${Ue}.data-api`,ln="show",Ot="collapse",cn="collapsing",fi=`:scope .${Ot} .${Ot}`,vt='[data-bs-toggle="collapse"]',pi={parent:null,toggle:!0},In={parent:"(null|element)",toggle:"boolean"};class yt extends De{constructor(n,a){super(n,a),this._isTransitioning=!1,this._triggerArray=[];const p=j.find(vt);for(const C of p){const A=j.getSelectorFromElement(C),N=j.find(A).filter(Q=>Q===this._element);null!==A&&N.length&&this._triggerArray.push(C)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return pi}static get DefaultType(){return In}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let n=[];if(this._config.parent&&(n=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter(C=>C!==this._element).map(C=>yt.getOrCreateInstance(C,{toggle:!1}))),n.length&&n[0]._isTransitioning||E.trigger(this._element,$n).defaultPrevented)return;for(const C of n)C.hide();const a=this._getDimension();this._element.classList.remove(Ot),this._element.classList.add(cn),this._element.style[a]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const p=`scroll${a[0].toUpperCase()+a.slice(1)}`;this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove(cn),this._element.classList.add(Ot,ln),this._element.style[a]="",E.trigger(this._element,an)},this._element,!0),this._element.style[a]=`${this._element[p]}px`}hide(){if(this._isTransitioning||!this._isShown()||E.trigger(this._element,Ri).defaultPrevented)return;const n=this._getDimension();this._element.style[n]=`${this._element.getBoundingClientRect()[n]}px`,this._element.classList.add(cn),this._element.classList.remove(Ot,ln);for(const a of this._triggerArray){const p=j.getElementFromSelector(a);p&&!this._isShown(p)&&this._addAriaAndCollapsedClass([a],!1)}this._isTransitioning=!0,this._element.style[n]="",this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove(cn),this._element.classList.add(Ot),E.trigger(this._element,Wi)},this._element,!0)}_isShown(n=this._element){return n.classList.contains(ln)}_configAfterMerge(n){return n.toggle=!!n.toggle,n.parent=it(n.parent),n}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const n=this._getFirstLevelChildren(vt);for(const a of n){const p=j.getElementFromSelector(a);p&&this._addAriaAndCollapsedClass([a],this._isShown(p))}}_getFirstLevelChildren(n){const a=j.find(fi,this._config.parent);return j.find(n,this._config.parent).filter(p=>!a.includes(p))}_addAriaAndCollapsedClass(n,a){if(n.length)for(const p of n)p.classList.toggle("collapsed",!a),p.setAttribute("aria-expanded",a)}static jQueryInterface(n){const a={};return"string"==typeof n&&/show|hide/.test(n)&&(a.toggle=!1),this.each(function(){const p=yt.getOrCreateInstance(this,a);if("string"==typeof n){if(void 0===p[n])throw new TypeError(`No method named "${n}"`);p[n]()}})}}E.on(document,Bi,vt,function(f){("A"===f.target.tagName||f.delegateTarget&&"A"===f.delegateTarget.tagName)&&f.preventDefault();for(const n of j.getMultipleElementsFromSelector(this))yt.getOrCreateInstance(n,{toggle:!1}).toggle()}),Te(yt);const Vt="dropdown",_t=".bs.dropdown",Pn=".data-api",Yt="ArrowUp",Mn="ArrowDown",gi=`hide${_t}`,mi=`hidden${_t}`,vi=`show${_t}`,Hn=`shown${_t}`,yi=`click${_t}${Pn}`,_i=`keydown${_t}${Pn}`,bi=`keyup${_t}${Pn}`,Et="show",ct='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',wi=`${ct}.${Et}`,_e=".dropdown-menu",$t=Se()?"top-end":"top-start",un=Se()?"top-start":"top-end",It=Se()?"bottom-end":"bottom-start",xi=Se()?"bottom-start":"bottom-end",zi=Se()?"left-start":"right-start",Xi=Se()?"right-start":"left-start",qn={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},Ti={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class be extends De{constructor(n,a){super(n,a),this._popper=null,this._parent=this._element.parentNode,this._menu=j.next(this._element,_e)[0]||j.prev(this._element,_e)[0]||j.findOne(_e,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return qn}static get DefaultType(){return Ti}static get NAME(){return Vt}toggle(){return this._isShown()?this.hide():this.show()}show(){if(rt(this._element)||this._isShown())return;const n={relatedTarget:this._element};if(!E.trigger(this._element,vi,n).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const a of[].concat(...document.body.children))E.on(a,"mouseover",B);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(Et),this._element.classList.add(Et),E.trigger(this._element,Hn,n)}}hide(){!rt(this._element)&&this._isShown()&&this._completeHide({relatedTarget:this._element})}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(n){if(!E.trigger(this._element,gi,n).defaultPrevented){if("ontouchstart"in document.documentElement)for(const a of[].concat(...document.body.children))E.off(a,"mouseover",B);this._popper&&this._popper.destroy(),this._menu.classList.remove(Et),this._element.classList.remove(Et),this._element.setAttribute("aria-expanded","false"),st.removeDataAttribute(this._menu,"popper"),E.trigger(this._element,mi,n)}}_getConfig(n){if("object"==typeof(n=super._getConfig(n)).reference&&!ke(n.reference)&&"function"!=typeof n.reference.getBoundingClientRect)throw new TypeError(`${Vt.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return n}_createPopper(){if(void 0===ae)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let n=this._element;"parent"===this._config.reference?n=this._parent:ke(this._config.reference)?n=it(this._config.reference):"object"==typeof this._config.reference&&(n=this._config.reference);const a=this._getPopperConfig();this._popper=ae.createPopper(n,this._menu,a)}_isShown(){return this._menu.classList.contains(Et)}_getPlacement(){const n=this._parent;if(n.classList.contains("dropend"))return zi;if(n.classList.contains("dropstart"))return Xi;if(n.classList.contains("dropup-center"))return"top";if(n.classList.contains("dropdown-center"))return"bottom";const a="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return n.classList.contains("dropup")?a?un:$t:a?xi:It}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:n}=this._config;return"string"==typeof n?n.split(",").map(a=>Number.parseInt(a,10)):"function"==typeof n?a=>n(a,this._element):n}_getPopperConfig(){const n={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(st.setDataAttribute(this._menu,"popper","static"),n.modifiers=[{name:"applyStyles",enabled:!1}]),{...n,...le(this._config.popperConfig,[n])}}_selectMenuItem({key:n,target:a}){const p=j.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter(C=>We(C));p.length&&Tn(p,a,n===Mn,!p.includes(a)).focus()}static jQueryInterface(n){return this.each(function(){const a=be.getOrCreateInstance(this,n);if("string"==typeof n){if(void 0===a[n])throw new TypeError(`No method named "${n}"`);a[n]()}})}static clearMenus(n){if(2===n.button||"keyup"===n.type&&"Tab"!==n.key)return;const a=j.find(wi);for(const p of a){const C=be.getInstance(p);if(!C||!1===C._config.autoClose)continue;const A=n.composedPath(),N=A.includes(C._menu);if(A.includes(C._element)||"inside"===C._config.autoClose&&!N||"outside"===C._config.autoClose&&N||C._menu.contains(n.target)&&("keyup"===n.type&&"Tab"===n.key||/input|select|option|textarea|form/i.test(n.target.tagName)))continue;const Q={relatedTarget:C._element};"click"===n.type&&(Q.clickEvent=n),C._completeHide(Q)}}static dataApiKeydownHandler(n){const a=/input|textarea/i.test(n.target.tagName),p="Escape"===n.key,C=[Yt,Mn].includes(n.key);if(!C&&!p||a&&!p)return;n.preventDefault();const A=this.matches(ct)?this:j.prev(this,ct)[0]||j.next(this,ct)[0]||j.findOne(ct,n.delegateTarget.parentNode),N=be.getOrCreateInstance(A);if(C)return n.stopPropagation(),N.show(),void N._selectMenuItem(n);N._isShown()&&(n.stopPropagation(),N.hide(),A.focus())}}E.on(document,_i,ct,be.dataApiKeydownHandler),E.on(document,_i,_e,be.dataApiKeydownHandler),E.on(document,yi,be.clearMenus),E.on(document,bi,be.clearMenus),E.on(document,yi,ct,function(f){f.preventDefault(),be.getOrCreateInstance(this).toggle()}),Te(be);const Fn="backdrop",Rn=`mousedown.bs.${Fn}`,Qt={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Ui={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Ci extends Rt{constructor(n){super(),this._config=this._getConfig(n),this._isAppended=!1,this._element=null}static get Default(){return Qt}static get DefaultType(){return Ui}static get NAME(){return Fn}show(n){if(!this._config.isVisible)return void le(n);this._append();this._getElement().classList.add("show"),this._emulateAnimation(()=>{le(n)})}hide(n){this._config.isVisible?(this._getElement().classList.remove("show"),this._emulateAnimation(()=>{this.dispose(),le(n)})):le(n)}dispose(){this._isAppended&&(E.off(this._element,Rn),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const n=document.createElement("div");n.className=this._config.className,this._config.isAnimated&&n.classList.add("fade"),this._element=n}return this._element}_configAfterMerge(n){return n.rootElement=it(n.rootElement),n}_append(){if(this._isAppended)return;const n=this._getElement();this._config.rootElement.append(n),E.on(n,Rn,()=>{le(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(n){xn(n,this._getElement(),this._config.isAnimated)}}const Ve=".bs.focustrap",At=`focusin${Ve}`,Wn=`keydown.tab${Ve}`,Ei="backward",Kt={autofocus:!0,trapElement:null},Ai={autofocus:"boolean",trapElement:"element"};class hn extends Rt{constructor(n){super(),this._config=this._getConfig(n),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return Kt}static get DefaultType(){return Ai}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),E.off(document,Ve),E.on(document,At,n=>this._handleFocusin(n)),E.on(document,Wn,n=>this._handleKeydown(n)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,E.off(document,Ve))}_handleFocusin(n){const{trapElement:a}=this._config;if(n.target===document||n.target===a||a.contains(n.target))return;const p=j.focusableChildren(a);0===p.length?a.focus():this._lastTabNavDirection===Ei?p[p.length-1].focus():p[0].focus()}_handleKeydown(n){"Tab"===n.key&&(this._lastTabNavDirection=n.shiftKey?Ei:"forward")}}const Bn=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",zn=".sticky-top",dn="padding-right",Xn="margin-right";class Un{constructor(){this._element=document.body}getWidth(){const n=document.documentElement.clientWidth;return Math.abs(window.innerWidth-n)}hide(){const n=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,dn,a=>a+n),this._setElementAttributes(Bn,dn,a=>a+n),this._setElementAttributes(zn,Xn,a=>a-n)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,dn),this._resetElementAttributes(Bn,dn),this._resetElementAttributes(zn,Xn)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(n,a,p){const C=this.getWidth();this._applyManipulationCallback(n,A=>{if(A!==this._element&&window.innerWidth>A.clientWidth+C)return;this._saveInitialAttribute(A,a);const N=window.getComputedStyle(A).getPropertyValue(a);A.style.setProperty(a,`${p(Number.parseFloat(N))}px`)})}_saveInitialAttribute(n,a){const p=n.style.getPropertyValue(a);p&&st.setDataAttribute(n,a,p)}_resetElementAttributes(n,a){this._applyManipulationCallback(n,p=>{const C=st.getDataAttribute(p,a);null!==C?(st.removeDataAttribute(p,a),p.style.setProperty(a,C)):p.style.removeProperty(a)})}_applyManipulationCallback(n,a){if(ke(n))a(n);else for(const p of j.find(n,this._element))a(p)}}const Oe=".bs.modal",Vn=`hide${Oe}`,Vi=`hidePrevented${Oe}`,ki=`hidden${Oe}`,Si=`show${Oe}`,Yi=`shown${Oe}`,Qi=`resize${Oe}`,Ki=`click.dismiss${Oe}`,Di=`mousedown.dismiss${Oe}`,Yn=`keydown.dismiss${Oe}`,Li=`click${Oe}.data-api`,fn="modal-open",pn="modal-static",Kn={backdrop:!0,focus:!0,keyboard:!0},Gi={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class He extends De{constructor(n,a){super(n,a),this._dialog=j.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new Un,this._addEventListeners()}static get Default(){return Kn}static get DefaultType(){return Gi}static get NAME(){return"modal"}toggle(n){return this._isShown?this.hide():this.show(n)}show(n){this._isShown||this._isTransitioning||E.trigger(this._element,Si,{relatedTarget:n}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(fn),this._adjustDialog(),this._backdrop.show(()=>this._showElement(n)))}hide(){this._isShown&&!this._isTransitioning&&(E.trigger(this._element,Vn).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove("show"),this._queueCallback(()=>this._hideModal(),this._element,this._isAnimated())))}dispose(){E.off(window,Oe),E.off(this._dialog,Oe),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Ci({isVisible:!!this._config.backdrop,isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new hn({trapElement:this._element})}_showElement(n){document.body.contains(this._element)||document.body.append(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;const a=j.findOne(".modal-body",this._dialog);a&&(a.scrollTop=0),this._element.classList.add("show"),this._queueCallback(()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,E.trigger(this._element,Yi,{relatedTarget:n})},this._dialog,this._isAnimated())}_addEventListeners(){E.on(this._element,Yn,n=>{"Escape"===n.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())}),E.on(window,Qi,()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()}),E.on(this._element,Di,n=>{E.one(this._element,Ki,a=>{this._element===n.target&&this._element===a.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())})})}_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._backdrop.hide(()=>{document.body.classList.remove(fn),this._resetAdjustments(),this._scrollBar.reset(),E.trigger(this._element,ki)})}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(E.trigger(this._element,Vi).defaultPrevented)return;const n=this._element.scrollHeight>document.documentElement.clientHeight,a=this._element.style.overflowY;"hidden"===a||this._element.classList.contains(pn)||(n||(this._element.style.overflowY="hidden"),this._element.classList.add(pn),this._queueCallback(()=>{this._element.classList.remove(pn),this._queueCallback(()=>{this._element.style.overflowY=a},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const n=this._element.scrollHeight>document.documentElement.clientHeight,a=this._scrollBar.getWidth(),p=a>0;if(p&&!n){const C=Se()?"paddingLeft":"paddingRight";this._element.style[C]=`${a}px`}if(!p&&n){const C=Se()?"paddingRight":"paddingLeft";this._element.style[C]=`${a}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(n,a){return this.each(function(){const p=He.getOrCreateInstance(this,n);if("string"==typeof n){if(void 0===p[n])throw new TypeError(`No method named "${n}"`);p[n](a)}})}}E.on(document,Li,'[data-bs-toggle="modal"]',function(f){const n=j.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&f.preventDefault(),E.one(n,Si,p=>{p.defaultPrevented||E.one(n,ki,()=>{We(this)&&this.focus()})});const a=j.findOne(".modal.show");a&&He.getInstance(a).hide(),He.getOrCreateInstance(n).toggle(this)}),Tt(He),Te(He);const Ye=".bs.offcanvas",Gn=".data-api",Jn=`load${Ye}${Gn}`,ji="showing",e=".offcanvas.show",t=`show${Ye}`,i=`shown${Ye}`,r=`hide${Ye}`,o=`hidePrevented${Ye}`,l=`hidden${Ye}`,c=`resize${Ye}`,d=`click${Ye}${Gn}`,h=`keydown.dismiss${Ye}`,m={backdrop:!0,keyboard:!0,scroll:!1},_={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class w extends De{constructor(n,a){super(n,a),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return m}static get DefaultType(){return _}static get NAME(){return"offcanvas"}toggle(n){return this._isShown?this.hide():this.show(n)}show(n){this._isShown||E.trigger(this._element,t,{relatedTarget:n}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new Un).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(ji),this._queueCallback(()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add("show"),this._element.classList.remove(ji),E.trigger(this._element,i,{relatedTarget:n})},this._element,!0))}hide(){this._isShown&&(E.trigger(this._element,r).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add("hiding"),this._backdrop.hide(),this._queueCallback(()=>{this._element.classList.remove("show","hiding"),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new Un).reset(),E.trigger(this._element,l)},this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const n=!!this._config.backdrop;return new Ci({className:"offcanvas-backdrop",isVisible:n,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:n?()=>{"static"!==this._config.backdrop?this.hide():E.trigger(this._element,o)}:null})}_initializeFocusTrap(){return new hn({trapElement:this._element})}_addEventListeners(){E.on(this._element,h,n=>{"Escape"===n.key&&(this._config.keyboard?this.hide():E.trigger(this._element,o))})}static jQueryInterface(n){return this.each(function(){const a=w.getOrCreateInstance(this,n);if("string"==typeof n){if(void 0===a[n]||n.startsWith("_")||"constructor"===n)throw new TypeError(`No method named "${n}"`);a[n](this)}})}}E.on(document,d,'[data-bs-toggle="offcanvas"]',function(f){const n=j.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&f.preventDefault(),rt(this))return;E.one(n,l,()=>{We(this)&&this.focus()});const a=j.findOne(e);a&&a!==n&&w.getInstance(a).hide(),w.getOrCreateInstance(n).toggle(this)}),E.on(window,Jn,()=>{for(const f of j.find(e))w.getOrCreateInstance(f).show()}),E.on(window,c,()=>{for(const f of j.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(f).position&&w.getOrCreateInstance(f).hide()}),Tt(w),Te(w);const v={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],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:[]},T=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),O=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,q=(f,n)=>{const a=f.nodeName.toLowerCase();return n.includes(a)?!T.has(a)||!!O.test(f.nodeValue):n.filter(p=>p instanceof RegExp).some(p=>p.test(a))},F={allowList:v,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
          "},re={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},ue={entry:"(string|element|function|null)",selector:"(string|element)"};class Qe extends Rt{constructor(n){super(),this._config=this._getConfig(n)}static get Default(){return F}static get DefaultType(){return re}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map(n=>this._resolvePossibleFunction(n)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(n){return this._checkContent(n),this._config.content={...this._config.content,...n},this}toHtml(){const n=document.createElement("div");n.innerHTML=this._maybeSanitize(this._config.template);for(const[C,A]of Object.entries(this._config.content))this._setContent(n,A,C);const a=n.children[0],p=this._resolvePossibleFunction(this._config.extraClass);return p&&a.classList.add(...p.split(" ")),a}_typeCheckConfig(n){super._typeCheckConfig(n),this._checkContent(n.content)}_checkContent(n){for(const[a,p]of Object.entries(n))super._typeCheckConfig({selector:a,entry:p},ue)}_setContent(n,a,p){const C=j.findOne(p,n);C&&((a=this._resolvePossibleFunction(a))?ke(a)?this._putElementInTemplate(it(a),C):this._config.html?C.innerHTML=this._maybeSanitize(a):C.textContent=a:C.remove())}_maybeSanitize(n){return this._config.sanitize?function(a,p,C){if(!a.length)return a;if(C&&"function"==typeof C)return C(a);const A=(new window.DOMParser).parseFromString(a,"text/html"),N=[].concat(...A.body.querySelectorAll("*"));for(const Q of N){const oe=Q.nodeName.toLowerCase();if(!Object.keys(p).includes(oe)){Q.remove();continue}const Pe=[].concat(...Q.attributes),Fe=[].concat(p["*"]||[],p[oe]||[]);for(const ft of Pe)q(ft,Fe)||Q.removeAttribute(ft.nodeName)}return A.body.innerHTML}(n,this._config.allowList,this._config.sanitizeFn):n}_resolvePossibleFunction(n){return le(n,[this])}_putElementInTemplate(n,a){if(this._config.html)return a.innerHTML="",void a.append(n);a.textContent=n.textContent}}const Ke=new Set(["sanitize","allowList","sanitizeFn"]),X="fade",Ge="show",V=".modal",ee="hide.bs.modal",ut="hover",Gt="focus",Je={AUTO:"auto",TOP:"top",RIGHT:Se()?"left":"right",BOTTOM:"bottom",LEFT:Se()?"right":"left"},Jt={allowList:v,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},ht={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class we extends De{constructor(n,a){if(void 0===ae)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(n,a),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return Jt}static get DefaultType(){return ht}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),E.off(this._element.closest(V),ee,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),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 n=E.trigger(this._element,this.constructor.eventName("show")),a=(ii(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(n.defaultPrevented||!a)return;this._disposePopper();const p=this._getTipElement();this._element.setAttribute("aria-describedby",p.getAttribute("id"));const{container:C}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(C.append(p),E.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(p),p.classList.add(Ge),"ontouchstart"in document.documentElement)for(const A of[].concat(...document.body.children))E.on(A,"mouseover",B);this._queueCallback(()=>{E.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1},this.tip,this._isAnimated())}hide(){if(this._isShown()&&!E.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(Ge),"ontouchstart"in document.documentElement)for(const n of[].concat(...document.body.children))E.off(n,"mouseover",B);this._activeTrigger.click=!1,this._activeTrigger[Gt]=!1,this._activeTrigger[ut]=!1,this._isHovered=null,this._queueCallback(()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),E.trigger(this._element,this.constructor.eventName("hidden")))},this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return!!this._getTitle()}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(n){const a=this._getTemplateFactory(n).toHtml();if(!a)return null;a.classList.remove(X,Ge),a.classList.add(`bs-${this.constructor.NAME}-auto`);const p=(C=>{do{C+=Math.floor(1e6*Math.random())}while(document.getElementById(C));return C})(this.constructor.NAME).toString();return a.setAttribute("id",p),this._isAnimated()&&a.classList.add(X),a}setContent(n){this._newContent=n,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(n){return this._templateFactory?this._templateFactory.changeContent(n):this._templateFactory=new Qe({...this._config,content:n,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(n){return this.constructor.getOrCreateInstance(n.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(X)}_isShown(){return this.tip&&this.tip.classList.contains(Ge)}_createPopper(n){const a=le(this._config.placement,[this,n,this._element]),p=Je[a.toUpperCase()];return ae.createPopper(this._element,n,this._getPopperConfig(p))}_getOffset(){const{offset:n}=this._config;return"string"==typeof n?n.split(",").map(a=>Number.parseInt(a,10)):"function"==typeof n?a=>n(a,this._element):n}_resolvePossibleFunction(n){return le(n,[this._element])}_getPopperConfig(n){const a={placement:n,modifiers:[{name:"flip",options:{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:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:p=>{this._getTipElement().setAttribute("data-popper-placement",p.state.placement)}}]};return{...a,...le(this._config.popperConfig,[a])}}_setListeners(){const n=this._config.trigger.split(" ");for(const a of n)if("click"===a)E.on(this._element,this.constructor.eventName("click"),this._config.selector,p=>{this._initializeOnDelegatedTarget(p).toggle()});else if("manual"!==a){const p=this.constructor.eventName(a===ut?"mouseenter":"focusin"),C=this.constructor.eventName(a===ut?"mouseleave":"focusout");E.on(this._element,p,this._config.selector,A=>{const N=this._initializeOnDelegatedTarget(A);N._activeTrigger["focusin"===A.type?Gt:ut]=!0,N._enter()}),E.on(this._element,C,this._config.selector,A=>{const N=this._initializeOnDelegatedTarget(A);N._activeTrigger["focusout"===A.type?Gt:ut]=N._element.contains(A.relatedTarget),N._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},E.on(this._element.closest(V),ee,this._hideModalHandler)}_fixTitle(){const n=this._element.getAttribute("title");n&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",n),this._element.setAttribute("data-bs-original-title",n),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(n,a){clearTimeout(this._timeout),this._timeout=setTimeout(n,a)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(n){const a=st.getDataAttributes(this._element);for(const p of Object.keys(a))Ke.has(p)&&delete a[p];return n={...a,..."object"==typeof n&&n?n:{}},n=this._mergeConfigObj(n),n=this._configAfterMerge(n),this._typeCheckConfig(n),n}_configAfterMerge(n){return n.container=!1===n.container?document.body:it(n.container),"number"==typeof n.delay&&(n.delay={show:n.delay,hide:n.delay}),"number"==typeof n.title&&(n.title=n.title.toString()),"number"==typeof n.content&&(n.content=n.content.toString()),n}_getDelegateConfig(){const n={};for(const[a,p]of Object.entries(this._config))this.constructor.Default[a]!==p&&(n[a]=p);return n.selector=!1,n.trigger="manual",n}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(n){return this.each(function(){const a=we.getOrCreateInstance(this,n);if("string"==typeof n){if(void 0===a[n])throw new TypeError(`No method named "${n}"`);a[n]()}})}}Te(we);const Pt={...we.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},$e={...we.DefaultType,content:"(null|string|element|function)"};class se extends we{static get Default(){return Pt}static get DefaultType(){return $e}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(n){return this.each(function(){const a=se.getOrCreateInstance(this,n);if("string"==typeof n){if(void 0===a[n])throw new TypeError(`No method named "${n}"`);a[n]()}})}}Te(se);const ne=".bs.scrollspy",ge=`activate${ne}`,dt=`click${ne}`,me=`load${ne}.data-api`,$="active",te="[href]",ie=".nav-link",Z=`${ie}, .nav-item > ${ie}, .list-group-item`,Ze={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},Mt={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class bt extends De{constructor(n,a){super(n,a),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Ze}static get DefaultType(){return Mt}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const n of this._observableSections.values())this._observer.observe(n)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(n){return n.target=it(n.target)||document.body,n.rootMargin=n.offset?`${n.offset}px 0px -30%`:n.rootMargin,"string"==typeof n.threshold&&(n.threshold=n.threshold.split(",").map(a=>Number.parseFloat(a))),n}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(E.off(this._config.target,dt),E.on(this._config.target,dt,te,n=>{const a=this._observableSections.get(n.target.hash);if(a){n.preventDefault();const p=this._rootElement||window,C=a.offsetTop-this._element.offsetTop;if(p.scrollTo)return void p.scrollTo({top:C,behavior:"smooth"});p.scrollTop=C}}))}_getNewObserver(){return new IntersectionObserver(a=>this._observerCallback(a),{root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin})}_observerCallback(n){const a=N=>this._targetLinks.get(`#${N.target.id}`),p=N=>{this._previousScrollData.visibleEntryTop=N.target.offsetTop,this._process(a(N))},C=(this._rootElement||document.documentElement).scrollTop,A=C>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=C;for(const N of n){if(!N.isIntersecting){this._activeTarget=null,this._clearActiveClass(a(N));continue}const Q=N.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(A&&Q){if(p(N),!C)return}else A||Q||p(N)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const n=j.find(te,this._config.target);for(const a of n){if(!a.hash||rt(a))continue;const p=j.findOne(decodeURI(a.hash),this._element);We(p)&&(this._targetLinks.set(decodeURI(a.hash),a),this._observableSections.set(a.hash,p))}}_process(n){this._activeTarget!==n&&(this._clearActiveClass(this._config.target),this._activeTarget=n,n.classList.add($),this._activateParents(n),E.trigger(this._element,ge,{relatedTarget:n}))}_activateParents(n){if(n.classList.contains("dropdown-item"))j.findOne(".dropdown-toggle",n.closest(".dropdown")).classList.add($);else for(const a of j.parents(n,".nav, .list-group"))for(const p of j.prev(a,Z))p.classList.add($)}_clearActiveClass(n){n.classList.remove($);const a=j.find(`${te}.${$}`,n);for(const p of a)p.classList.remove($)}static jQueryInterface(n){return this.each(function(){const a=bt.getOrCreateInstance(this,n);if("string"==typeof n){if(void 0===a[n]||n.startsWith("_")||"constructor"===n)throw new TypeError(`No method named "${n}"`);a[n]()}})}}E.on(window,me,()=>{for(const f of j.find('[data-bs-spy="scroll"]'))bt.getOrCreateInstance(f)}),Te(bt);const Ee=".bs.tab",Zn=`hide${Ee}`,wt=`hidden${Ee}`,$i=`show${Ee}`,Zt=`shown${Ee}`,gn=`click${Ee}`,mn=`keydown${Ee}`,ei=`load${Ee}`,vn="ArrowLeft",yn="ArrowRight",ti="ArrowUp",_n="ArrowDown",bn="Home",u="End",g="active",y="fade",b="show",x=".dropdown-toggle",k=`:not(${x})`,S='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',L=`.nav-link${k}, .list-group-item${k}, [role="tab"]${k}, ${S}`,D=`.${g}[data-bs-toggle="tab"], .${g}[data-bs-toggle="pill"], .${g}[data-bs-toggle="list"]`;class U extends De{constructor(n){super(n),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),E.on(this._element,mn,a=>this._keydown(a)))}static get NAME(){return"tab"}show(){const n=this._element;if(this._elemIsActive(n))return;const a=this._getActiveElem(),p=a?E.trigger(a,Zn,{relatedTarget:n}):null;E.trigger(n,$i,{relatedTarget:a}).defaultPrevented||p&&p.defaultPrevented||(this._deactivate(a,n),this._activate(n,a))}_activate(n,a){n&&(n.classList.add(g),this._activate(j.getElementFromSelector(n)),this._queueCallback(()=>{"tab"===n.getAttribute("role")?(n.removeAttribute("tabindex"),n.setAttribute("aria-selected",!0),this._toggleDropDown(n,!0),E.trigger(n,Zt,{relatedTarget:a})):n.classList.add(b)},n,n.classList.contains(y)))}_deactivate(n,a){n&&(n.classList.remove(g),n.blur(),this._deactivate(j.getElementFromSelector(n)),this._queueCallback(()=>{"tab"===n.getAttribute("role")?(n.setAttribute("aria-selected",!1),n.setAttribute("tabindex","-1"),this._toggleDropDown(n,!1),E.trigger(n,wt,{relatedTarget:a})):n.classList.remove(b)},n,n.classList.contains(y)))}_keydown(n){if(![vn,yn,ti,_n,bn,u].includes(n.key))return;n.stopPropagation(),n.preventDefault();const a=this._getChildren().filter(C=>!rt(C));let p;if([bn,u].includes(n.key))p=a[n.key===bn?0:a.length-1];else{const C=[yn,_n].includes(n.key);p=Tn(a,n.target,C,!0)}p&&(p.focus({preventScroll:!0}),U.getOrCreateInstance(p).show())}_getChildren(){return j.find(L,this._parent)}_getActiveElem(){return this._getChildren().find(n=>this._elemIsActive(n))||null}_setInitialAttributes(n,a){this._setAttributeIfNotExists(n,"role","tablist");for(const p of a)this._setInitialAttributesOnChild(p)}_setInitialAttributesOnChild(n){n=this._getInnerElement(n);const a=this._elemIsActive(n),p=this._getOuterElement(n);n.setAttribute("aria-selected",a),p!==n&&this._setAttributeIfNotExists(p,"role","presentation"),a||n.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(n,"role","tab"),this._setInitialAttributesOnTargetPanel(n)}_setInitialAttributesOnTargetPanel(n){const a=j.getElementFromSelector(n);a&&(this._setAttributeIfNotExists(a,"role","tabpanel"),n.id&&this._setAttributeIfNotExists(a,"aria-labelledby",`${n.id}`))}_toggleDropDown(n,a){const p=this._getOuterElement(n);if(!p.classList.contains("dropdown"))return;const C=(A,N)=>{const Q=j.findOne(A,p);Q&&Q.classList.toggle(N,a)};C(x,g),C(".dropdown-menu",b),p.setAttribute("aria-expanded",a)}_setAttributeIfNotExists(n,a,p){n.hasAttribute(a)||n.setAttribute(a,p)}_elemIsActive(n){return n.classList.contains(g)}_getInnerElement(n){return n.matches(L)?n:j.findOne(L,n)}_getOuterElement(n){return n.closest(".nav-item, .list-group-item")||n}static jQueryInterface(n){return this.each(function(){const a=U.getOrCreateInstance(this);if("string"==typeof n){if(void 0===a[n]||n.startsWith("_")||"constructor"===n)throw new TypeError(`No method named "${n}"`);a[n]()}})}}E.on(document,gn,S,function(f){["A","AREA"].includes(this.tagName)&&f.preventDefault(),rt(this)||U.getOrCreateInstance(this).show()}),E.on(window,ei,()=>{for(const f of j.find(D))U.getOrCreateInstance(f)}),Te(U);const P=".bs.toast",z=`mouseover${P}`,Y=`mouseout${P}`,M=`focusin${P}`,ce=`focusout${P}`,de=`hide${P}`,he=`hidden${P}`,xe=`show${P}`,Ae=`shown${P}`,G="show",et="showing",qe={animation:"boolean",autohide:"boolean",delay:"number"},wn={animation:!0,autohide:!0,delay:5e3};class Ht extends De{constructor(n,a){super(n,a),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return wn}static get DefaultType(){return qe}static get NAME(){return"toast"}show(){E.trigger(this._element,xe).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove("hide"),this._element.classList.add(G,et),this._queueCallback(()=>{this._element.classList.remove(et),E.trigger(this._element,Ae),this._maybeScheduleHide()},this._element,this._config.animation))}hide(){this.isShown()&&(E.trigger(this._element,de).defaultPrevented||(this._element.classList.add(et),this._queueCallback(()=>{this._element.classList.add("hide"),this._element.classList.remove(et,G),E.trigger(this._element,he)},this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(G),super.dispose()}isShown(){return this._element.classList.contains(G)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(n,a){switch(n.type){case"mouseover":case"mouseout":this._hasMouseInteraction=a;break;case"focusin":case"focusout":this._hasKeyboardInteraction=a}if(a)return void this._clearTimeout();const p=n.relatedTarget;this._element===p||this._element.contains(p)||this._maybeScheduleHide()}_setListeners(){E.on(this._element,z,n=>this._onInteraction(n,!0)),E.on(this._element,Y,n=>this._onInteraction(n,!1)),E.on(this._element,M,n=>this._onInteraction(n,!0)),E.on(this._element,ce,n=>this._onInteraction(n,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(n){return this.each(function(){const a=Ht.getOrCreateInstance(this,n);if("string"==typeof n){if(void 0===a[n])throw new TypeError(`No method named "${n}"`);a[n](this)}})}}return Tt(Ht),Te(Ht),{Alert:mt,Button:Wt,Carousel:Me,Collapse:yt,Dropdown:be,Modal:He,Offcanvas:w,Popover:se,ScrollSpy:bt,Tab:U,Toast:Ht,Tooltip:we}}); \ No newline at end of file diff --git a/static/explorer/styles.css b/static/explorer/styles.css index 24fb0328..4273daa4 100644 --- a/static/explorer/styles.css +++ b/static/explorer/styles.css @@ -1 +1,9 @@ -body{background-color:silver;margin:0;font-family:Arial,sans-serif;color:#303030}a{color:#fff;text-decoration:none}a:hover{color:gray}.block-details{display:flex;align-items:center;justify-content:space-between;width:100%}.previous-button,.next-button{background:#303030;color:#fff;padding:10px 20px;cursor:pointer;transition:background .3s ease;border-radius:5px;margin:10px}.previous-button:hover,.next-button:hover{background:#3498db}.accordion{background:#424242;color:#fff;border:none;padding:10px 20px;cursor:pointer;transition:background .3s ease;border-radius:5px}.accordion:hover{background:#3498db}.blocks-container{margin:10px;padding:20px;background-color:#424242;border-radius:5px;color:#fff}.blocks-table{width:100%;margin-top:10px;border-radius:5px}.blocks-table th,.blocks-table td{border:1px solid #ddd;padding:8px;text-align:left;border-radius:5px}.blocks-table th{background-color:#303030;color:#fff;border-radius:5px}.blocks-table tbody tr:hover{background-color:#3498db;color:#fff;cursor:pointer}.blocks-table tbody tr.expanded-row{cursor:default}.transaction-table{width:80%;margin:0 auto}.transaction-table th,.transaction-table td{border:1px solid #ddd;padding:8px;text-align:left}.transaction-table th{background-color:#424242}.expanded-row{background-color:transparent!important;color:inherit!important}.transaction-section{display:inline-block;vertical-align:top}.transaction-box{padding:10px;border:1px solid #ccc;border-radius:5px;margin:5px}.arrow-box{display:inline-block;vertical-align:top;margin:10px}.arrow-icon{width:30px;height:auto}.transaction-value-button{padding:2px 10px;border:none;border-radius:3px;vertical-align:top;cursor:defoult;background-color:#3498db;color:#fff;float:right}.in-section,.out-section{vertical-align:top}.arrow-box{text-align:center;margin-top:20px}.transaction-details{background-color:#303030;border-radius:5px;color:#fff;padding:10px;margin-top:10px;overflow:auto}.transfer-in-info-box,.transfer-out-info-box,.relationship-data-box{background-color:#424242;border-radius:10px;margin-top:5px;padding-right:10px;padding-left:10px;font-size:.9em}.transfer-in-info-box{border:2px solid #4CAF50;color:#fff}.transfer-out-info-box{border:2px solid #3498db;color:#fff}.relationship-data-box{border:2px solid #3498db;color:#fff;width:98%;white-space:normal}.arrow-icon{width:40%;height:auto}.searched-address{color:#ff0;font-weight:700}.transaction-type-button{padding:5px 10px;border:none;border-radius:3px;margin-top:5px;cursor:pointer;opacity:.7;transition:background-color .3s}.coinbase{background-color:#4caf50;color:#fff}.coinbase:hover{background-color:#45a049;color:#fff}.transfer{background-color:#3498db;color:#fff}.transfer:hover{background-color:#1e87cf;color:#fff}.create-identity{background-color:#f39c12;color:#fff}.create-identity:hover{background-color:#e74c3c;color:#fff}.encrypted-message,.message{background-color:#8b5ef6;color:#fff}.encrypted-message:hover,.message:hover{background-color:#6a1b9a;color:#fff} +@charset "UTF-8";.form-select{--bs-form-select-bg-img: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 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-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 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-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;--bs-form-check-bg-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-switch .form-check-input{--bs-form-switch-bg: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");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}.form-switch .form-check-input:focus{--bs-form-switch-bg: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;--bs-form-switch-bg: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")}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--bs-form-valid-border-color);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.73.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-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--bs-form-select-bg-icon: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.73.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");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--bs-form-invalid-border-color);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)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon: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");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), .65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), .8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), .3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:.5rem;--bs-navbar-toggler-padding-y:.25rem;--bs-navbar-toggler-padding-x:.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), .15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:.25rem;--bs-navbar-toggler-transition:box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color:rgba(255, 255, 255, .55);--bs-navbar-hover-color:rgba(255, 255, 255, .75);--bs-navbar-disabled-color:rgba(255, 255, 255, .25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, .1);--bs-navbar-toggler-icon-bg: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")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg: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")}.accordion{--bs-accordion-color:var(--bs-body-color);--bs-accordion-bg:var(--bs-body-bg);--bs-accordion-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform .2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 .25rem rgba(13, 110, 253, .25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-primary-text-emphasis);--bs-accordion-active-bg:var(--bs-primary-bg-subtle)}[data-bs-theme=dark] .accordion-button:after{--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%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");--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%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")}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg: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 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity:.5;--bs-btn-close-hover-opacity:.75;--bs-btn-close-focus-shadow:0 0 0 .25rem rgba(13, 110, 253, .25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:.25;--bs-btn-close-white-filter:invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.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")}@font-face{font-display:block;font-family:bootstrap-icons;src:url(bootstrap-icons.bfa90bda92a84a6a.woff2?dd67030699838ea613ee6dbda90effa6) format("woff2"),url(bootstrap-icons.70a9dee9e5ab72aa.woff?dd67030699838ea613ee6dbda90effa6) format("woff")}@charset "UTF-8";/*! +* Bootstrap v5.3.3 (https://getbootstrap.com/) +* Copyright 2011-2024 The Bootstrap Authors +* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) +*/:root,[data-bs-theme=light]{--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-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--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-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, .75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, .5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, .175);--bs-border-radius:.375rem;--bs-border-radius-sm:.25rem;--bs-border-radius-lg:.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 .5rem 1rem rgba(0, 0, 0, .15);--bs-box-shadow-sm:0 .125rem .25rem rgba(0, 0, 0, .075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, .175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, .075);--bs-focus-ring-width:.25rem;--bs-focus-ring-opacity:.25;--bs-focus-ring-color:rgba(13, 110, 253, .25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, .75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, .5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, .15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,:after,:before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.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]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}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,small{font-size:.875em}.mark,mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}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:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}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:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,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]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[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}::-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-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-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,.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\a0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);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:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);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.33333333%}.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.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.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:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@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.33333333%}.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.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.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:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@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.33333333%}.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.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.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:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@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.33333333%}.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.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.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:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@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.33333333%}.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.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.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:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@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.33333333%}.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.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.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:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-emphasis-color);--bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb), .05);--bs-table-active-color:var(--bs-emphasis-color);--bs-table-active-bg:rgba(var(--bs-emphasis-color-rgb), .1);--bs-table-hover-color:var(--bs-emphasis-color);--bs-table-hover-bg:rgba(var(--bs-emphasis-color-rgb), .075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem;color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-active{--bs-table-color-state:var(--bs-table-active-color);--bs-table-bg-state:var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-table-hover-color);--bs-table-bg-state:var(--bs-table-hover-bg)}.table-primary{--bs-table-color:#000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#a6b5cc;--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:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#b5b6b7;--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:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#a7b9b1;--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:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#cff4fc;--bs-table-border-color:#a6c3ca;--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:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff3cd;--bs-table-border-color:#ccc2a4;--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:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#c6acae;--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:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#c6c7c8;--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:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color:#fff;--bs-table-bg:#212529;--bs-table-border-color:#4d5154;--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:var(--bs-table-color);border-color:var(--bs-table-border-color)}.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 + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .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:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;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){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img: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 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.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-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;print-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 #0d6efd40}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-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 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-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;--bs-form-check-bg-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{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg: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");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg: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;--bs-form-switch-bg: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-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.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}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0d6efd40}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0d6efd40}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;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:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;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:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.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-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control-plaintext~label:after,.form-floating>.form-control:focus~label:after,.form-floating>.form-control:not(:placeholder-shown)~label:after,.form-floating>.form-select~label:after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>.form-control:disabled~label,.form-floating>:disabled~label{color:#6c757d}.form-floating>.form-control:disabled~label:after,.form-floating>:disabled~label:after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){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:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.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:var(--bs-form-valid-border-color);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.73.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:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.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)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--bs-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--bs-form-select-bg-icon: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.73.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");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3.75rem + 1.5em)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.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:var(--bs-form-invalid-border-color);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)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.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)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--bs-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon: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");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3.75rem + 1.5em)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--bs-btn-padding-x:.75rem;--bs-btn-padding-y:.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, .15),0 1px 1px rgba(0, 0, 0, .075);--bs-btn-disabled-opacity:.65;--bs-btn-focus-box-shadow:0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);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:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248,249,250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:.25rem;--bs-btn-padding-x:.5rem;--bs-btn-font-size:.875rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.fade{transition:opacity .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 .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{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{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:.5rem;--bs-dropdown-spacer:.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:.5rem;--bs-dropdown-box-shadow:var(--bs-box-shadow);--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.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[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.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[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.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:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, .15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-header-color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:calc(var(--bs-border-width) * -1)}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.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:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropend .dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after{margin-left:0}.dropstart .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{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-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}.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~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color:var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg:var(--bs-body-bg);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius:var(--bs-border-radius);--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap:1rem;--bs-nav-underline-border-width:.125rem;--bs-nav-underline-link-active-color:var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{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{--bs-navbar-padding-x:0;--bs-navbar-padding-y:.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), .65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), .8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), .3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:.5rem;--bs-navbar-toggler-padding-y:.25rem;--bs-navbar-toggler-padding-x:.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), .15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:.25rem;--bs-navbar-toggler-transition:box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@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 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);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:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.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}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@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:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.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}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@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:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.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}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@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:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.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}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@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:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.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-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.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:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color:rgba(255, 255, 255, .55);--bs-navbar-hover-color:rgba(255, 255, 255, .75);--bs-navbar-disabled-color:rgba(255, 255, 255, .25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, .1);--bs-navbar-toggler-icon-bg: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")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg: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")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y:.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(var(--bs-body-color-rgb), .03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-body-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.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:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;inset:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@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-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}}.accordion{--bs-accordion-color:var(--bs-body-color);--bs-accordion-bg:var(--bs-body-bg);--bs-accordion-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform .2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 .25rem rgba(13, 110, 253, .25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-primary-text-emphasis);--bs-accordion-active-bg:var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed):after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button:after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button:after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.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-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}.accordion-flush>.accordion-item>.accordion-collapse{border-radius:0}[data-bs-theme=dark] .accordion-button:after{--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%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");--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%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")}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:.75rem;--bs-pagination-padding-y:.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-body-bg);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-tertiary-bg);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-secondary-bg);--bs-pagination-focus-box-shadow:0 0 0 .25rem rgba(13, 110, 253, .25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:var(--bs-secondary-color);--bs-pagination-disabled-bg:var(--bs-secondary-bg);--bs-pagination-disabled-border-color:var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);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){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(var(--bs-border-width) * -1)}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x:.5rem;--bs-pagination-padding-y:.25rem;--bs-pagination-font-size:.875rem;--bs-pagination-border-radius:var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x:.65em;--bs-badge-padding-y:.35em;--bs-badge-font-size:.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color:var(--bs-primary-text-emphasis);--bs-alert-bg:var(--bs-primary-bg-subtle);--bs-alert-border-color:var(--bs-primary-border-subtle);--bs-alert-link-color:var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color:var(--bs-secondary-text-emphasis);--bs-alert-bg:var(--bs-secondary-bg-subtle);--bs-alert-border-color:var(--bs-secondary-border-subtle);--bs-alert-link-color:var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color:var(--bs-success-text-emphasis);--bs-alert-bg:var(--bs-success-bg-subtle);--bs-alert-border-color:var(--bs-success-border-subtle);--bs-alert-link-color:var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color:var(--bs-info-text-emphasis);--bs-alert-bg:var(--bs-info-bg-subtle);--bs-alert-border-color:var(--bs-info-border-subtle);--bs-alert-link-color:var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color:var(--bs-warning-text-emphasis);--bs-alert-bg:var(--bs-warning-bg-subtle);--bs-alert-border-color:var(--bs-warning-border-subtle);--bs-alert-link-color:var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color:var(--bs-danger-text-emphasis);--bs-alert-bg:var(--bs-danger-bg-subtle);--bs-alert-border-color:var(--bs-danger-border-subtle);--bs-alert-link-color:var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color:var(--bs-light-text-emphasis);--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle);--bs-alert-link-color:var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color:var(--bs-dark-text-emphasis);--bs-alert-bg:var(--bs-dark-bg-subtle);--bs-alert-border-color:var(--bs-dark-border-subtle);--bs-alert-link-color:var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width .6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@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:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:var(--bs-body-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-body-color);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-body-bg);--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item:before{content:counters(section,".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.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:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);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:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);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:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);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:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);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:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);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:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);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:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color:var(--bs-primary-text-emphasis);--bs-list-group-bg:var(--bs-primary-bg-subtle);--bs-list-group-border-color:var(--bs-primary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-primary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-primary-border-subtle);--bs-list-group-active-color:var(--bs-primary-bg-subtle);--bs-list-group-active-bg:var(--bs-primary-text-emphasis);--bs-list-group-active-border-color:var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color:var(--bs-secondary-text-emphasis);--bs-list-group-bg:var(--bs-secondary-bg-subtle);--bs-list-group-border-color:var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-secondary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-secondary-border-subtle);--bs-list-group-active-color:var(--bs-secondary-bg-subtle);--bs-list-group-active-bg:var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color:var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color:var(--bs-success-text-emphasis);--bs-list-group-bg:var(--bs-success-bg-subtle);--bs-list-group-border-color:var(--bs-success-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-success-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-success-border-subtle);--bs-list-group-active-color:var(--bs-success-bg-subtle);--bs-list-group-active-bg:var(--bs-success-text-emphasis);--bs-list-group-active-border-color:var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color:var(--bs-info-text-emphasis);--bs-list-group-bg:var(--bs-info-bg-subtle);--bs-list-group-border-color:var(--bs-info-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-info-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-info-border-subtle);--bs-list-group-active-color:var(--bs-info-bg-subtle);--bs-list-group-active-bg:var(--bs-info-text-emphasis);--bs-list-group-active-border-color:var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color:var(--bs-warning-text-emphasis);--bs-list-group-bg:var(--bs-warning-bg-subtle);--bs-list-group-border-color:var(--bs-warning-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-warning-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-warning-border-subtle);--bs-list-group-active-color:var(--bs-warning-bg-subtle);--bs-list-group-active-bg:var(--bs-warning-text-emphasis);--bs-list-group-active-border-color:var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color:var(--bs-danger-text-emphasis);--bs-list-group-bg:var(--bs-danger-bg-subtle);--bs-list-group-border-color:var(--bs-danger-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-danger-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-danger-border-subtle);--bs-list-group-active-color:var(--bs-danger-bg-subtle);--bs-list-group-active-bg:var(--bs-danger-text-emphasis);--bs-list-group-active-border-color:var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color:var(--bs-light-text-emphasis);--bs-list-group-bg:var(--bs-light-bg-subtle);--bs-list-group-border-color:var(--bs-light-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-light-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-light-border-subtle);--bs-list-group-active-color:var(--bs-light-bg-subtle);--bs-list-group-active-bg:var(--bs-light-text-emphasis);--bs-list-group-active-border-color:var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color:var(--bs-dark-text-emphasis);--bs-list-group-bg:var(--bs-dark-bg-subtle);--bs-list-group-border-color:var(--bs-dark-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-dark-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-dark-border-subtle);--bs-list-group-active-color:var(--bs-dark-bg-subtle);--bs-list-group-active-bg:var(--bs-dark-text-emphasis);--bs-list-group-active-border-color:var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg: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 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity:.5;--bs-btn-close-hover-opacity:.75;--bs-btn-close-focus-shadow:0 0 0 .25rem rgba(13, 110, 253, .25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:.25;--bs-btn-close-white-filter:invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white,[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:.75rem;--bs-toast-padding-y:.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), .85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), .85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:.5rem;--bs-modal-color: ;--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-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% - var(--bs-modal-margin) * 2)}.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% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media (min-width:1200px){.modal-xl{--bs-modal-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-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@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-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@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-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@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-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@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-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@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-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:.5rem;--bs-tooltip-padding-y:.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:.875rem;--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:.9;--bs-tooltip-arrow-width:.8rem;--bs-tooltip-arrow-height:.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);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;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before,.bs-tooltip-top .tooltip-arrow:before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before,.bs-tooltip-end .tooltip-arrow:before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before,.bs-tooltip-bottom .tooltip-arrow:before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before,.bs-tooltip-start .tooltip-arrow:before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:.875rem;--bs-popover-bg:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);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;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow:after,.popover .popover-arrow:before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:after,.bs-popover-top>.popover-arrow:before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after,.bs-popover-top>.popover-arrow:after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:after,.bs-popover-end>.popover-arrow:before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after,.bs-popover-end>.popover-arrow:after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:after,.bs-popover-bottom>.popover-arrow:before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after,.bs-popover-bottom>.popover-arrow:after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:after,.bs-popover-start>.popover-arrow:before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after,.bs-popover-start>.popover-arrow:after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.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-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translate(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translate(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{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:0 0;border:0;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: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%}.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 .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-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.spinner-border,.spinner-grow{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-.125em;--bs-spinner-border-width:.25em;--bs-spinner-animation-speed:.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-.125em;--bs-spinner-animation-speed:.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform .3s ease-in-out;--bs-offcanvas-title-line-height:1.5}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin:calc(-.5 * var(--bs-offcanvas-padding-y)) calc(-.5 * var(--bs-offcanvas-padding-x)) calc(-.5 * var(--bs-offcanvas-padding-y)) auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn:before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{to{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix:after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity,1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important}.link-primary:focus,.link-primary:hover{color:RGBA(10,88,202,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important}.link-secondary:focus,.link-secondary:hover{color:RGBA(86,94,100,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important}.link-success:focus,.link-success:hover{color:RGBA(20,108,67,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important}.link-info:focus,.link-info:hover{color:RGBA(61,213,243,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important}.link-warning:focus,.link-warning:hover{color:RGBA(255,205,57,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important}.link-danger:focus,.link-danger:hover{color:RGBA(176,42,55,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important}.link-light:focus,.link-light:hover{color:RGBA(249,250,251,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important}.link-dark:focus,.link-dark:hover{color:RGBA(26,30,33,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,.75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x,0) var(--bs-focus-ring-y,0) var(--bs-focus-ring-blur,0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,.5));text-underline-offset:.25em;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}.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:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.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}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){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}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.stretched-link:after{position:absolute;inset:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.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}.object-fit-contain{object-fit:contain!important}.object-fit-cover{object-fit:cover!important}.object-fit-fill{object-fit:fill!important}.object-fit-scale{object-fit:scale-down!important}.object-fit-none{object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y: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-inline-grid{display:inline-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:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color:rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.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:translate(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity:1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!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}.border-opacity-10{--bs-border-opacity:.1}.border-opacity-25{--bs-border-opacity:.25}.border-opacity-50{--bs-border-opacity:.5}.border-opacity-75{--bs-border-opacity:.75}.border-opacity-100{--bs-border-opacity:1}.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}.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:3rem!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:3rem!important;margin-left:3rem!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:3rem!important;margin-bottom:3rem!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:3rem!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:3rem!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:3rem!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:3rem!important}.ms-auto{margin-left:auto!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:3rem!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:3rem!important;padding-left:3rem!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:3rem!important;padding-bottom:3rem!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:3rem!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:3rem!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:3rem!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:3rem!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:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{column-gap:0!important}.column-gap-1{column-gap:.25rem!important}.column-gap-2{column-gap:.5rem!important}.column-gap-3{column-gap:1rem!important}.column-gap-4{column-gap:1.5rem!important}.column-gap-5{column-gap:3rem!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-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!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{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity:1;color:#00000080!important}.text-white-50{--bs-text-opacity:1;color:#ffffff80!important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:.25}.text-opacity-50{--bs-text-opacity:.5}.text-opacity-75{--bs-text-opacity:.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10,.link-opacity-10-hover:hover{--bs-link-opacity:.1}.link-opacity-25,.link-opacity-25-hover:hover{--bs-link-opacity:.25}.link-opacity-50,.link-opacity-50-hover:hover{--bs-link-opacity:.5}.link-opacity-75,.link-opacity-75-hover:hover{--bs-link-opacity:.75}.link-opacity-100,.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1,.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2,.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3,.link-offset-3-hover:hover{text-underline-offset:.375em!important}.link-underline-primary{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-underline-opacity-0,.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10,.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:.1}.link-underline-opacity-25,.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:.25}.link-underline-opacity-50,.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:.5}.link-underline-opacity-75,.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:.75}.link-underline-opacity-100,.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:.1}.bg-opacity-25{--bs-bg-opacity:.25}.bg-opacity-50{--bs-bg-opacity:.5}.bg-opacity-75{--bs-bg-opacity:.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{object-fit:contain!important}.object-fit-sm-cover{object-fit:cover!important}.object-fit-sm-fill{object-fit:fill!important}.object-fit-sm-scale{object-fit:scale-down!important}.object-fit-sm-none{object-fit: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-inline-grid{display:inline-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}.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:3rem!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:3rem!important;margin-left:3rem!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:3rem!important;margin-bottom:3rem!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:3rem!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:3rem!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:3rem!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:3rem!important}.ms-sm-auto{margin-left:auto!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:3rem!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:3rem!important;padding-left:3rem!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:3rem!important;padding-bottom:3rem!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:3rem!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:3rem!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:3rem!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:3rem!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:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{column-gap:0!important}.column-gap-sm-1{column-gap:.25rem!important}.column-gap-sm-2{column-gap:.5rem!important}.column-gap-sm-3{column-gap:1rem!important}.column-gap-sm-4{column-gap:1.5rem!important}.column-gap-sm-5{column-gap:3rem!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}.object-fit-md-contain{object-fit:contain!important}.object-fit-md-cover{object-fit:cover!important}.object-fit-md-fill{object-fit:fill!important}.object-fit-md-scale{object-fit:scale-down!important}.object-fit-md-none{object-fit: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-inline-grid{display:inline-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}.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:3rem!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:3rem!important;margin-left:3rem!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:3rem!important;margin-bottom:3rem!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:3rem!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:3rem!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:3rem!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:3rem!important}.ms-md-auto{margin-left:auto!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:3rem!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:3rem!important;padding-left:3rem!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:3rem!important;padding-bottom:3rem!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:3rem!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:3rem!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:3rem!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:3rem!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:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{column-gap:0!important}.column-gap-md-1{column-gap:.25rem!important}.column-gap-md-2{column-gap:.5rem!important}.column-gap-md-3{column-gap:1rem!important}.column-gap-md-4{column-gap:1.5rem!important}.column-gap-md-5{column-gap:3rem!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}.object-fit-lg-contain{object-fit:contain!important}.object-fit-lg-cover{object-fit:cover!important}.object-fit-lg-fill{object-fit:fill!important}.object-fit-lg-scale{object-fit:scale-down!important}.object-fit-lg-none{object-fit: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-inline-grid{display:inline-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}.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:3rem!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:3rem!important;margin-left:3rem!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:3rem!important;margin-bottom:3rem!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:3rem!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:3rem!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:3rem!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:3rem!important}.ms-lg-auto{margin-left:auto!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:3rem!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:3rem!important;padding-left:3rem!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:3rem!important;padding-bottom:3rem!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:3rem!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:3rem!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:3rem!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:3rem!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:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{column-gap:0!important}.column-gap-lg-1{column-gap:.25rem!important}.column-gap-lg-2{column-gap:.5rem!important}.column-gap-lg-3{column-gap:1rem!important}.column-gap-lg-4{column-gap:1.5rem!important}.column-gap-lg-5{column-gap:3rem!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}.object-fit-xl-contain{object-fit:contain!important}.object-fit-xl-cover{object-fit:cover!important}.object-fit-xl-fill{object-fit:fill!important}.object-fit-xl-scale{object-fit:scale-down!important}.object-fit-xl-none{object-fit: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-inline-grid{display:inline-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}.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:3rem!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:3rem!important;margin-left:3rem!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:3rem!important;margin-bottom:3rem!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:3rem!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:3rem!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:3rem!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:3rem!important}.ms-xl-auto{margin-left:auto!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:3rem!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:3rem!important;padding-left:3rem!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:3rem!important;padding-bottom:3rem!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:3rem!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:3rem!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:3rem!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:3rem!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:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{column-gap:0!important}.column-gap-xl-1{column-gap:.25rem!important}.column-gap-xl-2{column-gap:.5rem!important}.column-gap-xl-3{column-gap:1rem!important}.column-gap-xl-4{column-gap:1.5rem!important}.column-gap-xl-5{column-gap:3rem!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}.object-fit-xxl-contain{object-fit:contain!important}.object-fit-xxl-cover{object-fit:cover!important}.object-fit-xxl-fill{object-fit:fill!important}.object-fit-xxl-scale{object-fit:scale-down!important}.object-fit-xxl-none{object-fit: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-inline-grid{display:inline-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}.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:3rem!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:3rem!important;margin-left:3rem!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:3rem!important;margin-bottom:3rem!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:3rem!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:3rem!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:3rem!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:3rem!important}.ms-xxl-auto{margin-left:auto!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:3rem!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:3rem!important;padding-left:3rem!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:3rem!important;padding-bottom:3rem!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:3rem!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:3rem!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:3rem!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:3rem!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:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{column-gap:0!important}.column-gap-xxl-1{column-gap:.25rem!important}.column-gap-xxl-2{column-gap:.5rem!important}.column-gap-xxl-3{column-gap:1rem!important}.column-gap-xxl-4{column-gap:1.5rem!important}.column-gap-xxl-5{column-gap:3rem!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-inline-grid{display:inline-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}}/*! + * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/) + * Copyright 2019-2024 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE) + */@font-face{font-display:block;font-family:bootstrap-icons;src:url(bootstrap-icons.bfa90bda92a84a6a.woff2?dd67030699838ea613ee6dbda90effa6) format("woff2"),url(bootstrap-icons.70a9dee9e5ab72aa.woff?dd67030699838ea613ee6dbda90effa6) format("woff")}.bi:before,[class^=bi-]:before,[class*=" bi-"]:before{display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bi-123:before{content:"\f67f"}.bi-alarm-fill:before{content:"\f101"}.bi-alarm:before{content:"\f102"}.bi-align-bottom:before{content:"\f103"}.bi-align-center:before{content:"\f104"}.bi-align-end:before{content:"\f105"}.bi-align-middle:before{content:"\f106"}.bi-align-start:before{content:"\f107"}.bi-align-top:before{content:"\f108"}.bi-alt:before{content:"\f109"}.bi-app-indicator:before{content:"\f10a"}.bi-app:before{content:"\f10b"}.bi-archive-fill:before{content:"\f10c"}.bi-archive:before{content:"\f10d"}.bi-arrow-90deg-down:before{content:"\f10e"}.bi-arrow-90deg-left:before{content:"\f10f"}.bi-arrow-90deg-right:before{content:"\f110"}.bi-arrow-90deg-up:before{content:"\f111"}.bi-arrow-bar-down:before{content:"\f112"}.bi-arrow-bar-left:before{content:"\f113"}.bi-arrow-bar-right:before{content:"\f114"}.bi-arrow-bar-up:before{content:"\f115"}.bi-arrow-clockwise:before{content:"\f116"}.bi-arrow-counterclockwise:before{content:"\f117"}.bi-arrow-down-circle-fill:before{content:"\f118"}.bi-arrow-down-circle:before{content:"\f119"}.bi-arrow-down-left-circle-fill:before{content:"\f11a"}.bi-arrow-down-left-circle:before{content:"\f11b"}.bi-arrow-down-left-square-fill:before{content:"\f11c"}.bi-arrow-down-left-square:before{content:"\f11d"}.bi-arrow-down-left:before{content:"\f11e"}.bi-arrow-down-right-circle-fill:before{content:"\f11f"}.bi-arrow-down-right-circle:before{content:"\f120"}.bi-arrow-down-right-square-fill:before{content:"\f121"}.bi-arrow-down-right-square:before{content:"\f122"}.bi-arrow-down-right:before{content:"\f123"}.bi-arrow-down-short:before{content:"\f124"}.bi-arrow-down-square-fill:before{content:"\f125"}.bi-arrow-down-square:before{content:"\f126"}.bi-arrow-down-up:before{content:"\f127"}.bi-arrow-down:before{content:"\f128"}.bi-arrow-left-circle-fill:before{content:"\f129"}.bi-arrow-left-circle:before{content:"\f12a"}.bi-arrow-left-right:before{content:"\f12b"}.bi-arrow-left-short:before{content:"\f12c"}.bi-arrow-left-square-fill:before{content:"\f12d"}.bi-arrow-left-square:before{content:"\f12e"}.bi-arrow-left:before{content:"\f12f"}.bi-arrow-repeat:before{content:"\f130"}.bi-arrow-return-left:before{content:"\f131"}.bi-arrow-return-right:before{content:"\f132"}.bi-arrow-right-circle-fill:before{content:"\f133"}.bi-arrow-right-circle:before{content:"\f134"}.bi-arrow-right-short:before{content:"\f135"}.bi-arrow-right-square-fill:before{content:"\f136"}.bi-arrow-right-square:before{content:"\f137"}.bi-arrow-right:before{content:"\f138"}.bi-arrow-up-circle-fill:before{content:"\f139"}.bi-arrow-up-circle:before{content:"\f13a"}.bi-arrow-up-left-circle-fill:before{content:"\f13b"}.bi-arrow-up-left-circle:before{content:"\f13c"}.bi-arrow-up-left-square-fill:before{content:"\f13d"}.bi-arrow-up-left-square:before{content:"\f13e"}.bi-arrow-up-left:before{content:"\f13f"}.bi-arrow-up-right-circle-fill:before{content:"\f140"}.bi-arrow-up-right-circle:before{content:"\f141"}.bi-arrow-up-right-square-fill:before{content:"\f142"}.bi-arrow-up-right-square:before{content:"\f143"}.bi-arrow-up-right:before{content:"\f144"}.bi-arrow-up-short:before{content:"\f145"}.bi-arrow-up-square-fill:before{content:"\f146"}.bi-arrow-up-square:before{content:"\f147"}.bi-arrow-up:before{content:"\f148"}.bi-arrows-angle-contract:before{content:"\f149"}.bi-arrows-angle-expand:before{content:"\f14a"}.bi-arrows-collapse:before{content:"\f14b"}.bi-arrows-expand:before{content:"\f14c"}.bi-arrows-fullscreen:before{content:"\f14d"}.bi-arrows-move:before{content:"\f14e"}.bi-aspect-ratio-fill:before{content:"\f14f"}.bi-aspect-ratio:before{content:"\f150"}.bi-asterisk:before{content:"\f151"}.bi-at:before{content:"\f152"}.bi-award-fill:before{content:"\f153"}.bi-award:before{content:"\f154"}.bi-back:before{content:"\f155"}.bi-backspace-fill:before{content:"\f156"}.bi-backspace-reverse-fill:before{content:"\f157"}.bi-backspace-reverse:before{content:"\f158"}.bi-backspace:before{content:"\f159"}.bi-badge-3d-fill:before{content:"\f15a"}.bi-badge-3d:before{content:"\f15b"}.bi-badge-4k-fill:before{content:"\f15c"}.bi-badge-4k:before{content:"\f15d"}.bi-badge-8k-fill:before{content:"\f15e"}.bi-badge-8k:before{content:"\f15f"}.bi-badge-ad-fill:before{content:"\f160"}.bi-badge-ad:before{content:"\f161"}.bi-badge-ar-fill:before{content:"\f162"}.bi-badge-ar:before{content:"\f163"}.bi-badge-cc-fill:before{content:"\f164"}.bi-badge-cc:before{content:"\f165"}.bi-badge-hd-fill:before{content:"\f166"}.bi-badge-hd:before{content:"\f167"}.bi-badge-tm-fill:before{content:"\f168"}.bi-badge-tm:before{content:"\f169"}.bi-badge-vo-fill:before{content:"\f16a"}.bi-badge-vo:before{content:"\f16b"}.bi-badge-vr-fill:before{content:"\f16c"}.bi-badge-vr:before{content:"\f16d"}.bi-badge-wc-fill:before{content:"\f16e"}.bi-badge-wc:before{content:"\f16f"}.bi-bag-check-fill:before{content:"\f170"}.bi-bag-check:before{content:"\f171"}.bi-bag-dash-fill:before{content:"\f172"}.bi-bag-dash:before{content:"\f173"}.bi-bag-fill:before{content:"\f174"}.bi-bag-plus-fill:before{content:"\f175"}.bi-bag-plus:before{content:"\f176"}.bi-bag-x-fill:before{content:"\f177"}.bi-bag-x:before{content:"\f178"}.bi-bag:before{content:"\f179"}.bi-bar-chart-fill:before{content:"\f17a"}.bi-bar-chart-line-fill:before{content:"\f17b"}.bi-bar-chart-line:before{content:"\f17c"}.bi-bar-chart-steps:before{content:"\f17d"}.bi-bar-chart:before{content:"\f17e"}.bi-basket-fill:before{content:"\f17f"}.bi-basket:before{content:"\f180"}.bi-basket2-fill:before{content:"\f181"}.bi-basket2:before{content:"\f182"}.bi-basket3-fill:before{content:"\f183"}.bi-basket3:before{content:"\f184"}.bi-battery-charging:before{content:"\f185"}.bi-battery-full:before{content:"\f186"}.bi-battery-half:before{content:"\f187"}.bi-battery:before{content:"\f188"}.bi-bell-fill:before{content:"\f189"}.bi-bell:before{content:"\f18a"}.bi-bezier:before{content:"\f18b"}.bi-bezier2:before{content:"\f18c"}.bi-bicycle:before{content:"\f18d"}.bi-binoculars-fill:before{content:"\f18e"}.bi-binoculars:before{content:"\f18f"}.bi-blockquote-left:before{content:"\f190"}.bi-blockquote-right:before{content:"\f191"}.bi-book-fill:before{content:"\f192"}.bi-book-half:before{content:"\f193"}.bi-book:before{content:"\f194"}.bi-bookmark-check-fill:before{content:"\f195"}.bi-bookmark-check:before{content:"\f196"}.bi-bookmark-dash-fill:before{content:"\f197"}.bi-bookmark-dash:before{content:"\f198"}.bi-bookmark-fill:before{content:"\f199"}.bi-bookmark-heart-fill:before{content:"\f19a"}.bi-bookmark-heart:before{content:"\f19b"}.bi-bookmark-plus-fill:before{content:"\f19c"}.bi-bookmark-plus:before{content:"\f19d"}.bi-bookmark-star-fill:before{content:"\f19e"}.bi-bookmark-star:before{content:"\f19f"}.bi-bookmark-x-fill:before{content:"\f1a0"}.bi-bookmark-x:before{content:"\f1a1"}.bi-bookmark:before{content:"\f1a2"}.bi-bookmarks-fill:before{content:"\f1a3"}.bi-bookmarks:before{content:"\f1a4"}.bi-bookshelf:before{content:"\f1a5"}.bi-bootstrap-fill:before{content:"\f1a6"}.bi-bootstrap-reboot:before{content:"\f1a7"}.bi-bootstrap:before{content:"\f1a8"}.bi-border-all:before{content:"\f1a9"}.bi-border-bottom:before{content:"\f1aa"}.bi-border-center:before{content:"\f1ab"}.bi-border-inner:before{content:"\f1ac"}.bi-border-left:before{content:"\f1ad"}.bi-border-middle:before{content:"\f1ae"}.bi-border-outer:before{content:"\f1af"}.bi-border-right:before{content:"\f1b0"}.bi-border-style:before{content:"\f1b1"}.bi-border-top:before{content:"\f1b2"}.bi-border-width:before{content:"\f1b3"}.bi-border:before{content:"\f1b4"}.bi-bounding-box-circles:before{content:"\f1b5"}.bi-bounding-box:before{content:"\f1b6"}.bi-box-arrow-down-left:before{content:"\f1b7"}.bi-box-arrow-down-right:before{content:"\f1b8"}.bi-box-arrow-down:before{content:"\f1b9"}.bi-box-arrow-in-down-left:before{content:"\f1ba"}.bi-box-arrow-in-down-right:before{content:"\f1bb"}.bi-box-arrow-in-down:before{content:"\f1bc"}.bi-box-arrow-in-left:before{content:"\f1bd"}.bi-box-arrow-in-right:before{content:"\f1be"}.bi-box-arrow-in-up-left:before{content:"\f1bf"}.bi-box-arrow-in-up-right:before{content:"\f1c0"}.bi-box-arrow-in-up:before{content:"\f1c1"}.bi-box-arrow-left:before{content:"\f1c2"}.bi-box-arrow-right:before{content:"\f1c3"}.bi-box-arrow-up-left:before{content:"\f1c4"}.bi-box-arrow-up-right:before{content:"\f1c5"}.bi-box-arrow-up:before{content:"\f1c6"}.bi-box-seam:before{content:"\f1c7"}.bi-box:before{content:"\f1c8"}.bi-braces:before{content:"\f1c9"}.bi-bricks:before{content:"\f1ca"}.bi-briefcase-fill:before{content:"\f1cb"}.bi-briefcase:before{content:"\f1cc"}.bi-brightness-alt-high-fill:before{content:"\f1cd"}.bi-brightness-alt-high:before{content:"\f1ce"}.bi-brightness-alt-low-fill:before{content:"\f1cf"}.bi-brightness-alt-low:before{content:"\f1d0"}.bi-brightness-high-fill:before{content:"\f1d1"}.bi-brightness-high:before{content:"\f1d2"}.bi-brightness-low-fill:before{content:"\f1d3"}.bi-brightness-low:before{content:"\f1d4"}.bi-broadcast-pin:before{content:"\f1d5"}.bi-broadcast:before{content:"\f1d6"}.bi-brush-fill:before{content:"\f1d7"}.bi-brush:before{content:"\f1d8"}.bi-bucket-fill:before{content:"\f1d9"}.bi-bucket:before{content:"\f1da"}.bi-bug-fill:before{content:"\f1db"}.bi-bug:before{content:"\f1dc"}.bi-building:before{content:"\f1dd"}.bi-bullseye:before{content:"\f1de"}.bi-calculator-fill:before{content:"\f1df"}.bi-calculator:before{content:"\f1e0"}.bi-calendar-check-fill:before{content:"\f1e1"}.bi-calendar-check:before{content:"\f1e2"}.bi-calendar-date-fill:before{content:"\f1e3"}.bi-calendar-date:before{content:"\f1e4"}.bi-calendar-day-fill:before{content:"\f1e5"}.bi-calendar-day:before{content:"\f1e6"}.bi-calendar-event-fill:before{content:"\f1e7"}.bi-calendar-event:before{content:"\f1e8"}.bi-calendar-fill:before{content:"\f1e9"}.bi-calendar-minus-fill:before{content:"\f1ea"}.bi-calendar-minus:before{content:"\f1eb"}.bi-calendar-month-fill:before{content:"\f1ec"}.bi-calendar-month:before{content:"\f1ed"}.bi-calendar-plus-fill:before{content:"\f1ee"}.bi-calendar-plus:before{content:"\f1ef"}.bi-calendar-range-fill:before{content:"\f1f0"}.bi-calendar-range:before{content:"\f1f1"}.bi-calendar-week-fill:before{content:"\f1f2"}.bi-calendar-week:before{content:"\f1f3"}.bi-calendar-x-fill:before{content:"\f1f4"}.bi-calendar-x:before{content:"\f1f5"}.bi-calendar:before{content:"\f1f6"}.bi-calendar2-check-fill:before{content:"\f1f7"}.bi-calendar2-check:before{content:"\f1f8"}.bi-calendar2-date-fill:before{content:"\f1f9"}.bi-calendar2-date:before{content:"\f1fa"}.bi-calendar2-day-fill:before{content:"\f1fb"}.bi-calendar2-day:before{content:"\f1fc"}.bi-calendar2-event-fill:before{content:"\f1fd"}.bi-calendar2-event:before{content:"\f1fe"}.bi-calendar2-fill:before{content:"\f1ff"}.bi-calendar2-minus-fill:before{content:"\f200"}.bi-calendar2-minus:before{content:"\f201"}.bi-calendar2-month-fill:before{content:"\f202"}.bi-calendar2-month:before{content:"\f203"}.bi-calendar2-plus-fill:before{content:"\f204"}.bi-calendar2-plus:before{content:"\f205"}.bi-calendar2-range-fill:before{content:"\f206"}.bi-calendar2-range:before{content:"\f207"}.bi-calendar2-week-fill:before{content:"\f208"}.bi-calendar2-week:before{content:"\f209"}.bi-calendar2-x-fill:before{content:"\f20a"}.bi-calendar2-x:before{content:"\f20b"}.bi-calendar2:before{content:"\f20c"}.bi-calendar3-event-fill:before{content:"\f20d"}.bi-calendar3-event:before{content:"\f20e"}.bi-calendar3-fill:before{content:"\f20f"}.bi-calendar3-range-fill:before{content:"\f210"}.bi-calendar3-range:before{content:"\f211"}.bi-calendar3-week-fill:before{content:"\f212"}.bi-calendar3-week:before{content:"\f213"}.bi-calendar3:before{content:"\f214"}.bi-calendar4-event:before{content:"\f215"}.bi-calendar4-range:before{content:"\f216"}.bi-calendar4-week:before{content:"\f217"}.bi-calendar4:before{content:"\f218"}.bi-camera-fill:before{content:"\f219"}.bi-camera-reels-fill:before{content:"\f21a"}.bi-camera-reels:before{content:"\f21b"}.bi-camera-video-fill:before{content:"\f21c"}.bi-camera-video-off-fill:before{content:"\f21d"}.bi-camera-video-off:before{content:"\f21e"}.bi-camera-video:before{content:"\f21f"}.bi-camera:before{content:"\f220"}.bi-camera2:before{content:"\f221"}.bi-capslock-fill:before{content:"\f222"}.bi-capslock:before{content:"\f223"}.bi-card-checklist:before{content:"\f224"}.bi-card-heading:before{content:"\f225"}.bi-card-image:before{content:"\f226"}.bi-card-list:before{content:"\f227"}.bi-card-text:before{content:"\f228"}.bi-caret-down-fill:before{content:"\f229"}.bi-caret-down-square-fill:before{content:"\f22a"}.bi-caret-down-square:before{content:"\f22b"}.bi-caret-down:before{content:"\f22c"}.bi-caret-left-fill:before{content:"\f22d"}.bi-caret-left-square-fill:before{content:"\f22e"}.bi-caret-left-square:before{content:"\f22f"}.bi-caret-left:before{content:"\f230"}.bi-caret-right-fill:before{content:"\f231"}.bi-caret-right-square-fill:before{content:"\f232"}.bi-caret-right-square:before{content:"\f233"}.bi-caret-right:before{content:"\f234"}.bi-caret-up-fill:before{content:"\f235"}.bi-caret-up-square-fill:before{content:"\f236"}.bi-caret-up-square:before{content:"\f237"}.bi-caret-up:before{content:"\f238"}.bi-cart-check-fill:before{content:"\f239"}.bi-cart-check:before{content:"\f23a"}.bi-cart-dash-fill:before{content:"\f23b"}.bi-cart-dash:before{content:"\f23c"}.bi-cart-fill:before{content:"\f23d"}.bi-cart-plus-fill:before{content:"\f23e"}.bi-cart-plus:before{content:"\f23f"}.bi-cart-x-fill:before{content:"\f240"}.bi-cart-x:before{content:"\f241"}.bi-cart:before{content:"\f242"}.bi-cart2:before{content:"\f243"}.bi-cart3:before{content:"\f244"}.bi-cart4:before{content:"\f245"}.bi-cash-stack:before{content:"\f246"}.bi-cash:before{content:"\f247"}.bi-cast:before{content:"\f248"}.bi-chat-dots-fill:before{content:"\f249"}.bi-chat-dots:before{content:"\f24a"}.bi-chat-fill:before{content:"\f24b"}.bi-chat-left-dots-fill:before{content:"\f24c"}.bi-chat-left-dots:before{content:"\f24d"}.bi-chat-left-fill:before{content:"\f24e"}.bi-chat-left-quote-fill:before{content:"\f24f"}.bi-chat-left-quote:before{content:"\f250"}.bi-chat-left-text-fill:before{content:"\f251"}.bi-chat-left-text:before{content:"\f252"}.bi-chat-left:before{content:"\f253"}.bi-chat-quote-fill:before{content:"\f254"}.bi-chat-quote:before{content:"\f255"}.bi-chat-right-dots-fill:before{content:"\f256"}.bi-chat-right-dots:before{content:"\f257"}.bi-chat-right-fill:before{content:"\f258"}.bi-chat-right-quote-fill:before{content:"\f259"}.bi-chat-right-quote:before{content:"\f25a"}.bi-chat-right-text-fill:before{content:"\f25b"}.bi-chat-right-text:before{content:"\f25c"}.bi-chat-right:before{content:"\f25d"}.bi-chat-square-dots-fill:before{content:"\f25e"}.bi-chat-square-dots:before{content:"\f25f"}.bi-chat-square-fill:before{content:"\f260"}.bi-chat-square-quote-fill:before{content:"\f261"}.bi-chat-square-quote:before{content:"\f262"}.bi-chat-square-text-fill:before{content:"\f263"}.bi-chat-square-text:before{content:"\f264"}.bi-chat-square:before{content:"\f265"}.bi-chat-text-fill:before{content:"\f266"}.bi-chat-text:before{content:"\f267"}.bi-chat:before{content:"\f268"}.bi-check-all:before{content:"\f269"}.bi-check-circle-fill:before{content:"\f26a"}.bi-check-circle:before{content:"\f26b"}.bi-check-square-fill:before{content:"\f26c"}.bi-check-square:before{content:"\f26d"}.bi-check:before{content:"\f26e"}.bi-check2-all:before{content:"\f26f"}.bi-check2-circle:before{content:"\f270"}.bi-check2-square:before{content:"\f271"}.bi-check2:before{content:"\f272"}.bi-chevron-bar-contract:before{content:"\f273"}.bi-chevron-bar-down:before{content:"\f274"}.bi-chevron-bar-expand:before{content:"\f275"}.bi-chevron-bar-left:before{content:"\f276"}.bi-chevron-bar-right:before{content:"\f277"}.bi-chevron-bar-up:before{content:"\f278"}.bi-chevron-compact-down:before{content:"\f279"}.bi-chevron-compact-left:before{content:"\f27a"}.bi-chevron-compact-right:before{content:"\f27b"}.bi-chevron-compact-up:before{content:"\f27c"}.bi-chevron-contract:before{content:"\f27d"}.bi-chevron-double-down:before{content:"\f27e"}.bi-chevron-double-left:before{content:"\f27f"}.bi-chevron-double-right:before{content:"\f280"}.bi-chevron-double-up:before{content:"\f281"}.bi-chevron-down:before{content:"\f282"}.bi-chevron-expand:before{content:"\f283"}.bi-chevron-left:before{content:"\f284"}.bi-chevron-right:before{content:"\f285"}.bi-chevron-up:before{content:"\f286"}.bi-circle-fill:before{content:"\f287"}.bi-circle-half:before{content:"\f288"}.bi-circle-square:before{content:"\f289"}.bi-circle:before{content:"\f28a"}.bi-clipboard-check:before{content:"\f28b"}.bi-clipboard-data:before{content:"\f28c"}.bi-clipboard-minus:before{content:"\f28d"}.bi-clipboard-plus:before{content:"\f28e"}.bi-clipboard-x:before{content:"\f28f"}.bi-clipboard:before{content:"\f290"}.bi-clock-fill:before{content:"\f291"}.bi-clock-history:before{content:"\f292"}.bi-clock:before{content:"\f293"}.bi-cloud-arrow-down-fill:before{content:"\f294"}.bi-cloud-arrow-down:before{content:"\f295"}.bi-cloud-arrow-up-fill:before{content:"\f296"}.bi-cloud-arrow-up:before{content:"\f297"}.bi-cloud-check-fill:before{content:"\f298"}.bi-cloud-check:before{content:"\f299"}.bi-cloud-download-fill:before{content:"\f29a"}.bi-cloud-download:before{content:"\f29b"}.bi-cloud-drizzle-fill:before{content:"\f29c"}.bi-cloud-drizzle:before{content:"\f29d"}.bi-cloud-fill:before{content:"\f29e"}.bi-cloud-fog-fill:before{content:"\f29f"}.bi-cloud-fog:before{content:"\f2a0"}.bi-cloud-fog2-fill:before{content:"\f2a1"}.bi-cloud-fog2:before{content:"\f2a2"}.bi-cloud-hail-fill:before{content:"\f2a3"}.bi-cloud-hail:before{content:"\f2a4"}.bi-cloud-haze-fill:before{content:"\f2a6"}.bi-cloud-haze:before{content:"\f2a7"}.bi-cloud-haze2-fill:before{content:"\f2a8"}.bi-cloud-lightning-fill:before{content:"\f2a9"}.bi-cloud-lightning-rain-fill:before{content:"\f2aa"}.bi-cloud-lightning-rain:before{content:"\f2ab"}.bi-cloud-lightning:before{content:"\f2ac"}.bi-cloud-minus-fill:before{content:"\f2ad"}.bi-cloud-minus:before{content:"\f2ae"}.bi-cloud-moon-fill:before{content:"\f2af"}.bi-cloud-moon:before{content:"\f2b0"}.bi-cloud-plus-fill:before{content:"\f2b1"}.bi-cloud-plus:before{content:"\f2b2"}.bi-cloud-rain-fill:before{content:"\f2b3"}.bi-cloud-rain-heavy-fill:before{content:"\f2b4"}.bi-cloud-rain-heavy:before{content:"\f2b5"}.bi-cloud-rain:before{content:"\f2b6"}.bi-cloud-slash-fill:before{content:"\f2b7"}.bi-cloud-slash:before{content:"\f2b8"}.bi-cloud-sleet-fill:before{content:"\f2b9"}.bi-cloud-sleet:before{content:"\f2ba"}.bi-cloud-snow-fill:before{content:"\f2bb"}.bi-cloud-snow:before{content:"\f2bc"}.bi-cloud-sun-fill:before{content:"\f2bd"}.bi-cloud-sun:before{content:"\f2be"}.bi-cloud-upload-fill:before{content:"\f2bf"}.bi-cloud-upload:before{content:"\f2c0"}.bi-cloud:before{content:"\f2c1"}.bi-clouds-fill:before{content:"\f2c2"}.bi-clouds:before{content:"\f2c3"}.bi-cloudy-fill:before{content:"\f2c4"}.bi-cloudy:before{content:"\f2c5"}.bi-code-slash:before{content:"\f2c6"}.bi-code-square:before{content:"\f2c7"}.bi-code:before{content:"\f2c8"}.bi-collection-fill:before{content:"\f2c9"}.bi-collection-play-fill:before{content:"\f2ca"}.bi-collection-play:before{content:"\f2cb"}.bi-collection:before{content:"\f2cc"}.bi-columns-gap:before{content:"\f2cd"}.bi-columns:before{content:"\f2ce"}.bi-command:before{content:"\f2cf"}.bi-compass-fill:before{content:"\f2d0"}.bi-compass:before{content:"\f2d1"}.bi-cone-striped:before{content:"\f2d2"}.bi-cone:before{content:"\f2d3"}.bi-controller:before{content:"\f2d4"}.bi-cpu-fill:before{content:"\f2d5"}.bi-cpu:before{content:"\f2d6"}.bi-credit-card-2-back-fill:before{content:"\f2d7"}.bi-credit-card-2-back:before{content:"\f2d8"}.bi-credit-card-2-front-fill:before{content:"\f2d9"}.bi-credit-card-2-front:before{content:"\f2da"}.bi-credit-card-fill:before{content:"\f2db"}.bi-credit-card:before{content:"\f2dc"}.bi-crop:before{content:"\f2dd"}.bi-cup-fill:before{content:"\f2de"}.bi-cup-straw:before{content:"\f2df"}.bi-cup:before{content:"\f2e0"}.bi-cursor-fill:before{content:"\f2e1"}.bi-cursor-text:before{content:"\f2e2"}.bi-cursor:before{content:"\f2e3"}.bi-dash-circle-dotted:before{content:"\f2e4"}.bi-dash-circle-fill:before{content:"\f2e5"}.bi-dash-circle:before{content:"\f2e6"}.bi-dash-square-dotted:before{content:"\f2e7"}.bi-dash-square-fill:before{content:"\f2e8"}.bi-dash-square:before{content:"\f2e9"}.bi-dash:before{content:"\f2ea"}.bi-diagram-2-fill:before{content:"\f2eb"}.bi-diagram-2:before{content:"\f2ec"}.bi-diagram-3-fill:before{content:"\f2ed"}.bi-diagram-3:before{content:"\f2ee"}.bi-diamond-fill:before{content:"\f2ef"}.bi-diamond-half:before{content:"\f2f0"}.bi-diamond:before{content:"\f2f1"}.bi-dice-1-fill:before{content:"\f2f2"}.bi-dice-1:before{content:"\f2f3"}.bi-dice-2-fill:before{content:"\f2f4"}.bi-dice-2:before{content:"\f2f5"}.bi-dice-3-fill:before{content:"\f2f6"}.bi-dice-3:before{content:"\f2f7"}.bi-dice-4-fill:before{content:"\f2f8"}.bi-dice-4:before{content:"\f2f9"}.bi-dice-5-fill:before{content:"\f2fa"}.bi-dice-5:before{content:"\f2fb"}.bi-dice-6-fill:before{content:"\f2fc"}.bi-dice-6:before{content:"\f2fd"}.bi-disc-fill:before{content:"\f2fe"}.bi-disc:before{content:"\f2ff"}.bi-discord:before{content:"\f300"}.bi-display-fill:before{content:"\f301"}.bi-display:before{content:"\f302"}.bi-distribute-horizontal:before{content:"\f303"}.bi-distribute-vertical:before{content:"\f304"}.bi-door-closed-fill:before{content:"\f305"}.bi-door-closed:before{content:"\f306"}.bi-door-open-fill:before{content:"\f307"}.bi-door-open:before{content:"\f308"}.bi-dot:before{content:"\f309"}.bi-download:before{content:"\f30a"}.bi-droplet-fill:before{content:"\f30b"}.bi-droplet-half:before{content:"\f30c"}.bi-droplet:before{content:"\f30d"}.bi-earbuds:before{content:"\f30e"}.bi-easel-fill:before{content:"\f30f"}.bi-easel:before{content:"\f310"}.bi-egg-fill:before{content:"\f311"}.bi-egg-fried:before{content:"\f312"}.bi-egg:before{content:"\f313"}.bi-eject-fill:before{content:"\f314"}.bi-eject:before{content:"\f315"}.bi-emoji-angry-fill:before{content:"\f316"}.bi-emoji-angry:before{content:"\f317"}.bi-emoji-dizzy-fill:before{content:"\f318"}.bi-emoji-dizzy:before{content:"\f319"}.bi-emoji-expressionless-fill:before{content:"\f31a"}.bi-emoji-expressionless:before{content:"\f31b"}.bi-emoji-frown-fill:before{content:"\f31c"}.bi-emoji-frown:before{content:"\f31d"}.bi-emoji-heart-eyes-fill:before{content:"\f31e"}.bi-emoji-heart-eyes:before{content:"\f31f"}.bi-emoji-laughing-fill:before{content:"\f320"}.bi-emoji-laughing:before{content:"\f321"}.bi-emoji-neutral-fill:before{content:"\f322"}.bi-emoji-neutral:before{content:"\f323"}.bi-emoji-smile-fill:before{content:"\f324"}.bi-emoji-smile-upside-down-fill:before{content:"\f325"}.bi-emoji-smile-upside-down:before{content:"\f326"}.bi-emoji-smile:before{content:"\f327"}.bi-emoji-sunglasses-fill:before{content:"\f328"}.bi-emoji-sunglasses:before{content:"\f329"}.bi-emoji-wink-fill:before{content:"\f32a"}.bi-emoji-wink:before{content:"\f32b"}.bi-envelope-fill:before{content:"\f32c"}.bi-envelope-open-fill:before{content:"\f32d"}.bi-envelope-open:before{content:"\f32e"}.bi-envelope:before{content:"\f32f"}.bi-eraser-fill:before{content:"\f330"}.bi-eraser:before{content:"\f331"}.bi-exclamation-circle-fill:before{content:"\f332"}.bi-exclamation-circle:before{content:"\f333"}.bi-exclamation-diamond-fill:before{content:"\f334"}.bi-exclamation-diamond:before{content:"\f335"}.bi-exclamation-octagon-fill:before{content:"\f336"}.bi-exclamation-octagon:before{content:"\f337"}.bi-exclamation-square-fill:before{content:"\f338"}.bi-exclamation-square:before{content:"\f339"}.bi-exclamation-triangle-fill:before{content:"\f33a"}.bi-exclamation-triangle:before{content:"\f33b"}.bi-exclamation:before{content:"\f33c"}.bi-exclude:before{content:"\f33d"}.bi-eye-fill:before{content:"\f33e"}.bi-eye-slash-fill:before{content:"\f33f"}.bi-eye-slash:before{content:"\f340"}.bi-eye:before{content:"\f341"}.bi-eyedropper:before{content:"\f342"}.bi-eyeglasses:before{content:"\f343"}.bi-facebook:before{content:"\f344"}.bi-file-arrow-down-fill:before{content:"\f345"}.bi-file-arrow-down:before{content:"\f346"}.bi-file-arrow-up-fill:before{content:"\f347"}.bi-file-arrow-up:before{content:"\f348"}.bi-file-bar-graph-fill:before{content:"\f349"}.bi-file-bar-graph:before{content:"\f34a"}.bi-file-binary-fill:before{content:"\f34b"}.bi-file-binary:before{content:"\f34c"}.bi-file-break-fill:before{content:"\f34d"}.bi-file-break:before{content:"\f34e"}.bi-file-check-fill:before{content:"\f34f"}.bi-file-check:before{content:"\f350"}.bi-file-code-fill:before{content:"\f351"}.bi-file-code:before{content:"\f352"}.bi-file-diff-fill:before{content:"\f353"}.bi-file-diff:before{content:"\f354"}.bi-file-earmark-arrow-down-fill:before{content:"\f355"}.bi-file-earmark-arrow-down:before{content:"\f356"}.bi-file-earmark-arrow-up-fill:before{content:"\f357"}.bi-file-earmark-arrow-up:before{content:"\f358"}.bi-file-earmark-bar-graph-fill:before{content:"\f359"}.bi-file-earmark-bar-graph:before{content:"\f35a"}.bi-file-earmark-binary-fill:before{content:"\f35b"}.bi-file-earmark-binary:before{content:"\f35c"}.bi-file-earmark-break-fill:before{content:"\f35d"}.bi-file-earmark-break:before{content:"\f35e"}.bi-file-earmark-check-fill:before{content:"\f35f"}.bi-file-earmark-check:before{content:"\f360"}.bi-file-earmark-code-fill:before{content:"\f361"}.bi-file-earmark-code:before{content:"\f362"}.bi-file-earmark-diff-fill:before{content:"\f363"}.bi-file-earmark-diff:before{content:"\f364"}.bi-file-earmark-easel-fill:before{content:"\f365"}.bi-file-earmark-easel:before{content:"\f366"}.bi-file-earmark-excel-fill:before{content:"\f367"}.bi-file-earmark-excel:before{content:"\f368"}.bi-file-earmark-fill:before{content:"\f369"}.bi-file-earmark-font-fill:before{content:"\f36a"}.bi-file-earmark-font:before{content:"\f36b"}.bi-file-earmark-image-fill:before{content:"\f36c"}.bi-file-earmark-image:before{content:"\f36d"}.bi-file-earmark-lock-fill:before{content:"\f36e"}.bi-file-earmark-lock:before{content:"\f36f"}.bi-file-earmark-lock2-fill:before{content:"\f370"}.bi-file-earmark-lock2:before{content:"\f371"}.bi-file-earmark-medical-fill:before{content:"\f372"}.bi-file-earmark-medical:before{content:"\f373"}.bi-file-earmark-minus-fill:before{content:"\f374"}.bi-file-earmark-minus:before{content:"\f375"}.bi-file-earmark-music-fill:before{content:"\f376"}.bi-file-earmark-music:before{content:"\f377"}.bi-file-earmark-person-fill:before{content:"\f378"}.bi-file-earmark-person:before{content:"\f379"}.bi-file-earmark-play-fill:before{content:"\f37a"}.bi-file-earmark-play:before{content:"\f37b"}.bi-file-earmark-plus-fill:before{content:"\f37c"}.bi-file-earmark-plus:before{content:"\f37d"}.bi-file-earmark-post-fill:before{content:"\f37e"}.bi-file-earmark-post:before{content:"\f37f"}.bi-file-earmark-ppt-fill:before{content:"\f380"}.bi-file-earmark-ppt:before{content:"\f381"}.bi-file-earmark-richtext-fill:before{content:"\f382"}.bi-file-earmark-richtext:before{content:"\f383"}.bi-file-earmark-ruled-fill:before{content:"\f384"}.bi-file-earmark-ruled:before{content:"\f385"}.bi-file-earmark-slides-fill:before{content:"\f386"}.bi-file-earmark-slides:before{content:"\f387"}.bi-file-earmark-spreadsheet-fill:before{content:"\f388"}.bi-file-earmark-spreadsheet:before{content:"\f389"}.bi-file-earmark-text-fill:before{content:"\f38a"}.bi-file-earmark-text:before{content:"\f38b"}.bi-file-earmark-word-fill:before{content:"\f38c"}.bi-file-earmark-word:before{content:"\f38d"}.bi-file-earmark-x-fill:before{content:"\f38e"}.bi-file-earmark-x:before{content:"\f38f"}.bi-file-earmark-zip-fill:before{content:"\f390"}.bi-file-earmark-zip:before{content:"\f391"}.bi-file-earmark:before{content:"\f392"}.bi-file-easel-fill:before{content:"\f393"}.bi-file-easel:before{content:"\f394"}.bi-file-excel-fill:before{content:"\f395"}.bi-file-excel:before{content:"\f396"}.bi-file-fill:before{content:"\f397"}.bi-file-font-fill:before{content:"\f398"}.bi-file-font:before{content:"\f399"}.bi-file-image-fill:before{content:"\f39a"}.bi-file-image:before{content:"\f39b"}.bi-file-lock-fill:before{content:"\f39c"}.bi-file-lock:before{content:"\f39d"}.bi-file-lock2-fill:before{content:"\f39e"}.bi-file-lock2:before{content:"\f39f"}.bi-file-medical-fill:before{content:"\f3a0"}.bi-file-medical:before{content:"\f3a1"}.bi-file-minus-fill:before{content:"\f3a2"}.bi-file-minus:before{content:"\f3a3"}.bi-file-music-fill:before{content:"\f3a4"}.bi-file-music:before{content:"\f3a5"}.bi-file-person-fill:before{content:"\f3a6"}.bi-file-person:before{content:"\f3a7"}.bi-file-play-fill:before{content:"\f3a8"}.bi-file-play:before{content:"\f3a9"}.bi-file-plus-fill:before{content:"\f3aa"}.bi-file-plus:before{content:"\f3ab"}.bi-file-post-fill:before{content:"\f3ac"}.bi-file-post:before{content:"\f3ad"}.bi-file-ppt-fill:before{content:"\f3ae"}.bi-file-ppt:before{content:"\f3af"}.bi-file-richtext-fill:before{content:"\f3b0"}.bi-file-richtext:before{content:"\f3b1"}.bi-file-ruled-fill:before{content:"\f3b2"}.bi-file-ruled:before{content:"\f3b3"}.bi-file-slides-fill:before{content:"\f3b4"}.bi-file-slides:before{content:"\f3b5"}.bi-file-spreadsheet-fill:before{content:"\f3b6"}.bi-file-spreadsheet:before{content:"\f3b7"}.bi-file-text-fill:before{content:"\f3b8"}.bi-file-text:before{content:"\f3b9"}.bi-file-word-fill:before{content:"\f3ba"}.bi-file-word:before{content:"\f3bb"}.bi-file-x-fill:before{content:"\f3bc"}.bi-file-x:before{content:"\f3bd"}.bi-file-zip-fill:before{content:"\f3be"}.bi-file-zip:before{content:"\f3bf"}.bi-file:before{content:"\f3c0"}.bi-files-alt:before{content:"\f3c1"}.bi-files:before{content:"\f3c2"}.bi-film:before{content:"\f3c3"}.bi-filter-circle-fill:before{content:"\f3c4"}.bi-filter-circle:before{content:"\f3c5"}.bi-filter-left:before{content:"\f3c6"}.bi-filter-right:before{content:"\f3c7"}.bi-filter-square-fill:before{content:"\f3c8"}.bi-filter-square:before{content:"\f3c9"}.bi-filter:before{content:"\f3ca"}.bi-flag-fill:before{content:"\f3cb"}.bi-flag:before{content:"\f3cc"}.bi-flower1:before{content:"\f3cd"}.bi-flower2:before{content:"\f3ce"}.bi-flower3:before{content:"\f3cf"}.bi-folder-check:before{content:"\f3d0"}.bi-folder-fill:before{content:"\f3d1"}.bi-folder-minus:before{content:"\f3d2"}.bi-folder-plus:before{content:"\f3d3"}.bi-folder-symlink-fill:before{content:"\f3d4"}.bi-folder-symlink:before{content:"\f3d5"}.bi-folder-x:before{content:"\f3d6"}.bi-folder:before{content:"\f3d7"}.bi-folder2-open:before{content:"\f3d8"}.bi-folder2:before{content:"\f3d9"}.bi-fonts:before{content:"\f3da"}.bi-forward-fill:before{content:"\f3db"}.bi-forward:before{content:"\f3dc"}.bi-front:before{content:"\f3dd"}.bi-fullscreen-exit:before{content:"\f3de"}.bi-fullscreen:before{content:"\f3df"}.bi-funnel-fill:before{content:"\f3e0"}.bi-funnel:before{content:"\f3e1"}.bi-gear-fill:before{content:"\f3e2"}.bi-gear-wide-connected:before{content:"\f3e3"}.bi-gear-wide:before{content:"\f3e4"}.bi-gear:before{content:"\f3e5"}.bi-gem:before{content:"\f3e6"}.bi-geo-alt-fill:before{content:"\f3e7"}.bi-geo-alt:before{content:"\f3e8"}.bi-geo-fill:before{content:"\f3e9"}.bi-geo:before{content:"\f3ea"}.bi-gift-fill:before{content:"\f3eb"}.bi-gift:before{content:"\f3ec"}.bi-github:before{content:"\f3ed"}.bi-globe:before{content:"\f3ee"}.bi-globe2:before{content:"\f3ef"}.bi-google:before{content:"\f3f0"}.bi-graph-down:before{content:"\f3f1"}.bi-graph-up:before{content:"\f3f2"}.bi-grid-1x2-fill:before{content:"\f3f3"}.bi-grid-1x2:before{content:"\f3f4"}.bi-grid-3x2-gap-fill:before{content:"\f3f5"}.bi-grid-3x2-gap:before{content:"\f3f6"}.bi-grid-3x2:before{content:"\f3f7"}.bi-grid-3x3-gap-fill:before{content:"\f3f8"}.bi-grid-3x3-gap:before{content:"\f3f9"}.bi-grid-3x3:before{content:"\f3fa"}.bi-grid-fill:before{content:"\f3fb"}.bi-grid:before{content:"\f3fc"}.bi-grip-horizontal:before{content:"\f3fd"}.bi-grip-vertical:before{content:"\f3fe"}.bi-hammer:before{content:"\f3ff"}.bi-hand-index-fill:before{content:"\f400"}.bi-hand-index-thumb-fill:before{content:"\f401"}.bi-hand-index-thumb:before{content:"\f402"}.bi-hand-index:before{content:"\f403"}.bi-hand-thumbs-down-fill:before{content:"\f404"}.bi-hand-thumbs-down:before{content:"\f405"}.bi-hand-thumbs-up-fill:before{content:"\f406"}.bi-hand-thumbs-up:before{content:"\f407"}.bi-handbag-fill:before{content:"\f408"}.bi-handbag:before{content:"\f409"}.bi-hash:before{content:"\f40a"}.bi-hdd-fill:before{content:"\f40b"}.bi-hdd-network-fill:before{content:"\f40c"}.bi-hdd-network:before{content:"\f40d"}.bi-hdd-rack-fill:before{content:"\f40e"}.bi-hdd-rack:before{content:"\f40f"}.bi-hdd-stack-fill:before{content:"\f410"}.bi-hdd-stack:before{content:"\f411"}.bi-hdd:before{content:"\f412"}.bi-headphones:before{content:"\f413"}.bi-headset:before{content:"\f414"}.bi-heart-fill:before{content:"\f415"}.bi-heart-half:before{content:"\f416"}.bi-heart:before{content:"\f417"}.bi-heptagon-fill:before{content:"\f418"}.bi-heptagon-half:before{content:"\f419"}.bi-heptagon:before{content:"\f41a"}.bi-hexagon-fill:before{content:"\f41b"}.bi-hexagon-half:before{content:"\f41c"}.bi-hexagon:before{content:"\f41d"}.bi-hourglass-bottom:before{content:"\f41e"}.bi-hourglass-split:before{content:"\f41f"}.bi-hourglass-top:before{content:"\f420"}.bi-hourglass:before{content:"\f421"}.bi-house-door-fill:before{content:"\f422"}.bi-house-door:before{content:"\f423"}.bi-house-fill:before{content:"\f424"}.bi-house:before{content:"\f425"}.bi-hr:before{content:"\f426"}.bi-hurricane:before{content:"\f427"}.bi-image-alt:before{content:"\f428"}.bi-image-fill:before{content:"\f429"}.bi-image:before{content:"\f42a"}.bi-images:before{content:"\f42b"}.bi-inbox-fill:before{content:"\f42c"}.bi-inbox:before{content:"\f42d"}.bi-inboxes-fill:before{content:"\f42e"}.bi-inboxes:before{content:"\f42f"}.bi-info-circle-fill:before{content:"\f430"}.bi-info-circle:before{content:"\f431"}.bi-info-square-fill:before{content:"\f432"}.bi-info-square:before{content:"\f433"}.bi-info:before{content:"\f434"}.bi-input-cursor-text:before{content:"\f435"}.bi-input-cursor:before{content:"\f436"}.bi-instagram:before{content:"\f437"}.bi-intersect:before{content:"\f438"}.bi-journal-album:before{content:"\f439"}.bi-journal-arrow-down:before{content:"\f43a"}.bi-journal-arrow-up:before{content:"\f43b"}.bi-journal-bookmark-fill:before{content:"\f43c"}.bi-journal-bookmark:before{content:"\f43d"}.bi-journal-check:before{content:"\f43e"}.bi-journal-code:before{content:"\f43f"}.bi-journal-medical:before{content:"\f440"}.bi-journal-minus:before{content:"\f441"}.bi-journal-plus:before{content:"\f442"}.bi-journal-richtext:before{content:"\f443"}.bi-journal-text:before{content:"\f444"}.bi-journal-x:before{content:"\f445"}.bi-journal:before{content:"\f446"}.bi-journals:before{content:"\f447"}.bi-joystick:before{content:"\f448"}.bi-justify-left:before{content:"\f449"}.bi-justify-right:before{content:"\f44a"}.bi-justify:before{content:"\f44b"}.bi-kanban-fill:before{content:"\f44c"}.bi-kanban:before{content:"\f44d"}.bi-key-fill:before{content:"\f44e"}.bi-key:before{content:"\f44f"}.bi-keyboard-fill:before{content:"\f450"}.bi-keyboard:before{content:"\f451"}.bi-ladder:before{content:"\f452"}.bi-lamp-fill:before{content:"\f453"}.bi-lamp:before{content:"\f454"}.bi-laptop-fill:before{content:"\f455"}.bi-laptop:before{content:"\f456"}.bi-layer-backward:before{content:"\f457"}.bi-layer-forward:before{content:"\f458"}.bi-layers-fill:before{content:"\f459"}.bi-layers-half:before{content:"\f45a"}.bi-layers:before{content:"\f45b"}.bi-layout-sidebar-inset-reverse:before{content:"\f45c"}.bi-layout-sidebar-inset:before{content:"\f45d"}.bi-layout-sidebar-reverse:before{content:"\f45e"}.bi-layout-sidebar:before{content:"\f45f"}.bi-layout-split:before{content:"\f460"}.bi-layout-text-sidebar-reverse:before{content:"\f461"}.bi-layout-text-sidebar:before{content:"\f462"}.bi-layout-text-window-reverse:before{content:"\f463"}.bi-layout-text-window:before{content:"\f464"}.bi-layout-three-columns:before{content:"\f465"}.bi-layout-wtf:before{content:"\f466"}.bi-life-preserver:before{content:"\f467"}.bi-lightbulb-fill:before{content:"\f468"}.bi-lightbulb-off-fill:before{content:"\f469"}.bi-lightbulb-off:before{content:"\f46a"}.bi-lightbulb:before{content:"\f46b"}.bi-lightning-charge-fill:before{content:"\f46c"}.bi-lightning-charge:before{content:"\f46d"}.bi-lightning-fill:before{content:"\f46e"}.bi-lightning:before{content:"\f46f"}.bi-link-45deg:before{content:"\f470"}.bi-link:before{content:"\f471"}.bi-linkedin:before{content:"\f472"}.bi-list-check:before{content:"\f473"}.bi-list-nested:before{content:"\f474"}.bi-list-ol:before{content:"\f475"}.bi-list-stars:before{content:"\f476"}.bi-list-task:before{content:"\f477"}.bi-list-ul:before{content:"\f478"}.bi-list:before{content:"\f479"}.bi-lock-fill:before{content:"\f47a"}.bi-lock:before{content:"\f47b"}.bi-mailbox:before{content:"\f47c"}.bi-mailbox2:before{content:"\f47d"}.bi-map-fill:before{content:"\f47e"}.bi-map:before{content:"\f47f"}.bi-markdown-fill:before{content:"\f480"}.bi-markdown:before{content:"\f481"}.bi-mask:before{content:"\f482"}.bi-megaphone-fill:before{content:"\f483"}.bi-megaphone:before{content:"\f484"}.bi-menu-app-fill:before{content:"\f485"}.bi-menu-app:before{content:"\f486"}.bi-menu-button-fill:before{content:"\f487"}.bi-menu-button-wide-fill:before{content:"\f488"}.bi-menu-button-wide:before{content:"\f489"}.bi-menu-button:before{content:"\f48a"}.bi-menu-down:before{content:"\f48b"}.bi-menu-up:before{content:"\f48c"}.bi-mic-fill:before{content:"\f48d"}.bi-mic-mute-fill:before{content:"\f48e"}.bi-mic-mute:before{content:"\f48f"}.bi-mic:before{content:"\f490"}.bi-minecart-loaded:before{content:"\f491"}.bi-minecart:before{content:"\f492"}.bi-moisture:before{content:"\f493"}.bi-moon-fill:before{content:"\f494"}.bi-moon-stars-fill:before{content:"\f495"}.bi-moon-stars:before{content:"\f496"}.bi-moon:before{content:"\f497"}.bi-mouse-fill:before{content:"\f498"}.bi-mouse:before{content:"\f499"}.bi-mouse2-fill:before{content:"\f49a"}.bi-mouse2:before{content:"\f49b"}.bi-mouse3-fill:before{content:"\f49c"}.bi-mouse3:before{content:"\f49d"}.bi-music-note-beamed:before{content:"\f49e"}.bi-music-note-list:before{content:"\f49f"}.bi-music-note:before{content:"\f4a0"}.bi-music-player-fill:before{content:"\f4a1"}.bi-music-player:before{content:"\f4a2"}.bi-newspaper:before{content:"\f4a3"}.bi-node-minus-fill:before{content:"\f4a4"}.bi-node-minus:before{content:"\f4a5"}.bi-node-plus-fill:before{content:"\f4a6"}.bi-node-plus:before{content:"\f4a7"}.bi-nut-fill:before{content:"\f4a8"}.bi-nut:before{content:"\f4a9"}.bi-octagon-fill:before{content:"\f4aa"}.bi-octagon-half:before{content:"\f4ab"}.bi-octagon:before{content:"\f4ac"}.bi-option:before{content:"\f4ad"}.bi-outlet:before{content:"\f4ae"}.bi-paint-bucket:before{content:"\f4af"}.bi-palette-fill:before{content:"\f4b0"}.bi-palette:before{content:"\f4b1"}.bi-palette2:before{content:"\f4b2"}.bi-paperclip:before{content:"\f4b3"}.bi-paragraph:before{content:"\f4b4"}.bi-patch-check-fill:before{content:"\f4b5"}.bi-patch-check:before{content:"\f4b6"}.bi-patch-exclamation-fill:before{content:"\f4b7"}.bi-patch-exclamation:before{content:"\f4b8"}.bi-patch-minus-fill:before{content:"\f4b9"}.bi-patch-minus:before{content:"\f4ba"}.bi-patch-plus-fill:before{content:"\f4bb"}.bi-patch-plus:before{content:"\f4bc"}.bi-patch-question-fill:before{content:"\f4bd"}.bi-patch-question:before{content:"\f4be"}.bi-pause-btn-fill:before{content:"\f4bf"}.bi-pause-btn:before{content:"\f4c0"}.bi-pause-circle-fill:before{content:"\f4c1"}.bi-pause-circle:before{content:"\f4c2"}.bi-pause-fill:before{content:"\f4c3"}.bi-pause:before{content:"\f4c4"}.bi-peace-fill:before{content:"\f4c5"}.bi-peace:before{content:"\f4c6"}.bi-pen-fill:before{content:"\f4c7"}.bi-pen:before{content:"\f4c8"}.bi-pencil-fill:before{content:"\f4c9"}.bi-pencil-square:before{content:"\f4ca"}.bi-pencil:before{content:"\f4cb"}.bi-pentagon-fill:before{content:"\f4cc"}.bi-pentagon-half:before{content:"\f4cd"}.bi-pentagon:before{content:"\f4ce"}.bi-people-fill:before{content:"\f4cf"}.bi-people:before{content:"\f4d0"}.bi-percent:before{content:"\f4d1"}.bi-person-badge-fill:before{content:"\f4d2"}.bi-person-badge:before{content:"\f4d3"}.bi-person-bounding-box:before{content:"\f4d4"}.bi-person-check-fill:before{content:"\f4d5"}.bi-person-check:before{content:"\f4d6"}.bi-person-circle:before{content:"\f4d7"}.bi-person-dash-fill:before{content:"\f4d8"}.bi-person-dash:before{content:"\f4d9"}.bi-person-fill:before{content:"\f4da"}.bi-person-lines-fill:before{content:"\f4db"}.bi-person-plus-fill:before{content:"\f4dc"}.bi-person-plus:before{content:"\f4dd"}.bi-person-square:before{content:"\f4de"}.bi-person-x-fill:before{content:"\f4df"}.bi-person-x:before{content:"\f4e0"}.bi-person:before{content:"\f4e1"}.bi-phone-fill:before{content:"\f4e2"}.bi-phone-landscape-fill:before{content:"\f4e3"}.bi-phone-landscape:before{content:"\f4e4"}.bi-phone-vibrate-fill:before{content:"\f4e5"}.bi-phone-vibrate:before{content:"\f4e6"}.bi-phone:before{content:"\f4e7"}.bi-pie-chart-fill:before{content:"\f4e8"}.bi-pie-chart:before{content:"\f4e9"}.bi-pin-angle-fill:before{content:"\f4ea"}.bi-pin-angle:before{content:"\f4eb"}.bi-pin-fill:before{content:"\f4ec"}.bi-pin:before{content:"\f4ed"}.bi-pip-fill:before{content:"\f4ee"}.bi-pip:before{content:"\f4ef"}.bi-play-btn-fill:before{content:"\f4f0"}.bi-play-btn:before{content:"\f4f1"}.bi-play-circle-fill:before{content:"\f4f2"}.bi-play-circle:before{content:"\f4f3"}.bi-play-fill:before{content:"\f4f4"}.bi-play:before{content:"\f4f5"}.bi-plug-fill:before{content:"\f4f6"}.bi-plug:before{content:"\f4f7"}.bi-plus-circle-dotted:before{content:"\f4f8"}.bi-plus-circle-fill:before{content:"\f4f9"}.bi-plus-circle:before{content:"\f4fa"}.bi-plus-square-dotted:before{content:"\f4fb"}.bi-plus-square-fill:before{content:"\f4fc"}.bi-plus-square:before{content:"\f4fd"}.bi-plus:before{content:"\f4fe"}.bi-power:before{content:"\f4ff"}.bi-printer-fill:before{content:"\f500"}.bi-printer:before{content:"\f501"}.bi-puzzle-fill:before{content:"\f502"}.bi-puzzle:before{content:"\f503"}.bi-question-circle-fill:before{content:"\f504"}.bi-question-circle:before{content:"\f505"}.bi-question-diamond-fill:before{content:"\f506"}.bi-question-diamond:before{content:"\f507"}.bi-question-octagon-fill:before{content:"\f508"}.bi-question-octagon:before{content:"\f509"}.bi-question-square-fill:before{content:"\f50a"}.bi-question-square:before{content:"\f50b"}.bi-question:before{content:"\f50c"}.bi-rainbow:before{content:"\f50d"}.bi-receipt-cutoff:before{content:"\f50e"}.bi-receipt:before{content:"\f50f"}.bi-reception-0:before{content:"\f510"}.bi-reception-1:before{content:"\f511"}.bi-reception-2:before{content:"\f512"}.bi-reception-3:before{content:"\f513"}.bi-reception-4:before{content:"\f514"}.bi-record-btn-fill:before{content:"\f515"}.bi-record-btn:before{content:"\f516"}.bi-record-circle-fill:before{content:"\f517"}.bi-record-circle:before{content:"\f518"}.bi-record-fill:before{content:"\f519"}.bi-record:before{content:"\f51a"}.bi-record2-fill:before{content:"\f51b"}.bi-record2:before{content:"\f51c"}.bi-reply-all-fill:before{content:"\f51d"}.bi-reply-all:before{content:"\f51e"}.bi-reply-fill:before{content:"\f51f"}.bi-reply:before{content:"\f520"}.bi-rss-fill:before{content:"\f521"}.bi-rss:before{content:"\f522"}.bi-rulers:before{content:"\f523"}.bi-save-fill:before{content:"\f524"}.bi-save:before{content:"\f525"}.bi-save2-fill:before{content:"\f526"}.bi-save2:before{content:"\f527"}.bi-scissors:before{content:"\f528"}.bi-screwdriver:before{content:"\f529"}.bi-search:before{content:"\f52a"}.bi-segmented-nav:before{content:"\f52b"}.bi-server:before{content:"\f52c"}.bi-share-fill:before{content:"\f52d"}.bi-share:before{content:"\f52e"}.bi-shield-check:before{content:"\f52f"}.bi-shield-exclamation:before{content:"\f530"}.bi-shield-fill-check:before{content:"\f531"}.bi-shield-fill-exclamation:before{content:"\f532"}.bi-shield-fill-minus:before{content:"\f533"}.bi-shield-fill-plus:before{content:"\f534"}.bi-shield-fill-x:before{content:"\f535"}.bi-shield-fill:before{content:"\f536"}.bi-shield-lock-fill:before{content:"\f537"}.bi-shield-lock:before{content:"\f538"}.bi-shield-minus:before{content:"\f539"}.bi-shield-plus:before{content:"\f53a"}.bi-shield-shaded:before{content:"\f53b"}.bi-shield-slash-fill:before{content:"\f53c"}.bi-shield-slash:before{content:"\f53d"}.bi-shield-x:before{content:"\f53e"}.bi-shield:before{content:"\f53f"}.bi-shift-fill:before{content:"\f540"}.bi-shift:before{content:"\f541"}.bi-shop-window:before{content:"\f542"}.bi-shop:before{content:"\f543"}.bi-shuffle:before{content:"\f544"}.bi-signpost-2-fill:before{content:"\f545"}.bi-signpost-2:before{content:"\f546"}.bi-signpost-fill:before{content:"\f547"}.bi-signpost-split-fill:before{content:"\f548"}.bi-signpost-split:before{content:"\f549"}.bi-signpost:before{content:"\f54a"}.bi-sim-fill:before{content:"\f54b"}.bi-sim:before{content:"\f54c"}.bi-skip-backward-btn-fill:before{content:"\f54d"}.bi-skip-backward-btn:before{content:"\f54e"}.bi-skip-backward-circle-fill:before{content:"\f54f"}.bi-skip-backward-circle:before{content:"\f550"}.bi-skip-backward-fill:before{content:"\f551"}.bi-skip-backward:before{content:"\f552"}.bi-skip-end-btn-fill:before{content:"\f553"}.bi-skip-end-btn:before{content:"\f554"}.bi-skip-end-circle-fill:before{content:"\f555"}.bi-skip-end-circle:before{content:"\f556"}.bi-skip-end-fill:before{content:"\f557"}.bi-skip-end:before{content:"\f558"}.bi-skip-forward-btn-fill:before{content:"\f559"}.bi-skip-forward-btn:before{content:"\f55a"}.bi-skip-forward-circle-fill:before{content:"\f55b"}.bi-skip-forward-circle:before{content:"\f55c"}.bi-skip-forward-fill:before{content:"\f55d"}.bi-skip-forward:before{content:"\f55e"}.bi-skip-start-btn-fill:before{content:"\f55f"}.bi-skip-start-btn:before{content:"\f560"}.bi-skip-start-circle-fill:before{content:"\f561"}.bi-skip-start-circle:before{content:"\f562"}.bi-skip-start-fill:before{content:"\f563"}.bi-skip-start:before{content:"\f564"}.bi-slack:before{content:"\f565"}.bi-slash-circle-fill:before{content:"\f566"}.bi-slash-circle:before{content:"\f567"}.bi-slash-square-fill:before{content:"\f568"}.bi-slash-square:before{content:"\f569"}.bi-slash:before{content:"\f56a"}.bi-sliders:before{content:"\f56b"}.bi-smartwatch:before{content:"\f56c"}.bi-snow:before{content:"\f56d"}.bi-snow2:before{content:"\f56e"}.bi-snow3:before{content:"\f56f"}.bi-sort-alpha-down-alt:before{content:"\f570"}.bi-sort-alpha-down:before{content:"\f571"}.bi-sort-alpha-up-alt:before{content:"\f572"}.bi-sort-alpha-up:before{content:"\f573"}.bi-sort-down-alt:before{content:"\f574"}.bi-sort-down:before{content:"\f575"}.bi-sort-numeric-down-alt:before{content:"\f576"}.bi-sort-numeric-down:before{content:"\f577"}.bi-sort-numeric-up-alt:before{content:"\f578"}.bi-sort-numeric-up:before{content:"\f579"}.bi-sort-up-alt:before{content:"\f57a"}.bi-sort-up:before{content:"\f57b"}.bi-soundwave:before{content:"\f57c"}.bi-speaker-fill:before{content:"\f57d"}.bi-speaker:before{content:"\f57e"}.bi-speedometer:before{content:"\f57f"}.bi-speedometer2:before{content:"\f580"}.bi-spellcheck:before{content:"\f581"}.bi-square-fill:before{content:"\f582"}.bi-square-half:before{content:"\f583"}.bi-square:before{content:"\f584"}.bi-stack:before{content:"\f585"}.bi-star-fill:before{content:"\f586"}.bi-star-half:before{content:"\f587"}.bi-star:before{content:"\f588"}.bi-stars:before{content:"\f589"}.bi-stickies-fill:before{content:"\f58a"}.bi-stickies:before{content:"\f58b"}.bi-sticky-fill:before{content:"\f58c"}.bi-sticky:before{content:"\f58d"}.bi-stop-btn-fill:before{content:"\f58e"}.bi-stop-btn:before{content:"\f58f"}.bi-stop-circle-fill:before{content:"\f590"}.bi-stop-circle:before{content:"\f591"}.bi-stop-fill:before{content:"\f592"}.bi-stop:before{content:"\f593"}.bi-stoplights-fill:before{content:"\f594"}.bi-stoplights:before{content:"\f595"}.bi-stopwatch-fill:before{content:"\f596"}.bi-stopwatch:before{content:"\f597"}.bi-subtract:before{content:"\f598"}.bi-suit-club-fill:before{content:"\f599"}.bi-suit-club:before{content:"\f59a"}.bi-suit-diamond-fill:before{content:"\f59b"}.bi-suit-diamond:before{content:"\f59c"}.bi-suit-heart-fill:before{content:"\f59d"}.bi-suit-heart:before{content:"\f59e"}.bi-suit-spade-fill:before{content:"\f59f"}.bi-suit-spade:before{content:"\f5a0"}.bi-sun-fill:before{content:"\f5a1"}.bi-sun:before{content:"\f5a2"}.bi-sunglasses:before{content:"\f5a3"}.bi-sunrise-fill:before{content:"\f5a4"}.bi-sunrise:before{content:"\f5a5"}.bi-sunset-fill:before{content:"\f5a6"}.bi-sunset:before{content:"\f5a7"}.bi-symmetry-horizontal:before{content:"\f5a8"}.bi-symmetry-vertical:before{content:"\f5a9"}.bi-table:before{content:"\f5aa"}.bi-tablet-fill:before{content:"\f5ab"}.bi-tablet-landscape-fill:before{content:"\f5ac"}.bi-tablet-landscape:before{content:"\f5ad"}.bi-tablet:before{content:"\f5ae"}.bi-tag-fill:before{content:"\f5af"}.bi-tag:before{content:"\f5b0"}.bi-tags-fill:before{content:"\f5b1"}.bi-tags:before{content:"\f5b2"}.bi-telegram:before{content:"\f5b3"}.bi-telephone-fill:before{content:"\f5b4"}.bi-telephone-forward-fill:before{content:"\f5b5"}.bi-telephone-forward:before{content:"\f5b6"}.bi-telephone-inbound-fill:before{content:"\f5b7"}.bi-telephone-inbound:before{content:"\f5b8"}.bi-telephone-minus-fill:before{content:"\f5b9"}.bi-telephone-minus:before{content:"\f5ba"}.bi-telephone-outbound-fill:before{content:"\f5bb"}.bi-telephone-outbound:before{content:"\f5bc"}.bi-telephone-plus-fill:before{content:"\f5bd"}.bi-telephone-plus:before{content:"\f5be"}.bi-telephone-x-fill:before{content:"\f5bf"}.bi-telephone-x:before{content:"\f5c0"}.bi-telephone:before{content:"\f5c1"}.bi-terminal-fill:before{content:"\f5c2"}.bi-terminal:before{content:"\f5c3"}.bi-text-center:before{content:"\f5c4"}.bi-text-indent-left:before{content:"\f5c5"}.bi-text-indent-right:before{content:"\f5c6"}.bi-text-left:before{content:"\f5c7"}.bi-text-paragraph:before{content:"\f5c8"}.bi-text-right:before{content:"\f5c9"}.bi-textarea-resize:before{content:"\f5ca"}.bi-textarea-t:before{content:"\f5cb"}.bi-textarea:before{content:"\f5cc"}.bi-thermometer-half:before{content:"\f5cd"}.bi-thermometer-high:before{content:"\f5ce"}.bi-thermometer-low:before{content:"\f5cf"}.bi-thermometer-snow:before{content:"\f5d0"}.bi-thermometer-sun:before{content:"\f5d1"}.bi-thermometer:before{content:"\f5d2"}.bi-three-dots-vertical:before{content:"\f5d3"}.bi-three-dots:before{content:"\f5d4"}.bi-toggle-off:before{content:"\f5d5"}.bi-toggle-on:before{content:"\f5d6"}.bi-toggle2-off:before{content:"\f5d7"}.bi-toggle2-on:before{content:"\f5d8"}.bi-toggles:before{content:"\f5d9"}.bi-toggles2:before{content:"\f5da"}.bi-tools:before{content:"\f5db"}.bi-tornado:before{content:"\f5dc"}.bi-trash-fill:before{content:"\f5dd"}.bi-trash:before{content:"\f5de"}.bi-trash2-fill:before{content:"\f5df"}.bi-trash2:before{content:"\f5e0"}.bi-tree-fill:before{content:"\f5e1"}.bi-tree:before{content:"\f5e2"}.bi-triangle-fill:before{content:"\f5e3"}.bi-triangle-half:before{content:"\f5e4"}.bi-triangle:before{content:"\f5e5"}.bi-trophy-fill:before{content:"\f5e6"}.bi-trophy:before{content:"\f5e7"}.bi-tropical-storm:before{content:"\f5e8"}.bi-truck-flatbed:before{content:"\f5e9"}.bi-truck:before{content:"\f5ea"}.bi-tsunami:before{content:"\f5eb"}.bi-tv-fill:before{content:"\f5ec"}.bi-tv:before{content:"\f5ed"}.bi-twitch:before{content:"\f5ee"}.bi-twitter:before{content:"\f5ef"}.bi-type-bold:before{content:"\f5f0"}.bi-type-h1:before{content:"\f5f1"}.bi-type-h2:before{content:"\f5f2"}.bi-type-h3:before{content:"\f5f3"}.bi-type-italic:before{content:"\f5f4"}.bi-type-strikethrough:before{content:"\f5f5"}.bi-type-underline:before{content:"\f5f6"}.bi-type:before{content:"\f5f7"}.bi-ui-checks-grid:before{content:"\f5f8"}.bi-ui-checks:before{content:"\f5f9"}.bi-ui-radios-grid:before{content:"\f5fa"}.bi-ui-radios:before{content:"\f5fb"}.bi-umbrella-fill:before{content:"\f5fc"}.bi-umbrella:before{content:"\f5fd"}.bi-union:before{content:"\f5fe"}.bi-unlock-fill:before{content:"\f5ff"}.bi-unlock:before{content:"\f600"}.bi-upc-scan:before{content:"\f601"}.bi-upc:before{content:"\f602"}.bi-upload:before{content:"\f603"}.bi-vector-pen:before{content:"\f604"}.bi-view-list:before{content:"\f605"}.bi-view-stacked:before{content:"\f606"}.bi-vinyl-fill:before{content:"\f607"}.bi-vinyl:before{content:"\f608"}.bi-voicemail:before{content:"\f609"}.bi-volume-down-fill:before{content:"\f60a"}.bi-volume-down:before{content:"\f60b"}.bi-volume-mute-fill:before{content:"\f60c"}.bi-volume-mute:before{content:"\f60d"}.bi-volume-off-fill:before{content:"\f60e"}.bi-volume-off:before{content:"\f60f"}.bi-volume-up-fill:before{content:"\f610"}.bi-volume-up:before{content:"\f611"}.bi-vr:before{content:"\f612"}.bi-wallet-fill:before{content:"\f613"}.bi-wallet:before{content:"\f614"}.bi-wallet2:before{content:"\f615"}.bi-watch:before{content:"\f616"}.bi-water:before{content:"\f617"}.bi-whatsapp:before{content:"\f618"}.bi-wifi-1:before{content:"\f619"}.bi-wifi-2:before{content:"\f61a"}.bi-wifi-off:before{content:"\f61b"}.bi-wifi:before{content:"\f61c"}.bi-wind:before{content:"\f61d"}.bi-window-dock:before{content:"\f61e"}.bi-window-sidebar:before{content:"\f61f"}.bi-window:before{content:"\f620"}.bi-wrench:before{content:"\f621"}.bi-x-circle-fill:before{content:"\f622"}.bi-x-circle:before{content:"\f623"}.bi-x-diamond-fill:before{content:"\f624"}.bi-x-diamond:before{content:"\f625"}.bi-x-octagon-fill:before{content:"\f626"}.bi-x-octagon:before{content:"\f627"}.bi-x-square-fill:before{content:"\f628"}.bi-x-square:before{content:"\f629"}.bi-x:before{content:"\f62a"}.bi-youtube:before{content:"\f62b"}.bi-zoom-in:before{content:"\f62c"}.bi-zoom-out:before{content:"\f62d"}.bi-bank:before{content:"\f62e"}.bi-bank2:before{content:"\f62f"}.bi-bell-slash-fill:before{content:"\f630"}.bi-bell-slash:before{content:"\f631"}.bi-cash-coin:before{content:"\f632"}.bi-check-lg:before{content:"\f633"}.bi-coin:before{content:"\f634"}.bi-currency-bitcoin:before{content:"\f635"}.bi-currency-dollar:before{content:"\f636"}.bi-currency-euro:before{content:"\f637"}.bi-currency-exchange:before{content:"\f638"}.bi-currency-pound:before{content:"\f639"}.bi-currency-yen:before{content:"\f63a"}.bi-dash-lg:before{content:"\f63b"}.bi-exclamation-lg:before{content:"\f63c"}.bi-file-earmark-pdf-fill:before{content:"\f63d"}.bi-file-earmark-pdf:before{content:"\f63e"}.bi-file-pdf-fill:before{content:"\f63f"}.bi-file-pdf:before{content:"\f640"}.bi-gender-ambiguous:before{content:"\f641"}.bi-gender-female:before{content:"\f642"}.bi-gender-male:before{content:"\f643"}.bi-gender-trans:before{content:"\f644"}.bi-headset-vr:before{content:"\f645"}.bi-info-lg:before{content:"\f646"}.bi-mastodon:before{content:"\f647"}.bi-messenger:before{content:"\f648"}.bi-piggy-bank-fill:before{content:"\f649"}.bi-piggy-bank:before{content:"\f64a"}.bi-pin-map-fill:before{content:"\f64b"}.bi-pin-map:before{content:"\f64c"}.bi-plus-lg:before{content:"\f64d"}.bi-question-lg:before{content:"\f64e"}.bi-recycle:before{content:"\f64f"}.bi-reddit:before{content:"\f650"}.bi-safe-fill:before{content:"\f651"}.bi-safe2-fill:before{content:"\f652"}.bi-safe2:before{content:"\f653"}.bi-sd-card-fill:before{content:"\f654"}.bi-sd-card:before{content:"\f655"}.bi-skype:before{content:"\f656"}.bi-slash-lg:before{content:"\f657"}.bi-translate:before{content:"\f658"}.bi-x-lg:before{content:"\f659"}.bi-safe:before{content:"\f65a"}.bi-apple:before{content:"\f65b"}.bi-microsoft:before{content:"\f65d"}.bi-windows:before{content:"\f65e"}.bi-behance:before{content:"\f65c"}.bi-dribbble:before{content:"\f65f"}.bi-line:before{content:"\f660"}.bi-medium:before{content:"\f661"}.bi-paypal:before{content:"\f662"}.bi-pinterest:before{content:"\f663"}.bi-signal:before{content:"\f664"}.bi-snapchat:before{content:"\f665"}.bi-spotify:before{content:"\f666"}.bi-stack-overflow:before{content:"\f667"}.bi-strava:before{content:"\f668"}.bi-wordpress:before{content:"\f669"}.bi-vimeo:before{content:"\f66a"}.bi-activity:before{content:"\f66b"}.bi-easel2-fill:before{content:"\f66c"}.bi-easel2:before{content:"\f66d"}.bi-easel3-fill:before{content:"\f66e"}.bi-easel3:before{content:"\f66f"}.bi-fan:before{content:"\f670"}.bi-fingerprint:before{content:"\f671"}.bi-graph-down-arrow:before{content:"\f672"}.bi-graph-up-arrow:before{content:"\f673"}.bi-hypnotize:before{content:"\f674"}.bi-magic:before{content:"\f675"}.bi-person-rolodex:before{content:"\f676"}.bi-person-video:before{content:"\f677"}.bi-person-video2:before{content:"\f678"}.bi-person-video3:before{content:"\f679"}.bi-person-workspace:before{content:"\f67a"}.bi-radioactive:before{content:"\f67b"}.bi-webcam-fill:before{content:"\f67c"}.bi-webcam:before{content:"\f67d"}.bi-yin-yang:before{content:"\f67e"}.bi-bandaid-fill:before{content:"\f680"}.bi-bandaid:before{content:"\f681"}.bi-bluetooth:before{content:"\f682"}.bi-body-text:before{content:"\f683"}.bi-boombox:before{content:"\f684"}.bi-boxes:before{content:"\f685"}.bi-dpad-fill:before{content:"\f686"}.bi-dpad:before{content:"\f687"}.bi-ear-fill:before{content:"\f688"}.bi-ear:before{content:"\f689"}.bi-envelope-check-fill:before{content:"\f68b"}.bi-envelope-check:before{content:"\f68c"}.bi-envelope-dash-fill:before{content:"\f68e"}.bi-envelope-dash:before{content:"\f68f"}.bi-envelope-exclamation-fill:before{content:"\f691"}.bi-envelope-exclamation:before{content:"\f692"}.bi-envelope-plus-fill:before{content:"\f693"}.bi-envelope-plus:before{content:"\f694"}.bi-envelope-slash-fill:before{content:"\f696"}.bi-envelope-slash:before{content:"\f697"}.bi-envelope-x-fill:before{content:"\f699"}.bi-envelope-x:before{content:"\f69a"}.bi-explicit-fill:before{content:"\f69b"}.bi-explicit:before{content:"\f69c"}.bi-git:before{content:"\f69d"}.bi-infinity:before{content:"\f69e"}.bi-list-columns-reverse:before{content:"\f69f"}.bi-list-columns:before{content:"\f6a0"}.bi-meta:before{content:"\f6a1"}.bi-nintendo-switch:before{content:"\f6a4"}.bi-pc-display-horizontal:before{content:"\f6a5"}.bi-pc-display:before{content:"\f6a6"}.bi-pc-horizontal:before{content:"\f6a7"}.bi-pc:before{content:"\f6a8"}.bi-playstation:before{content:"\f6a9"}.bi-plus-slash-minus:before{content:"\f6aa"}.bi-projector-fill:before{content:"\f6ab"}.bi-projector:before{content:"\f6ac"}.bi-qr-code-scan:before{content:"\f6ad"}.bi-qr-code:before{content:"\f6ae"}.bi-quora:before{content:"\f6af"}.bi-quote:before{content:"\f6b0"}.bi-robot:before{content:"\f6b1"}.bi-send-check-fill:before{content:"\f6b2"}.bi-send-check:before{content:"\f6b3"}.bi-send-dash-fill:before{content:"\f6b4"}.bi-send-dash:before{content:"\f6b5"}.bi-send-exclamation-fill:before{content:"\f6b7"}.bi-send-exclamation:before{content:"\f6b8"}.bi-send-fill:before{content:"\f6b9"}.bi-send-plus-fill:before{content:"\f6ba"}.bi-send-plus:before{content:"\f6bb"}.bi-send-slash-fill:before{content:"\f6bc"}.bi-send-slash:before{content:"\f6bd"}.bi-send-x-fill:before{content:"\f6be"}.bi-send-x:before{content:"\f6bf"}.bi-send:before{content:"\f6c0"}.bi-steam:before{content:"\f6c1"}.bi-terminal-dash:before{content:"\f6c3"}.bi-terminal-plus:before{content:"\f6c4"}.bi-terminal-split:before{content:"\f6c5"}.bi-ticket-detailed-fill:before{content:"\f6c6"}.bi-ticket-detailed:before{content:"\f6c7"}.bi-ticket-fill:before{content:"\f6c8"}.bi-ticket-perforated-fill:before{content:"\f6c9"}.bi-ticket-perforated:before{content:"\f6ca"}.bi-ticket:before{content:"\f6cb"}.bi-tiktok:before{content:"\f6cc"}.bi-window-dash:before{content:"\f6cd"}.bi-window-desktop:before{content:"\f6ce"}.bi-window-fullscreen:before{content:"\f6cf"}.bi-window-plus:before{content:"\f6d0"}.bi-window-split:before{content:"\f6d1"}.bi-window-stack:before{content:"\f6d2"}.bi-window-x:before{content:"\f6d3"}.bi-xbox:before{content:"\f6d4"}.bi-ethernet:before{content:"\f6d5"}.bi-hdmi-fill:before{content:"\f6d6"}.bi-hdmi:before{content:"\f6d7"}.bi-usb-c-fill:before{content:"\f6d8"}.bi-usb-c:before{content:"\f6d9"}.bi-usb-fill:before{content:"\f6da"}.bi-usb-plug-fill:before{content:"\f6db"}.bi-usb-plug:before{content:"\f6dc"}.bi-usb-symbol:before{content:"\f6dd"}.bi-usb:before{content:"\f6de"}.bi-boombox-fill:before{content:"\f6df"}.bi-displayport:before{content:"\f6e1"}.bi-gpu-card:before{content:"\f6e2"}.bi-memory:before{content:"\f6e3"}.bi-modem-fill:before{content:"\f6e4"}.bi-modem:before{content:"\f6e5"}.bi-motherboard-fill:before{content:"\f6e6"}.bi-motherboard:before{content:"\f6e7"}.bi-optical-audio-fill:before{content:"\f6e8"}.bi-optical-audio:before{content:"\f6e9"}.bi-pci-card:before{content:"\f6ea"}.bi-router-fill:before{content:"\f6eb"}.bi-router:before{content:"\f6ec"}.bi-thunderbolt-fill:before{content:"\f6ef"}.bi-thunderbolt:before{content:"\f6f0"}.bi-usb-drive-fill:before{content:"\f6f1"}.bi-usb-drive:before{content:"\f6f2"}.bi-usb-micro-fill:before{content:"\f6f3"}.bi-usb-micro:before{content:"\f6f4"}.bi-usb-mini-fill:before{content:"\f6f5"}.bi-usb-mini:before{content:"\f6f6"}.bi-cloud-haze2:before{content:"\f6f7"}.bi-device-hdd-fill:before{content:"\f6f8"}.bi-device-hdd:before{content:"\f6f9"}.bi-device-ssd-fill:before{content:"\f6fa"}.bi-device-ssd:before{content:"\f6fb"}.bi-displayport-fill:before{content:"\f6fc"}.bi-mortarboard-fill:before{content:"\f6fd"}.bi-mortarboard:before{content:"\f6fe"}.bi-terminal-x:before{content:"\f6ff"}.bi-arrow-through-heart-fill:before{content:"\f700"}.bi-arrow-through-heart:before{content:"\f701"}.bi-badge-sd-fill:before{content:"\f702"}.bi-badge-sd:before{content:"\f703"}.bi-bag-heart-fill:before{content:"\f704"}.bi-bag-heart:before{content:"\f705"}.bi-balloon-fill:before{content:"\f706"}.bi-balloon-heart-fill:before{content:"\f707"}.bi-balloon-heart:before{content:"\f708"}.bi-balloon:before{content:"\f709"}.bi-box2-fill:before{content:"\f70a"}.bi-box2-heart-fill:before{content:"\f70b"}.bi-box2-heart:before{content:"\f70c"}.bi-box2:before{content:"\f70d"}.bi-braces-asterisk:before{content:"\f70e"}.bi-calendar-heart-fill:before{content:"\f70f"}.bi-calendar-heart:before{content:"\f710"}.bi-calendar2-heart-fill:before{content:"\f711"}.bi-calendar2-heart:before{content:"\f712"}.bi-chat-heart-fill:before{content:"\f713"}.bi-chat-heart:before{content:"\f714"}.bi-chat-left-heart-fill:before{content:"\f715"}.bi-chat-left-heart:before{content:"\f716"}.bi-chat-right-heart-fill:before{content:"\f717"}.bi-chat-right-heart:before{content:"\f718"}.bi-chat-square-heart-fill:before{content:"\f719"}.bi-chat-square-heart:before{content:"\f71a"}.bi-clipboard-check-fill:before{content:"\f71b"}.bi-clipboard-data-fill:before{content:"\f71c"}.bi-clipboard-fill:before{content:"\f71d"}.bi-clipboard-heart-fill:before{content:"\f71e"}.bi-clipboard-heart:before{content:"\f71f"}.bi-clipboard-minus-fill:before{content:"\f720"}.bi-clipboard-plus-fill:before{content:"\f721"}.bi-clipboard-pulse:before{content:"\f722"}.bi-clipboard-x-fill:before{content:"\f723"}.bi-clipboard2-check-fill:before{content:"\f724"}.bi-clipboard2-check:before{content:"\f725"}.bi-clipboard2-data-fill:before{content:"\f726"}.bi-clipboard2-data:before{content:"\f727"}.bi-clipboard2-fill:before{content:"\f728"}.bi-clipboard2-heart-fill:before{content:"\f729"}.bi-clipboard2-heart:before{content:"\f72a"}.bi-clipboard2-minus-fill:before{content:"\f72b"}.bi-clipboard2-minus:before{content:"\f72c"}.bi-clipboard2-plus-fill:before{content:"\f72d"}.bi-clipboard2-plus:before{content:"\f72e"}.bi-clipboard2-pulse-fill:before{content:"\f72f"}.bi-clipboard2-pulse:before{content:"\f730"}.bi-clipboard2-x-fill:before{content:"\f731"}.bi-clipboard2-x:before{content:"\f732"}.bi-clipboard2:before{content:"\f733"}.bi-emoji-kiss-fill:before{content:"\f734"}.bi-emoji-kiss:before{content:"\f735"}.bi-envelope-heart-fill:before{content:"\f736"}.bi-envelope-heart:before{content:"\f737"}.bi-envelope-open-heart-fill:before{content:"\f738"}.bi-envelope-open-heart:before{content:"\f739"}.bi-envelope-paper-fill:before{content:"\f73a"}.bi-envelope-paper-heart-fill:before{content:"\f73b"}.bi-envelope-paper-heart:before{content:"\f73c"}.bi-envelope-paper:before{content:"\f73d"}.bi-filetype-aac:before{content:"\f73e"}.bi-filetype-ai:before{content:"\f73f"}.bi-filetype-bmp:before{content:"\f740"}.bi-filetype-cs:before{content:"\f741"}.bi-filetype-css:before{content:"\f742"}.bi-filetype-csv:before{content:"\f743"}.bi-filetype-doc:before{content:"\f744"}.bi-filetype-docx:before{content:"\f745"}.bi-filetype-exe:before{content:"\f746"}.bi-filetype-gif:before{content:"\f747"}.bi-filetype-heic:before{content:"\f748"}.bi-filetype-html:before{content:"\f749"}.bi-filetype-java:before{content:"\f74a"}.bi-filetype-jpg:before{content:"\f74b"}.bi-filetype-js:before{content:"\f74c"}.bi-filetype-jsx:before{content:"\f74d"}.bi-filetype-key:before{content:"\f74e"}.bi-filetype-m4p:before{content:"\f74f"}.bi-filetype-md:before{content:"\f750"}.bi-filetype-mdx:before{content:"\f751"}.bi-filetype-mov:before{content:"\f752"}.bi-filetype-mp3:before{content:"\f753"}.bi-filetype-mp4:before{content:"\f754"}.bi-filetype-otf:before{content:"\f755"}.bi-filetype-pdf:before{content:"\f756"}.bi-filetype-php:before{content:"\f757"}.bi-filetype-png:before{content:"\f758"}.bi-filetype-ppt:before{content:"\f75a"}.bi-filetype-psd:before{content:"\f75b"}.bi-filetype-py:before{content:"\f75c"}.bi-filetype-raw:before{content:"\f75d"}.bi-filetype-rb:before{content:"\f75e"}.bi-filetype-sass:before{content:"\f75f"}.bi-filetype-scss:before{content:"\f760"}.bi-filetype-sh:before{content:"\f761"}.bi-filetype-svg:before{content:"\f762"}.bi-filetype-tiff:before{content:"\f763"}.bi-filetype-tsx:before{content:"\f764"}.bi-filetype-ttf:before{content:"\f765"}.bi-filetype-txt:before{content:"\f766"}.bi-filetype-wav:before{content:"\f767"}.bi-filetype-woff:before{content:"\f768"}.bi-filetype-xls:before{content:"\f76a"}.bi-filetype-xml:before{content:"\f76b"}.bi-filetype-yml:before{content:"\f76c"}.bi-heart-arrow:before{content:"\f76d"}.bi-heart-pulse-fill:before{content:"\f76e"}.bi-heart-pulse:before{content:"\f76f"}.bi-heartbreak-fill:before{content:"\f770"}.bi-heartbreak:before{content:"\f771"}.bi-hearts:before{content:"\f772"}.bi-hospital-fill:before{content:"\f773"}.bi-hospital:before{content:"\f774"}.bi-house-heart-fill:before{content:"\f775"}.bi-house-heart:before{content:"\f776"}.bi-incognito:before{content:"\f777"}.bi-magnet-fill:before{content:"\f778"}.bi-magnet:before{content:"\f779"}.bi-person-heart:before{content:"\f77a"}.bi-person-hearts:before{content:"\f77b"}.bi-phone-flip:before{content:"\f77c"}.bi-plugin:before{content:"\f77d"}.bi-postage-fill:before{content:"\f77e"}.bi-postage-heart-fill:before{content:"\f77f"}.bi-postage-heart:before{content:"\f780"}.bi-postage:before{content:"\f781"}.bi-postcard-fill:before{content:"\f782"}.bi-postcard-heart-fill:before{content:"\f783"}.bi-postcard-heart:before{content:"\f784"}.bi-postcard:before{content:"\f785"}.bi-search-heart-fill:before{content:"\f786"}.bi-search-heart:before{content:"\f787"}.bi-sliders2-vertical:before{content:"\f788"}.bi-sliders2:before{content:"\f789"}.bi-trash3-fill:before{content:"\f78a"}.bi-trash3:before{content:"\f78b"}.bi-valentine:before{content:"\f78c"}.bi-valentine2:before{content:"\f78d"}.bi-wrench-adjustable-circle-fill:before{content:"\f78e"}.bi-wrench-adjustable-circle:before{content:"\f78f"}.bi-wrench-adjustable:before{content:"\f790"}.bi-filetype-json:before{content:"\f791"}.bi-filetype-pptx:before{content:"\f792"}.bi-filetype-xlsx:before{content:"\f793"}.bi-1-circle-fill:before{content:"\f796"}.bi-1-circle:before{content:"\f797"}.bi-1-square-fill:before{content:"\f798"}.bi-1-square:before{content:"\f799"}.bi-2-circle-fill:before{content:"\f79c"}.bi-2-circle:before{content:"\f79d"}.bi-2-square-fill:before{content:"\f79e"}.bi-2-square:before{content:"\f79f"}.bi-3-circle-fill:before{content:"\f7a2"}.bi-3-circle:before{content:"\f7a3"}.bi-3-square-fill:before{content:"\f7a4"}.bi-3-square:before{content:"\f7a5"}.bi-4-circle-fill:before{content:"\f7a8"}.bi-4-circle:before{content:"\f7a9"}.bi-4-square-fill:before{content:"\f7aa"}.bi-4-square:before{content:"\f7ab"}.bi-5-circle-fill:before{content:"\f7ae"}.bi-5-circle:before{content:"\f7af"}.bi-5-square-fill:before{content:"\f7b0"}.bi-5-square:before{content:"\f7b1"}.bi-6-circle-fill:before{content:"\f7b4"}.bi-6-circle:before{content:"\f7b5"}.bi-6-square-fill:before{content:"\f7b6"}.bi-6-square:before{content:"\f7b7"}.bi-7-circle-fill:before{content:"\f7ba"}.bi-7-circle:before{content:"\f7bb"}.bi-7-square-fill:before{content:"\f7bc"}.bi-7-square:before{content:"\f7bd"}.bi-8-circle-fill:before{content:"\f7c0"}.bi-8-circle:before{content:"\f7c1"}.bi-8-square-fill:before{content:"\f7c2"}.bi-8-square:before{content:"\f7c3"}.bi-9-circle-fill:before{content:"\f7c6"}.bi-9-circle:before{content:"\f7c7"}.bi-9-square-fill:before{content:"\f7c8"}.bi-9-square:before{content:"\f7c9"}.bi-airplane-engines-fill:before{content:"\f7ca"}.bi-airplane-engines:before{content:"\f7cb"}.bi-airplane-fill:before{content:"\f7cc"}.bi-airplane:before{content:"\f7cd"}.bi-alexa:before{content:"\f7ce"}.bi-alipay:before{content:"\f7cf"}.bi-android:before{content:"\f7d0"}.bi-android2:before{content:"\f7d1"}.bi-box-fill:before{content:"\f7d2"}.bi-box-seam-fill:before{content:"\f7d3"}.bi-browser-chrome:before{content:"\f7d4"}.bi-browser-edge:before{content:"\f7d5"}.bi-browser-firefox:before{content:"\f7d6"}.bi-browser-safari:before{content:"\f7d7"}.bi-c-circle-fill:before{content:"\f7da"}.bi-c-circle:before{content:"\f7db"}.bi-c-square-fill:before{content:"\f7dc"}.bi-c-square:before{content:"\f7dd"}.bi-capsule-pill:before{content:"\f7de"}.bi-capsule:before{content:"\f7df"}.bi-car-front-fill:before{content:"\f7e0"}.bi-car-front:before{content:"\f7e1"}.bi-cassette-fill:before{content:"\f7e2"}.bi-cassette:before{content:"\f7e3"}.bi-cc-circle-fill:before{content:"\f7e6"}.bi-cc-circle:before{content:"\f7e7"}.bi-cc-square-fill:before{content:"\f7e8"}.bi-cc-square:before{content:"\f7e9"}.bi-cup-hot-fill:before{content:"\f7ea"}.bi-cup-hot:before{content:"\f7eb"}.bi-currency-rupee:before{content:"\f7ec"}.bi-dropbox:before{content:"\f7ed"}.bi-escape:before{content:"\f7ee"}.bi-fast-forward-btn-fill:before{content:"\f7ef"}.bi-fast-forward-btn:before{content:"\f7f0"}.bi-fast-forward-circle-fill:before{content:"\f7f1"}.bi-fast-forward-circle:before{content:"\f7f2"}.bi-fast-forward-fill:before{content:"\f7f3"}.bi-fast-forward:before{content:"\f7f4"}.bi-filetype-sql:before{content:"\f7f5"}.bi-fire:before{content:"\f7f6"}.bi-google-play:before{content:"\f7f7"}.bi-h-circle-fill:before{content:"\f7fa"}.bi-h-circle:before{content:"\f7fb"}.bi-h-square-fill:before{content:"\f7fc"}.bi-h-square:before{content:"\f7fd"}.bi-indent:before{content:"\f7fe"}.bi-lungs-fill:before{content:"\f7ff"}.bi-lungs:before{content:"\f800"}.bi-microsoft-teams:before{content:"\f801"}.bi-p-circle-fill:before{content:"\f804"}.bi-p-circle:before{content:"\f805"}.bi-p-square-fill:before{content:"\f806"}.bi-p-square:before{content:"\f807"}.bi-pass-fill:before{content:"\f808"}.bi-pass:before{content:"\f809"}.bi-prescription:before{content:"\f80a"}.bi-prescription2:before{content:"\f80b"}.bi-r-circle-fill:before{content:"\f80e"}.bi-r-circle:before{content:"\f80f"}.bi-r-square-fill:before{content:"\f810"}.bi-r-square:before{content:"\f811"}.bi-repeat-1:before{content:"\f812"}.bi-repeat:before{content:"\f813"}.bi-rewind-btn-fill:before{content:"\f814"}.bi-rewind-btn:before{content:"\f815"}.bi-rewind-circle-fill:before{content:"\f816"}.bi-rewind-circle:before{content:"\f817"}.bi-rewind-fill:before{content:"\f818"}.bi-rewind:before{content:"\f819"}.bi-train-freight-front-fill:before{content:"\f81a"}.bi-train-freight-front:before{content:"\f81b"}.bi-train-front-fill:before{content:"\f81c"}.bi-train-front:before{content:"\f81d"}.bi-train-lightrail-front-fill:before{content:"\f81e"}.bi-train-lightrail-front:before{content:"\f81f"}.bi-truck-front-fill:before{content:"\f820"}.bi-truck-front:before{content:"\f821"}.bi-ubuntu:before{content:"\f822"}.bi-unindent:before{content:"\f823"}.bi-unity:before{content:"\f824"}.bi-universal-access-circle:before{content:"\f825"}.bi-universal-access:before{content:"\f826"}.bi-virus:before{content:"\f827"}.bi-virus2:before{content:"\f828"}.bi-wechat:before{content:"\f829"}.bi-yelp:before{content:"\f82a"}.bi-sign-stop-fill:before{content:"\f82b"}.bi-sign-stop-lights-fill:before{content:"\f82c"}.bi-sign-stop-lights:before{content:"\f82d"}.bi-sign-stop:before{content:"\f82e"}.bi-sign-turn-left-fill:before{content:"\f82f"}.bi-sign-turn-left:before{content:"\f830"}.bi-sign-turn-right-fill:before{content:"\f831"}.bi-sign-turn-right:before{content:"\f832"}.bi-sign-turn-slight-left-fill:before{content:"\f833"}.bi-sign-turn-slight-left:before{content:"\f834"}.bi-sign-turn-slight-right-fill:before{content:"\f835"}.bi-sign-turn-slight-right:before{content:"\f836"}.bi-sign-yield-fill:before{content:"\f837"}.bi-sign-yield:before{content:"\f838"}.bi-ev-station-fill:before{content:"\f839"}.bi-ev-station:before{content:"\f83a"}.bi-fuel-pump-diesel-fill:before{content:"\f83b"}.bi-fuel-pump-diesel:before{content:"\f83c"}.bi-fuel-pump-fill:before{content:"\f83d"}.bi-fuel-pump:before{content:"\f83e"}.bi-0-circle-fill:before{content:"\f83f"}.bi-0-circle:before{content:"\f840"}.bi-0-square-fill:before{content:"\f841"}.bi-0-square:before{content:"\f842"}.bi-rocket-fill:before{content:"\f843"}.bi-rocket-takeoff-fill:before{content:"\f844"}.bi-rocket-takeoff:before{content:"\f845"}.bi-rocket:before{content:"\f846"}.bi-stripe:before{content:"\f847"}.bi-subscript:before{content:"\f848"}.bi-superscript:before{content:"\f849"}.bi-trello:before{content:"\f84a"}.bi-envelope-at-fill:before{content:"\f84b"}.bi-envelope-at:before{content:"\f84c"}.bi-regex:before{content:"\f84d"}.bi-text-wrap:before{content:"\f84e"}.bi-sign-dead-end-fill:before{content:"\f84f"}.bi-sign-dead-end:before{content:"\f850"}.bi-sign-do-not-enter-fill:before{content:"\f851"}.bi-sign-do-not-enter:before{content:"\f852"}.bi-sign-intersection-fill:before{content:"\f853"}.bi-sign-intersection-side-fill:before{content:"\f854"}.bi-sign-intersection-side:before{content:"\f855"}.bi-sign-intersection-t-fill:before{content:"\f856"}.bi-sign-intersection-t:before{content:"\f857"}.bi-sign-intersection-y-fill:before{content:"\f858"}.bi-sign-intersection-y:before{content:"\f859"}.bi-sign-intersection:before{content:"\f85a"}.bi-sign-merge-left-fill:before{content:"\f85b"}.bi-sign-merge-left:before{content:"\f85c"}.bi-sign-merge-right-fill:before{content:"\f85d"}.bi-sign-merge-right:before{content:"\f85e"}.bi-sign-no-left-turn-fill:before{content:"\f85f"}.bi-sign-no-left-turn:before{content:"\f860"}.bi-sign-no-parking-fill:before{content:"\f861"}.bi-sign-no-parking:before{content:"\f862"}.bi-sign-no-right-turn-fill:before{content:"\f863"}.bi-sign-no-right-turn:before{content:"\f864"}.bi-sign-railroad-fill:before{content:"\f865"}.bi-sign-railroad:before{content:"\f866"}.bi-building-add:before{content:"\f867"}.bi-building-check:before{content:"\f868"}.bi-building-dash:before{content:"\f869"}.bi-building-down:before{content:"\f86a"}.bi-building-exclamation:before{content:"\f86b"}.bi-building-fill-add:before{content:"\f86c"}.bi-building-fill-check:before{content:"\f86d"}.bi-building-fill-dash:before{content:"\f86e"}.bi-building-fill-down:before{content:"\f86f"}.bi-building-fill-exclamation:before{content:"\f870"}.bi-building-fill-gear:before{content:"\f871"}.bi-building-fill-lock:before{content:"\f872"}.bi-building-fill-slash:before{content:"\f873"}.bi-building-fill-up:before{content:"\f874"}.bi-building-fill-x:before{content:"\f875"}.bi-building-fill:before{content:"\f876"}.bi-building-gear:before{content:"\f877"}.bi-building-lock:before{content:"\f878"}.bi-building-slash:before{content:"\f879"}.bi-building-up:before{content:"\f87a"}.bi-building-x:before{content:"\f87b"}.bi-buildings-fill:before{content:"\f87c"}.bi-buildings:before{content:"\f87d"}.bi-bus-front-fill:before{content:"\f87e"}.bi-bus-front:before{content:"\f87f"}.bi-ev-front-fill:before{content:"\f880"}.bi-ev-front:before{content:"\f881"}.bi-globe-americas:before{content:"\f882"}.bi-globe-asia-australia:before{content:"\f883"}.bi-globe-central-south-asia:before{content:"\f884"}.bi-globe-europe-africa:before{content:"\f885"}.bi-house-add-fill:before{content:"\f886"}.bi-house-add:before{content:"\f887"}.bi-house-check-fill:before{content:"\f888"}.bi-house-check:before{content:"\f889"}.bi-house-dash-fill:before{content:"\f88a"}.bi-house-dash:before{content:"\f88b"}.bi-house-down-fill:before{content:"\f88c"}.bi-house-down:before{content:"\f88d"}.bi-house-exclamation-fill:before{content:"\f88e"}.bi-house-exclamation:before{content:"\f88f"}.bi-house-gear-fill:before{content:"\f890"}.bi-house-gear:before{content:"\f891"}.bi-house-lock-fill:before{content:"\f892"}.bi-house-lock:before{content:"\f893"}.bi-house-slash-fill:before{content:"\f894"}.bi-house-slash:before{content:"\f895"}.bi-house-up-fill:before{content:"\f896"}.bi-house-up:before{content:"\f897"}.bi-house-x-fill:before{content:"\f898"}.bi-house-x:before{content:"\f899"}.bi-person-add:before{content:"\f89a"}.bi-person-down:before{content:"\f89b"}.bi-person-exclamation:before{content:"\f89c"}.bi-person-fill-add:before{content:"\f89d"}.bi-person-fill-check:before{content:"\f89e"}.bi-person-fill-dash:before{content:"\f89f"}.bi-person-fill-down:before{content:"\f8a0"}.bi-person-fill-exclamation:before{content:"\f8a1"}.bi-person-fill-gear:before{content:"\f8a2"}.bi-person-fill-lock:before{content:"\f8a3"}.bi-person-fill-slash:before{content:"\f8a4"}.bi-person-fill-up:before{content:"\f8a5"}.bi-person-fill-x:before{content:"\f8a6"}.bi-person-gear:before{content:"\f8a7"}.bi-person-lock:before{content:"\f8a8"}.bi-person-slash:before{content:"\f8a9"}.bi-person-up:before{content:"\f8aa"}.bi-scooter:before{content:"\f8ab"}.bi-taxi-front-fill:before{content:"\f8ac"}.bi-taxi-front:before{content:"\f8ad"}.bi-amd:before{content:"\f8ae"}.bi-database-add:before{content:"\f8af"}.bi-database-check:before{content:"\f8b0"}.bi-database-dash:before{content:"\f8b1"}.bi-database-down:before{content:"\f8b2"}.bi-database-exclamation:before{content:"\f8b3"}.bi-database-fill-add:before{content:"\f8b4"}.bi-database-fill-check:before{content:"\f8b5"}.bi-database-fill-dash:before{content:"\f8b6"}.bi-database-fill-down:before{content:"\f8b7"}.bi-database-fill-exclamation:before{content:"\f8b8"}.bi-database-fill-gear:before{content:"\f8b9"}.bi-database-fill-lock:before{content:"\f8ba"}.bi-database-fill-slash:before{content:"\f8bb"}.bi-database-fill-up:before{content:"\f8bc"}.bi-database-fill-x:before{content:"\f8bd"}.bi-database-fill:before{content:"\f8be"}.bi-database-gear:before{content:"\f8bf"}.bi-database-lock:before{content:"\f8c0"}.bi-database-slash:before{content:"\f8c1"}.bi-database-up:before{content:"\f8c2"}.bi-database-x:before{content:"\f8c3"}.bi-database:before{content:"\f8c4"}.bi-houses-fill:before{content:"\f8c5"}.bi-houses:before{content:"\f8c6"}.bi-nvidia:before{content:"\f8c7"}.bi-person-vcard-fill:before{content:"\f8c8"}.bi-person-vcard:before{content:"\f8c9"}.bi-sina-weibo:before{content:"\f8ca"}.bi-tencent-qq:before{content:"\f8cb"}.bi-wikipedia:before{content:"\f8cc"}.bi-alphabet-uppercase:before{content:"\f2a5"}.bi-alphabet:before{content:"\f68a"}.bi-amazon:before{content:"\f68d"}.bi-arrows-collapse-vertical:before{content:"\f690"}.bi-arrows-expand-vertical:before{content:"\f695"}.bi-arrows-vertical:before{content:"\f698"}.bi-arrows:before{content:"\f6a2"}.bi-ban-fill:before{content:"\f6a3"}.bi-ban:before{content:"\f6b6"}.bi-bing:before{content:"\f6c2"}.bi-cake:before{content:"\f6e0"}.bi-cake2:before{content:"\f6ed"}.bi-cookie:before{content:"\f6ee"}.bi-copy:before{content:"\f759"}.bi-crosshair:before{content:"\f769"}.bi-crosshair2:before{content:"\f794"}.bi-emoji-astonished-fill:before{content:"\f795"}.bi-emoji-astonished:before{content:"\f79a"}.bi-emoji-grimace-fill:before{content:"\f79b"}.bi-emoji-grimace:before{content:"\f7a0"}.bi-emoji-grin-fill:before{content:"\f7a1"}.bi-emoji-grin:before{content:"\f7a6"}.bi-emoji-surprise-fill:before{content:"\f7a7"}.bi-emoji-surprise:before{content:"\f7ac"}.bi-emoji-tear-fill:before{content:"\f7ad"}.bi-emoji-tear:before{content:"\f7b2"}.bi-envelope-arrow-down-fill:before{content:"\f7b3"}.bi-envelope-arrow-down:before{content:"\f7b8"}.bi-envelope-arrow-up-fill:before{content:"\f7b9"}.bi-envelope-arrow-up:before{content:"\f7be"}.bi-feather:before{content:"\f7bf"}.bi-feather2:before{content:"\f7c4"}.bi-floppy-fill:before{content:"\f7c5"}.bi-floppy:before{content:"\f7d8"}.bi-floppy2-fill:before{content:"\f7d9"}.bi-floppy2:before{content:"\f7e4"}.bi-gitlab:before{content:"\f7e5"}.bi-highlighter:before{content:"\f7f8"}.bi-marker-tip:before{content:"\f802"}.bi-nvme-fill:before{content:"\f803"}.bi-nvme:before{content:"\f80c"}.bi-opencollective:before{content:"\f80d"}.bi-pci-card-network:before{content:"\f8cd"}.bi-pci-card-sound:before{content:"\f8ce"}.bi-radar:before{content:"\f8cf"}.bi-send-arrow-down-fill:before{content:"\f8d0"}.bi-send-arrow-down:before{content:"\f8d1"}.bi-send-arrow-up-fill:before{content:"\f8d2"}.bi-send-arrow-up:before{content:"\f8d3"}.bi-sim-slash-fill:before{content:"\f8d4"}.bi-sim-slash:before{content:"\f8d5"}.bi-sourceforge:before{content:"\f8d6"}.bi-substack:before{content:"\f8d7"}.bi-threads-fill:before{content:"\f8d8"}.bi-threads:before{content:"\f8d9"}.bi-transparency:before{content:"\f8da"}.bi-twitter-x:before{content:"\f8db"}.bi-type-h4:before{content:"\f8dc"}.bi-type-h5:before{content:"\f8dd"}.bi-type-h6:before{content:"\f8de"}.bi-backpack-fill:before{content:"\f8df"}.bi-backpack:before{content:"\f8e0"}.bi-backpack2-fill:before{content:"\f8e1"}.bi-backpack2:before{content:"\f8e2"}.bi-backpack3-fill:before{content:"\f8e3"}.bi-backpack3:before{content:"\f8e4"}.bi-backpack4-fill:before{content:"\f8e5"}.bi-backpack4:before{content:"\f8e6"}.bi-brilliance:before{content:"\f8e7"}.bi-cake-fill:before{content:"\f8e8"}.bi-cake2-fill:before{content:"\f8e9"}.bi-duffle-fill:before{content:"\f8ea"}.bi-duffle:before{content:"\f8eb"}.bi-exposure:before{content:"\f8ec"}.bi-gender-neuter:before{content:"\f8ed"}.bi-highlights:before{content:"\f8ee"}.bi-luggage-fill:before{content:"\f8ef"}.bi-luggage:before{content:"\f8f0"}.bi-mailbox-flag:before{content:"\f8f1"}.bi-mailbox2-flag:before{content:"\f8f2"}.bi-noise-reduction:before{content:"\f8f3"}.bi-passport-fill:before{content:"\f8f4"}.bi-passport:before{content:"\f8f5"}.bi-person-arms-up:before{content:"\f8f6"}.bi-person-raised-hand:before{content:"\f8f7"}.bi-person-standing-dress:before{content:"\f8f8"}.bi-person-standing:before{content:"\f8f9"}.bi-person-walking:before{content:"\f8fa"}.bi-person-wheelchair:before{content:"\f8fb"}.bi-shadows:before{content:"\f8fc"}.bi-suitcase-fill:before{content:"\f8fd"}.bi-suitcase-lg-fill:before{content:"\f8fe"}.bi-suitcase-lg:before{content:"\f8ff"}.bi-suitcase:before{content:"\f900"}.bi-suitcase2-fill:before{content:"\f901"}.bi-suitcase2:before{content:"\f902"}.bi-vignette:before{content:"\f903"}body{background-color:silver;margin:0;font-family:Arial,sans-serif;color:#303030}a{color:#3498db;text-decoration:none}a:hover{color:gray}.blocks-container{margin:10px;padding:20px;background-color:#343a40;border-radius:5px;color:#fff;word-wrap:break-word;overflow-x:auto;font-size:16px}@media (max-width: 767px){.blocks-container{padding:10px;margin:5px;font-size:14px}}.block-details{display:flex;align-items:center;justify-content:space-between;width:100%;overflow:auto}.previous-button,.next-button{background:#343a40;color:#fff;padding:10px 20px;cursor:pointer;transition:background .3s ease;border-radius:5px;margin:10px}.previous-button:hover,.next-button:hover{background:#3498db}.accordion{background:#424242;color:#fff;border:none;padding:10px 20px;cursor:pointer;transition:background .3s ease;border-radius:5px;margin-bottom:10px}.accordion:hover{background:#3498db}.blocks-table{width:100%;table-layout:auto;overflow-x:auto}.blocks-table th,.blocks-table td{border:1px solid #ddd;padding:8px;text-align:left;border-radius:5px}.blocks-table th{background-color:#1f2428;color:#fff;border-radius:5px}.blocks-table tbody tr:hover{background-color:#1f2428;color:#fff;cursor:pointer}.blocks-table tbody tr.expanded-row{cursor:default;word-wrap:break-word;overflow-x:auto}.blocks-table tbody tr.expanded-row td[colspan="5"] .transaction-details{word-wrap:break-word;overflow-x:auto}.blocks-table th.hash-column,.blocks-table td.hash-column{word-break:break-word;white-space:normal}.transaction-table{width:80%;margin:0 auto}.transaction-table th,.transaction-table td{border:1px solid #ddd;padding:8px;text-align:left}.transaction-table th{background-color:#424242}.expanded-row{background-color:transparent!important;color:inherit!important}.transaction-section{display:inline-block;vertical-align:top}.transaction-box{padding:10px;border:1px solid #ccc;border-radius:5px;margin:5px}.in-section,.out-section{vertical-align:top}.arrow-box{text-align:center;margin-top:20px}.transaction-details{background-color:#1f2428;border-radius:5px;color:#fff;padding:10px;margin-top:10px;display:inline-block;word-break:break-word;overflow:hidden;width:100%;box-sizing:border-box}.transfer-in-info-box,.transfer-out-info-box,.arrow-box{background-color:#343a40;border-radius:10px;margin-top:5px;padding:5px;font-size:.9em;display:block;align-items:center}.transfer-in-info-box{border:2px solid #4CAF50;color:#fff}.transfer-out-info-box{border:2px solid #3498db;color:#fff}.arrow-icon{width:50px;height:auto}.transaction-value-button{padding:2px;border:none;border-radius:3px;cursor:default;background-color:#3498db;color:#fff;display:block}.searched-item{color:#ff0;font-weight:700}.transaction-type-button{padding:5px 10px;border:none;border-radius:3px;margin-top:5px;cursor:pointer;opacity:.7;transition:background-color .3s}.coinbase{background-color:#4caf50;color:#fff}.coinbase:hover{background-color:#45a049;color:#fff}.transfer{background-color:#3498db;color:#fff}.transfer:hover{background-color:#1e87cf;color:#fff}.create-identity{background-color:#f39c12;color:#fff}.create-identity:hover{background-color:#e74c3c;color:#fff}.encrypted-message,.message{background-color:#8b5ef6;color:#fff}.encrypted-message:hover,.message:hover{background-color:#6a1b9a;color:#fff} diff --git a/templates/explorer/index.html b/templates/explorer/index.html index a2f2212d..26874534 100644 --- a/templates/explorer/index.html +++ b/templates/explorer/index.html @@ -4,18 +4,21 @@
          - - Explorer - - - + + YadaCoin Explorer + + + + +
          - + + - + diff --git a/yadacoin/http/explorer.py b/yadacoin/http/explorer.py index 5e7c92d9..bcdc3b2c 100644 --- a/yadacoin/http/explorer.py +++ b/yadacoin/http/explorer.py @@ -215,18 +215,15 @@ async def get(self): "transactions.hash": term } }, - { - "$group": { - "_id": None, - "transactions": { - "$push": "$transactions" - } - } - }, { "$project": { "_id": 0, - "transactions": 1 + "result": [{ + "$mergeObjects": ["$transactions", { + "blockIndex": "$index", + "blockHash": "$hash" + }] + }], } } ] @@ -235,8 +232,8 @@ async def get(self): return self.render_as_json( { "resultType": "txn_hash", - "searchedHash": term, - "result": transactions[0]["transactions"], + "searchedId": term, + "result": transactions[0]["result"], } ) @@ -265,45 +262,76 @@ async def get(self): pass try: - base64.b64decode(term.replace(" ", "+")) - res = await self.config.mongo.async_db.blocks.count_documents( + decoded_term = base64.b64decode(term.replace(" ", "+")) + searched_id = term.replace(" ", "+") + + pipeline = [ { - "$or": [ - {"transactions.id": term.replace(" ", "+")}, - {"transactions.inputs.id": term.replace(" ", "+")}, - ] - } - ) - if res: - transactions = [] - async for block in self.config.mongo.async_db.blocks.find( - { + "$match": { "$or": [ - {"transactions.id": term.replace(" ", "+")}, - {"transactions.inputs.id": term.replace(" ", "+")}, + {"transactions.id": searched_id}, + {"transactions.inputs.id": searched_id}, ] + } + }, + { + "$project": { + "_id": 0, + "blockIndex": "$index", + "blockHash": "$hash", + "transactions": { + "$filter": { + "input": "$transactions", + "as": "transaction", + "cond": { + "$or": [ + {"$eq": ["$$transaction.id", searched_id]}, + { + "$anyElementTrue": { + "$map": { + "input": "$$transaction.inputs", + "as": "input", + "in": {"$eq": ["$$input.id", searched_id]}, + } + } + }, + ] + }, + } + }, }, - {"_id": 0, "transactions": 1}, - ): - if isinstance(block.get("transactions"), list): - for transaction in block.get("transactions"): - if transaction.get("id") == term.replace(" ", "+"): - transactions.append(transaction) - elif transaction.get("inputs") and any(inp.get("id") == term.replace(" ", "+") for inp in transaction["inputs"]): - transactions.append(transaction) - else: - if block.get("transactions").get("id") == term.replace(" ", "+"): - transactions.append(block.get("transactions")) - elif block.get("transactions").get("inputs") and any(inp.get("id") == term.replace(" ", "+") for inp in block["transactions"]["inputs"]): - transactions.append(block.get("transactions")) - - return self.render_as_json( - { - "resultType": "txn_id", - "searchedId": term.replace(" ", "+"), - "result": transactions, + }, + { + "$unwind": "$transactions" + }, + { + "$project": { + "_id": 0, + "result": { + "$mergeObjects": ["$transactions", { + "blockIndex": "$blockIndex", + "blockHash": "$blockHash" + }] + }, } - ) + }, + ] + + result = await self.config.mongo.async_db.blocks.aggregate(pipeline).to_list(length=None) + transactions = [block["result"] for block in result if block.get("result")] + + return self.render_as_json( + { + "resultType": "txn_id", + "searchedId": searched_id, + "result": transactions, + } + ) + + except Exception as e: + print(f"Error processing transaction ID: {e}") + pass + except Exception as e: print(f"Error processing transaction ID: {e}") pass From 025200a560f8534d194b97257be56d7b7931876b Mon Sep 17 00:00:00 2001 From: Rakni1988 Date: Sun, 10 Mar 2024 14:33:38 +0100 Subject: [PATCH 67/94] add pagination to explorer --- static/explorer/index.html | 6 ++++-- static/explorer/main.js | 2 +- yadacoin/http/explorer.py | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/static/explorer/index.html b/static/explorer/index.html index b52a30be..bfaf3c29 100644 --- a/static/explorer/index.html +++ b/static/explorer/index.html @@ -6,9 +6,11 @@ + + - + - + diff --git a/static/explorer/main.js b/static/explorer/main.js index 047f8692..18643174 100644 --- a/static/explorer/main.js +++ b/static/explorer/main.js @@ -1 +1 @@ -"use strict";(self.webpackChunkexplorer=self.webpackChunkexplorer||[]).push([[179],{75:()=>{function se(e){return"function"==typeof e}function Li(e){const t=e(i=>{Error.call(i),i.stack=(new Error).stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}const fr=Li(e=>function(t){e(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((i,r)=>`${r+1}) ${i.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t});function Vi(e,n){if(e){const t=e.indexOf(n);0<=t&&e.splice(t,1)}}class tt{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;const{_parentage:t}=this;if(t)if(this._parentage=null,Array.isArray(t))for(const o of t)o.remove(this);else t.remove(this);const{initialTeardown:i}=this;if(se(i))try{i()}catch(o){n=o instanceof fr?o.errors:[o]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const o of r)try{hr(o)}catch(s){n=n??[],s instanceof fr?n=[...n,...s.errors]:n.push(s)}}if(n)throw new fr(n)}}add(n){var t;if(n&&n!==this)if(this.closed)hr(n);else{if(n instanceof tt){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=null!==(t=this._finalizers)&&void 0!==t?t:[]).push(n)}}_hasParent(n){const{_parentage:t}=this;return t===n||Array.isArray(t)&&t.includes(n)}_addParent(n){const{_parentage:t}=this;this._parentage=Array.isArray(t)?(t.push(n),t):t?[t,n]:n}_removeParent(n){const{_parentage:t}=this;t===n?this._parentage=null:Array.isArray(t)&&Vi(t,n)}remove(n){const{_finalizers:t}=this;t&&Vi(t,n),n instanceof tt&&n._removeParent(this)}}tt.EMPTY=(()=>{const e=new tt;return e.closed=!0,e})();const xs=tt.EMPTY;function Al(e){return e instanceof tt||e&&"closed"in e&&se(e.remove)&&se(e.add)&&se(e.unsubscribe)}function hr(e){se(e)?e():e.unsubscribe()}const Bi={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},io={setTimeout(e,n,...t){const{delegate:i}=io;return i?.setTimeout?i.setTimeout(e,n,...t):setTimeout(e,n,...t)},clearTimeout(e){const{delegate:n}=io;return(n?.clearTimeout||clearTimeout)(e)},delegate:void 0};function Hd(e){io.setTimeout(()=>{const{onUnhandledError:n}=Bi;if(!n)throw e;n(e)})}function pr(){}const $d=As("C",void 0,void 0);function As(e,n,t){return{kind:e,value:n,error:t}}let yi=null;function ni(e){if(Bi.useDeprecatedSynchronousErrorHandling){const n=!yi;if(n&&(yi={errorThrown:!1,error:null}),e(),n){const{errorThrown:t,error:i}=yi;if(yi=null,t)throw i}}else e()}class ro extends tt{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,Al(n)&&n.add(this)):this.destination=ks}static create(n,t,i){return new bi(n,t,i)}next(n){this.isStopped?Rs(function Gd(e){return As("N",e,void 0)}(n),this):this._next(n)}error(n){this.isStopped?Rs(function Ud(e){return As("E",void 0,e)}(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?Rs($d,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(n){this.destination.next(n)}_error(n){try{this.destination.error(n)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const Rl=Function.prototype.bind;function oo(e,n){return Rl.call(e,n)}class kl{constructor(n){this.partialObserver=n}next(n){const{partialObserver:t}=this;if(t.next)try{t.next(n)}catch(i){ln(i)}}error(n){const{partialObserver:t}=this;if(t.error)try{t.error(n)}catch(i){ln(i)}else ln(n)}complete(){const{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(t){ln(t)}}}class bi extends ro{constructor(n,t,i){let r;if(super(),se(n)||!n)r={next:n??void 0,error:t??void 0,complete:i??void 0};else{let o;this&&Bi.useDeprecatedNextContext?(o=Object.create(n),o.unsubscribe=()=>this.unsubscribe(),r={next:n.next&&oo(n.next,o),error:n.error&&oo(n.error,o),complete:n.complete&&oo(n.complete,o)}):r=n}this.destination=new kl(r)}}function ln(e){Bi.useDeprecatedSynchronousErrorHandling?function zd(e){Bi.useDeprecatedSynchronousErrorHandling&&yi&&(yi.errorThrown=!0,yi.error=e)}(e):Hd(e)}function Rs(e,n){const{onStoppedNotification:t}=Bi;t&&io.setTimeout(()=>t(e,n))}const ks={closed:!0,next:pr,error:function Pl(e){throw e},complete:pr},Ps="function"==typeof Symbol&&Symbol.observable||"@@observable";function Pn(e){return e}function Ll(e){return 0===e.length?Pn:1===e.length?e[0]:function(t){return e.reduce((i,r)=>r(i),t)}}let Ce=(()=>{class e{constructor(t){t&&(this._subscribe=t)}lift(t){const i=new e;return i.source=this,i.operator=t,i}subscribe(t,i,r){const o=function qd(e){return e&&e instanceof ro||function Wd(e){return e&&se(e.next)&&se(e.error)&&se(e.complete)}(e)&&Al(e)}(t)?t:new bi(t,i,r);return ni(()=>{const{operator:s,source:a}=this;o.add(s?s.call(o,a):a?this._subscribe(o):this._trySubscribe(o))}),o}_trySubscribe(t){try{return this._subscribe(t)}catch(i){t.error(i)}}forEach(t,i){return new(i=Vl(i))((r,o)=>{const s=new bi({next:a=>{try{t(a)}catch(l){o(l),s.unsubscribe()}},error:o,complete:r});this.subscribe(s)})}_subscribe(t){var i;return null===(i=this.source)||void 0===i?void 0:i.subscribe(t)}[Ps](){return this}pipe(...t){return Ll(t)(this)}toPromise(t){return new(t=Vl(t))((i,r)=>{let o;this.subscribe(s=>o=s,s=>r(s),()=>i(o))})}}return e.create=n=>new e(n),e})();function Vl(e){var n;return null!==(n=e??Bi.Promise)&&void 0!==n?n:Promise}const Yd=Li(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let Ee=(()=>{class e extends Ce{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const i=new Bl(this,this);return i.operator=t,i}_throwIfClosed(){if(this.closed)throw new Yd}next(t){ni(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const i of this.currentObservers)i.next(t)}})}error(t){ni(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;const{observers:i}=this;for(;i.length;)i.shift().error(t)}})}complete(){ni(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:t}=this;for(;t.length;)t.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){const{hasError:i,isStopped:r,observers:o}=this;return i||r?xs:(this.currentObservers=null,o.push(t),new tt(()=>{this.currentObservers=null,Vi(o,t)}))}_checkFinalizedStatuses(t){const{hasError:i,thrownError:r,isStopped:o}=this;i?t.error(r):o&&t.complete()}asObservable(){const t=new Ce;return t.source=this,t}}return e.create=(n,t)=>new Bl(n,t),e})();class Bl extends Ee{constructor(n,t){super(),this.destination=n,this.source=t}next(n){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===i||i.call(t,n)}error(n){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===i||i.call(t,n)}complete(){var n,t;null===(t=null===(n=this.destination)||void 0===n?void 0:n.complete)||void 0===t||t.call(n)}_subscribe(n){var t,i;return null!==(i=null===(t=this.source)||void 0===t?void 0:t.subscribe(n))&&void 0!==i?i:xs}}function Fs(e){return se(e?.lift)}function ze(e){return n=>{if(Fs(n))return n.lift(function(t){try{return e(t,this)}catch(i){this.error(i)}});throw new TypeError("Unable to lift unknown Observable type")}}function Ve(e,n,t,i,r){return new Zd(e,n,t,i,r)}class Zd extends ro{constructor(n,t,i,r,o,s){super(n),this.onFinalize=o,this.shouldUnsubscribe=s,this._next=t?function(a){try{t(a)}catch(l){n.error(l)}}:super._next,this._error=r?function(a){try{r(a)}catch(l){n.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=i?function(){try{i()}catch(a){n.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:t}=this;super.unsubscribe(),!t&&(null===(n=this.onFinalize)||void 0===n||n.call(this))}}}function ae(e,n){return ze((t,i)=>{let r=0;t.subscribe(Ve(i,o=>{i.next(e.call(n,o,r++))}))})}function Jt(e){return this instanceof Jt?(this.v=e,this):new Jt(e)}function Xt(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=function nt(e){var n="function"==typeof Symbol&&Symbol.iterator,t=n&&e[n],i=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(o){t[o]=e[o]&&function(s){return new Promise(function(a,l){!function r(o,s,a,l){Promise.resolve(l).then(function(c){o({value:c,done:a})},s)}(a,l,(s=e[o](s)).done,s.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const tf=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function s_(e){return se(e?.then)}function a_(e){return se(e[Ps])}function l_(e){return Symbol.asyncIterator&&se(e?.[Symbol.asyncIterator])}function c_(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const u_=function VM(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function d_(e){return se(e?.[u_])}function f_(e){return function gr(e,n,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,i=t.apply(e,n||[]),o=[];return r={},s("next"),s("throw"),s("return"),r[Symbol.asyncIterator]=function(){return this},r;function s(h){i[h]&&(r[h]=function(_){return new Promise(function(v,y){o.push([h,_,v,y])>1||a(h,_)})})}function a(h,_){try{!function l(h){h.value instanceof Jt?Promise.resolve(h.value.v).then(c,u):d(o[0][2],h)}(i[h](_))}catch(v){d(o[0][3],v)}}function c(h){a("next",h)}function u(h){a("throw",h)}function d(h,_){h(_),o.shift(),o.length&&a(o[0][0],o[0][1])}}(this,arguments,function*(){const t=e.getReader();try{for(;;){const{value:i,done:r}=yield Jt(t.read());if(r)return yield Jt(void 0);yield yield Jt(i)}}finally{t.releaseLock()}})}function h_(e){return se(e?.getReader)}function ft(e){if(e instanceof Ce)return e;if(null!=e){if(a_(e))return function BM(e){return new Ce(n=>{const t=e[Ps]();if(se(t.subscribe))return t.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(tf(e))return function jM(e){return new Ce(n=>{for(let t=0;t{e.then(t=>{n.closed||(n.next(t),n.complete())},t=>n.error(t)).then(null,Hd)})}(e);if(l_(e))return p_(e);if(d_(e))return function $M(e){return new Ce(n=>{for(const t of e)if(n.next(t),n.closed)return;n.complete()})}(e);if(h_(e))return function UM(e){return p_(f_(e))}(e)}throw c_(e)}function p_(e){return new Ce(n=>{(function GM(e,n){var t,i,r,o;return function N(e,n,t,i){return new(t||(t=Promise))(function(o,s){function a(u){try{c(i.next(u))}catch(d){s(d)}}function l(u){try{c(i.throw(u))}catch(d){s(d)}}function c(u){u.done?o(u.value):function r(o){return o instanceof t?o:new t(function(s){s(o)})}(u.value).then(a,l)}c((i=i.apply(e,n||[])).next())})}(this,void 0,void 0,function*(){try{for(t=Xt(e);!(i=yield t.next()).done;)if(n.next(i.value),n.closed)return}catch(s){r={error:s}}finally{try{i&&!i.done&&(o=t.return)&&(yield o.call(t))}finally{if(r)throw r.error}}n.complete()})})(e,n).catch(t=>n.error(t))})}function Di(e,n,t,i=0,r=!1){const o=n.schedule(function(){t(),r?e.add(this.schedule(null,i)):this.unsubscribe()},i);if(e.add(o),!r)return o}function ht(e,n,t=1/0){return se(n)?ht((i,r)=>ae((o,s)=>n(i,o,r,s))(ft(e(i,r))),t):("number"==typeof n&&(t=n),ze((i,r)=>function zM(e,n,t,i,r,o,s,a){const l=[];let c=0,u=0,d=!1;const h=()=>{d&&!l.length&&!c&&n.complete()},_=y=>c{o&&n.next(y),c++;let D=!1;ft(t(y,u++)).subscribe(Ve(n,M=>{r?.(M),o?_(M):n.next(M)},()=>{D=!0},void 0,()=>{if(D)try{for(c--;l.length&&cv(M)):v(M)}h()}catch(M){n.error(M)}}))};return e.subscribe(Ve(n,_,()=>{d=!0,h()})),()=>{a?.()}}(i,r,e,t)))}function lo(e=1/0){return ht(Pn,e)}const bn=new Ce(e=>e.complete());function g_(e){return e&&se(e.schedule)}function nf(e){return e[e.length-1]}function Ul(e){return se(nf(e))?e.pop():void 0}function Vs(e){return g_(nf(e))?e.pop():void 0}function m_(e,n=0){return ze((t,i)=>{t.subscribe(Ve(i,r=>Di(i,e,()=>i.next(r),n),()=>Di(i,e,()=>i.complete(),n),r=>Di(i,e,()=>i.error(r),n)))})}function __(e,n=0){return ze((t,i)=>{i.add(e.schedule(()=>t.subscribe(i),n))})}function v_(e,n){if(!e)throw new Error("Iterable cannot be null");return new Ce(t=>{Di(t,n,()=>{const i=e[Symbol.asyncIterator]();Di(t,n,()=>{i.next().then(r=>{r.done?t.complete():t.next(r.value)})},0,!0)})})}function pt(e,n){return n?function KM(e,n){if(null!=e){if(a_(e))return function YM(e,n){return ft(e).pipe(__(n),m_(n))}(e,n);if(tf(e))return function JM(e,n){return new Ce(t=>{let i=0;return n.schedule(function(){i===e.length?t.complete():(t.next(e[i++]),t.closed||this.schedule())})})}(e,n);if(s_(e))return function ZM(e,n){return ft(e).pipe(__(n),m_(n))}(e,n);if(l_(e))return v_(e,n);if(d_(e))return function XM(e,n){return new Ce(t=>{let i;return Di(t,n,()=>{i=e[u_](),Di(t,n,()=>{let r,o;try{({value:r,done:o}=i.next())}catch(s){return void t.error(s)}o?t.complete():t.next(r)},0,!0)}),()=>se(i?.return)&&i.return()})}(e,n);if(h_(e))return function QM(e,n){return v_(f_(e),n)}(e,n)}throw c_(e)}(e,n):ft(e)}class Dn extends Ee{constructor(n){super(),this._value=n}get value(){return this.getValue()}_subscribe(n){const t=super._subscribe(n);return!t.closed&&n.next(this._value),t}getValue(){const{hasError:n,thrownError:t,_value:i}=this;if(n)throw t;return this._throwIfClosed(),i}next(n){super.next(this._value=n)}}function J(...e){return pt(e,Vs(e))}function b_(e={}){const{connector:n=(()=>new Ee),resetOnError:t=!0,resetOnComplete:i=!0,resetOnRefCountZero:r=!0}=e;return o=>{let s,a,l,c=0,u=!1,d=!1;const h=()=>{a?.unsubscribe(),a=void 0},_=()=>{h(),s=l=void 0,u=d=!1},v=()=>{const y=s;_(),y?.unsubscribe()};return ze((y,D)=>{c++,!d&&!u&&h();const M=l=l??n();D.add(()=>{c--,0===c&&!d&&!u&&(a=rf(v,r))}),M.subscribe(D),!s&&c>0&&(s=new bi({next:C=>M.next(C),error:C=>{d=!0,h(),a=rf(_,t,C),M.error(C)},complete:()=>{u=!0,h(),a=rf(_,i),M.complete()}}),ft(y).subscribe(s))})(o)}}function rf(e,n,...t){if(!0===n)return void e();if(!1===n)return;const i=new bi({next:()=>{i.unsubscribe(),e()}});return ft(n(...t)).subscribe(i)}function wn(e,n){return ze((t,i)=>{let r=null,o=0,s=!1;const a=()=>s&&!r&&i.complete();t.subscribe(Ve(i,l=>{r?.unsubscribe();let c=0;const u=o++;ft(e(l,u)).subscribe(r=Ve(i,d=>i.next(n?n(l,d,u,c++):d),()=>{r=null,a()}))},()=>{s=!0,a()}))})}function eI(e,n){return e===n}function xe(e){for(let n in e)if(e[n]===xe)return n;throw Error("Could not find renamed property on target object.")}function Gl(e,n){for(const t in n)n.hasOwnProperty(t)&&!e.hasOwnProperty(t)&&(e[t]=n[t])}function gt(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(gt).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const n=e.toString();if(null==n)return""+n;const t=n.indexOf("\n");return-1===t?n:n.substring(0,t)}function sf(e,n){return null==e||""===e?null===n?"":n:null==n||""===n?e:e+" "+n}const tI=xe({__forward_ref__:xe});function le(e){return e.__forward_ref__=le,e.toString=function(){return gt(this())},e}function ee(e){return af(e)?e():e}function af(e){return"function"==typeof e&&e.hasOwnProperty(tI)&&e.__forward_ref__===le}function lf(e){return e&&!!e.\u0275providers}const w_="https://g.co/ng/security#xss";class R extends Error{constructor(n,t){super(function zl(e,n){return`NG0${Math.abs(e)}${n?": "+n:""}`}(n,t)),this.code=n}}function te(e){return"string"==typeof e?e:null==e?"":String(e)}function cf(e,n){throw new R(-201,!1)}function Cn(e,n){null==e&&function Q(e,n,t,i){throw new Error(`ASSERTION ERROR: ${e}`+(null==i?"":` [Expected=> ${t} ${i} ${n} <=Actual]`))}(n,e,null,"!=")}function B(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function _e(e){return{providers:e.providers||[],imports:e.imports||[]}}function Wl(e){return C_(e,Yl)||C_(e,E_)}function C_(e,n){return e.hasOwnProperty(n)?e[n]:null}function ql(e){return e&&(e.hasOwnProperty(uf)||e.hasOwnProperty(cI))?e[uf]:null}const Yl=xe({\u0275prov:xe}),uf=xe({\u0275inj:xe}),E_=xe({ngInjectableDef:xe}),cI=xe({ngInjectorDef:xe});var ce=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(ce||{});let df;function Qt(e){const n=df;return df=e,n}function S_(e,n,t){const i=Wl(e);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:t&ce.Optional?null:void 0!==n?n:void cf(gt(e))}const Be=globalThis;class z{constructor(n,t){this._desc=n,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=B({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const Bs={},mf="__NG_DI_FLAG__",Zl="ngTempTokenPath",fI=/\n/gm,I_="__source";let co;function Hi(e){const n=co;return co=e,n}function gI(e,n=ce.Default){if(void 0===co)throw new R(-203,!1);return null===co?S_(e,void 0,n):co.get(e,n&ce.Optional?null:void 0,n)}function H(e,n=ce.Default){return(function T_(){return df}()||gI)(ee(e),n)}function F(e,n=ce.Default){return H(e,Jl(n))}function Jl(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function _f(e){const n=[];for(let t=0;tn){s=o-1;break}}}for(;oo?"":r[d+1].toLowerCase();const _=8&i?h:null;if(_&&-1!==A_(_,c,0)||2&i&&c!==h){if(Ln(i))return!1;s=!0}}}}else{if(!s&&!Ln(i)&&!Ln(l))return!1;if(s&&Ln(l))continue;s=!1,i=l|1&i}}return Ln(i)||s}function Ln(e){return 0==(1&e)}function wI(e,n,t,i){if(null===n)return-1;let r=0;if(i||!t){let o=!1;for(;r-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&i?r+="."+s:4&i&&(r+=" "+s);else""!==r&&!Ln(s)&&(n+=B_(o,r),r=""),i=s,o=o||!Ln(i);t++}return""!==r&&(n+=B_(o,r)),n}function Pt(e){return wi(()=>{const n=H_(e),t={...n,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===Xl.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||Fn.Emulated,styles:e.styles||ve,_:null,schemas:e.schemas||null,tView:null,id:""};$_(t);const i=e.dependencies;return t.directiveDefs=Kl(i,!1),t.pipeDefs=Kl(i,!0),t.id=function PI(e){let n=0;const t=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery].join("|");for(const r of t)n=Math.imul(31,n)+r.charCodeAt(0)<<0;return n+=2147483648,"c"+n}(t),t})}function xI(e){return he(e)||Et(e)}function AI(e){return null!==e}function be(e){return wi(()=>({type:e.type,bootstrap:e.bootstrap||ve,declarations:e.declarations||ve,imports:e.imports||ve,exports:e.exports||ve,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function j_(e,n){if(null==e)return ii;const t={};for(const i in e)if(e.hasOwnProperty(i)){let r=e[i],o=r;Array.isArray(r)&&(o=r[1],r=r[0]),t[r]=i,n&&(n[r]=o)}return t}function L(e){return wi(()=>{const n=H_(e);return $_(n),n})}function Bt(e){return{type:e.type,name:e.name,factory:null,pure:!1!==e.pure,standalone:!0===e.standalone,onDestroy:e.type.prototype.ngOnDestroy||null}}function he(e){return e[Ql]||null}function Et(e){return e[vf]||null}function jt(e){return e[yf]||null}function un(e,n){const t=e[O_]||null;if(!t&&!0===n)throw new Error(`Type ${gt(e)} does not have '\u0275mod' property.`);return t}function H_(e){const n={};return{type:e.type,providersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:n,inputTransforms:null,inputConfig:e.inputs||ii,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||ve,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:j_(e.inputs,n),outputs:j_(e.outputs)}}function $_(e){e.features?.forEach(n=>n(e))}function Kl(e,n){if(!e)return null;const t=n?jt:xI;return()=>("function"==typeof e?e():e).map(i=>t(i)).filter(AI)}const Ze=0,$=1,re=2,Ue=3,Vn=4,Us=5,Ft=6,fo=7,it=8,$i=9,ho=10,ne=11,Gs=12,U_=13,po=14,rt=15,zs=16,go=17,ri=18,Ws=19,G_=20,Ui=21,Ei=22,qs=23,Ys=24,ue=25,Df=1,z_=2,oi=7,mo=9,Tt=11;function Kt(e){return Array.isArray(e)&&"object"==typeof e[Df]}function Ht(e){return Array.isArray(e)&&!0===e[Df]}function wf(e){return 0!=(4&e.flags)}function vr(e){return e.componentOffset>-1}function tc(e){return 1==(1&e.flags)}function Bn(e){return!!e.template}function Cf(e){return 0!=(512&e[re])}function yr(e,n){return e.hasOwnProperty(Ci)?e[Ci]:null}let St=null,nc=!1;function En(e){const n=St;return St=e,n}const Y_={version:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{}};function J_(e){if(!Js(e)||e.dirty){if(!e.producerMustRecompute(e)&&!K_(e))return void(e.dirty=!1);e.producerRecomputeValue(e),e.dirty=!1}}function Q_(e){e.dirty=!0,function X_(e){if(void 0===e.liveConsumerNode)return;const n=nc;nc=!0;try{for(const t of e.liveConsumerNode)t.dirty||Q_(t)}finally{nc=n}}(e),e.consumerMarkedDirty?.(e)}function Tf(e){return e&&(e.nextProducerIndex=0),En(e)}function Sf(e,n){if(En(n),e&&void 0!==e.producerNode&&void 0!==e.producerIndexOfThis&&void 0!==e.producerLastReadVersion){if(Js(e))for(let t=e.nextProducerIndex;te.nextProducerIndex;)e.producerNode.pop(),e.producerLastReadVersion.pop(),e.producerIndexOfThis.pop()}}function K_(e){_o(e);for(let n=0;n0}function _o(e){e.producerNode??=[],e.producerIndexOfThis??=[],e.producerLastReadVersion??=[]}let iv=null;const av=()=>{},YI=(()=>({...Y_,consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!1,consumerMarkedDirty:e=>{e.schedule(e.ref)},hasRun:!1,cleanupFn:av}))();class ZI{constructor(n,t,i){this.previousValue=n,this.currentValue=t,this.firstChange=i}isFirstChange(){return this.firstChange}}function Mt(){return lv}function lv(e){return e.type.prototype.ngOnChanges&&(e.setInput=XI),JI}function JI(){const e=uv(this),n=e?.current;if(n){const t=e.previous;if(t===ii)e.previous=n;else for(let i in n)t[i]=n[i];e.current=null,this.ngOnChanges(n)}}function XI(e,n,t,i){const r=this.declaredInputs[t],o=uv(e)||function QI(e,n){return e[cv]=n}(e,{previous:ii,current:null}),s=o.current||(o.current={}),a=o.previous,l=a[r];s[r]=new ZI(l&&l.currentValue,n,a===ii),e[i]=n}Mt.ngInherit=!0;const cv="__ngSimpleChanges__";function uv(e){return e[cv]||null}const si=function(e,n,t){};function je(e){for(;Array.isArray(e);)e=e[Ze];return e}function rc(e,n){return je(n[e])}function en(e,n){return je(n[e.index])}function hv(e,n){return e.data[n]}function dn(e,n){const t=n[e];return Kt(t)?t:t[Ze]}function zi(e,n){return null==n?null:e[n]}function pv(e){e[go]=0}function rN(e){1024&e[re]||(e[re]|=1024,mv(e,1))}function gv(e){1024&e[re]&&(e[re]&=-1025,mv(e,-1))}function mv(e,n){let t=e[Ue];if(null===t)return;t[Us]+=n;let i=t;for(t=t[Ue];null!==t&&(1===n&&1===i[Us]||-1===n&&0===i[Us]);)t[Us]+=n,i=t,t=t[Ue]}const K={lFrame:Mv(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function yv(){return K.bindingsEnabled}function yo(){return null!==K.skipHydrationRootTNode}function O(){return K.lFrame.lView}function pe(){return K.lFrame.tView}function Je(e){return K.lFrame.contextLView=e,e[it]}function Xe(e){return K.lFrame.contextLView=null,e}function It(){let e=bv();for(;null!==e&&64===e.type;)e=e.parent;return e}function bv(){return K.lFrame.currentTNode}function ai(e,n){const t=K.lFrame;t.currentTNode=e,t.isParent=n}function xf(){return K.lFrame.isParent}function Af(){K.lFrame.isParent=!1}function $t(){const e=K.lFrame;let n=e.bindingRootIndex;return-1===n&&(n=e.bindingRootIndex=e.tView.bindingStartIndex),n}function bo(){return K.lFrame.bindingIndex++}function Si(e){const n=K.lFrame,t=n.bindingIndex;return n.bindingIndex=n.bindingIndex+e,t}function mN(e,n){const t=K.lFrame;t.bindingIndex=t.bindingRootIndex=e,Rf(n)}function Rf(e){K.lFrame.currentDirectiveIndex=e}function Ev(){return K.lFrame.currentQueryIndex}function Pf(e){K.lFrame.currentQueryIndex=e}function vN(e){const n=e[$];return 2===n.type?n.declTNode:1===n.type?e[Ft]:null}function Tv(e,n,t){if(t&ce.SkipSelf){let r=n,o=e;for(;!(r=r.parent,null!==r||t&ce.Host||(r=vN(o),null===r||(o=o[po],10&r.type))););if(null===r)return!1;n=r,e=o}const i=K.lFrame=Sv();return i.currentTNode=n,i.lView=e,!0}function Ff(e){const n=Sv(),t=e[$];K.lFrame=n,n.currentTNode=t.firstChild,n.lView=e,n.tView=t,n.contextLView=e,n.bindingIndex=t.bindingStartIndex,n.inI18n=!1}function Sv(){const e=K.lFrame,n=null===e?null:e.child;return null===n?Mv(e):n}function Mv(e){const n={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return null!==e&&(e.child=n),n}function Iv(){const e=K.lFrame;return K.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const Nv=Iv;function Lf(){const e=Iv();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function Ut(){return K.lFrame.selectedIndex}function br(e){K.lFrame.selectedIndex=e}function We(){const e=K.lFrame;return hv(e.tView,e.selectedIndex)}let xv=!0;function oc(){return xv}function Wi(e){xv=e}function sc(e,n){for(let t=n.directiveStart,i=n.directiveEnd;t=i)break}else n[l]<0&&(e[go]+=65536),(a>13>16&&(3&e[re])===n&&(e[re]+=8192,Rv(a,o)):Rv(a,o)}const Do=-1;class Qs{constructor(n,t,i){this.factory=n,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=i}}function jf(e){return e!==Do}function Ks(e){return 32767&e}function ea(e,n){let t=function ON(e){return e>>16}(e),i=n;for(;t>0;)i=i[po],t--;return i}let Hf=!0;function cc(e){const n=Hf;return Hf=e,n}const kv=255,Pv=5;let xN=0;const li={};function uc(e,n){const t=Fv(e,n);if(-1!==t)return t;const i=n[$];i.firstCreatePass&&(e.injectorIndex=n.length,$f(i.data,e),$f(n,null),$f(i.blueprint,null));const r=dc(e,n),o=e.injectorIndex;if(jf(r)){const s=Ks(r),a=ea(r,n),l=a[$].data;for(let c=0;c<8;c++)n[o+c]=a[s+c]|l[s+c]}return n[o+8]=r,o}function $f(e,n){e.push(0,0,0,0,0,0,0,0,n)}function Fv(e,n){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===n[e.injectorIndex+8]?-1:e.injectorIndex}function dc(e,n){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let t=0,i=null,r=n;for(;null!==r;){if(i=Uv(r),null===i)return Do;if(t++,r=r[po],-1!==i.injectorIndex)return i.injectorIndex|t<<16}return Do}function Uf(e,n,t){!function AN(e,n,t){let i;"string"==typeof t?i=t.charCodeAt(0)||0:t.hasOwnProperty(Hs)&&(i=t[Hs]),null==i&&(i=t[Hs]=xN++);const r=i&kv;n.data[e+(r>>Pv)]|=1<=0?n&kv:LN:n}(t);if("function"==typeof o){if(!Tv(n,e,i))return i&ce.Host?Lv(r,0,i):Vv(n,t,i,r);try{let s;if(s=o(i),null!=s||i&ce.Optional)return s;cf()}finally{Nv()}}else if("number"==typeof o){let s=null,a=Fv(e,n),l=Do,c=i&ce.Host?n[rt][Ft]:null;for((-1===a||i&ce.SkipSelf)&&(l=-1===a?dc(e,n):n[a+8],l!==Do&&$v(i,!1)?(s=n[$],a=Ks(l),n=ea(l,n)):a=-1);-1!==a;){const u=n[$];if(Hv(o,a,u.data)){const d=kN(a,n,t,s,i,c);if(d!==li)return d}l=n[a+8],l!==Do&&$v(i,n[$].data[a+8]===c)&&Hv(o,a,n)?(s=u,a=Ks(l),n=ea(l,n)):a=-1}}return r}function kN(e,n,t,i,r,o){const s=n[$],a=s.data[e+8],u=fc(a,s,t,null==i?vr(a)&&Hf:i!=s&&0!=(3&a.type),r&ce.Host&&o===a);return null!==u?Dr(n,s,u,a):li}function fc(e,n,t,i,r){const o=e.providerIndexes,s=n.data,a=1048575&o,l=e.directiveStart,u=o>>20,h=r?a+u:e.directiveEnd;for(let _=i?a:a+u;_=l&&v.type===t)return _}if(r){const _=s[l];if(_&&Bn(_)&&_.type===t)return l}return null}function Dr(e,n,t,i){let r=e[t];const o=n.data;if(function MN(e){return e instanceof Qs}(r)){const s=r;s.resolving&&function nI(e,n){const t=n?`. Dependency path: ${n.join(" > ")} > ${e}`:"";throw new R(-200,`Circular dependency in DI detected for ${e}${t}`)}(function Te(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():te(e)}(o[t]));const a=cc(s.canSeeViewProviders);s.resolving=!0;const c=s.injectImpl?Qt(s.injectImpl):null;Tv(e,i,ce.Default);try{r=e[t]=s.factory(void 0,o,e,i),n.firstCreatePass&&t>=i.directiveStart&&function TN(e,n,t){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:o}=n.type.prototype;if(i){const s=lv(n);(t.preOrderHooks??=[]).push(e,s),(t.preOrderCheckHooks??=[]).push(e,s)}r&&(t.preOrderHooks??=[]).push(0-e,r),o&&((t.preOrderHooks??=[]).push(e,o),(t.preOrderCheckHooks??=[]).push(e,o))}(t,o[t],n)}finally{null!==c&&Qt(c),cc(a),s.resolving=!1,Nv()}}return r}function Hv(e,n,t){return!!(t[n+(e>>Pv)]&1<{const n=e.prototype.constructor,t=n[Ci]||Gf(n),i=Object.prototype;let r=Object.getPrototypeOf(e.prototype).constructor;for(;r&&r!==i;){const o=r[Ci]||Gf(r);if(o&&o!==t)return o;r=Object.getPrototypeOf(r)}return o=>new o})}function Gf(e){return af(e)?()=>{const n=Gf(ee(e));return n&&n()}:yr(e)}function Uv(e){const n=e[$],t=n.type;return 2===t?n.declTNode:1===t?e[Ft]:null}const Co="__parameters__";function To(e,n,t){return wi(()=>{const i=function zf(e){return function(...t){if(e){const i=e(...t);for(const r in i)this[r]=i[r]}}}(n);function r(...o){if(this instanceof r)return i.apply(this,o),this;const s=new r(...o);return a.annotation=s,a;function a(l,c,u){const d=l.hasOwnProperty(Co)?l[Co]:Object.defineProperty(l,Co,{value:[]})[Co];for(;d.length<=u;)d.push(null);return(d[u]=d[u]||[]).push(s),l}}return t&&(r.prototype=Object.create(t.prototype)),r.prototype.ngMetadataName=e,r.annotationCls=r,r})}function Mo(e,n){e.forEach(t=>Array.isArray(t)?Mo(t,n):n(t))}function zv(e,n,t){n>=e.length?e.push(t):e.splice(n,0,t)}function hc(e,n){return n>=e.length-1?e.pop():e.splice(n,1)[0]}function ia(e,n){const t=[];for(let i=0;i=0?e[1|i]=t:(i=~i,function zN(e,n,t,i){let r=e.length;if(r==n)e.push(t,i);else if(1===r)e.push(i,e[0]),e[0]=t;else{for(r--,e.push(e[r-1],e[r]);r>n;)e[r]=e[r-2],r--;e[n]=t,e[n+1]=i}}(e,i,n,t)),i}function Wf(e,n){const t=Io(e,n);if(t>=0)return e[1|t]}function Io(e,n){return function Wv(e,n,t){let i=0,r=e.length>>t;for(;r!==i;){const o=i+(r-i>>1),s=e[o<n?r=o:i=o+1}return~(r<|^->||--!>|)/g,pO="\u200b$1\u200b";const Xf=new Map;let gO=0;const Kf="__ngContext__";function Lt(e,n){Kt(n)?(e[Kf]=n[Ws],function _O(e){Xf.set(e[Ws],e)}(n)):e[Kf]=n}let eh;function th(e,n){return eh(e,n)}function sa(e){const n=e[Ue];return Ht(n)?n[Ue]:n}function fy(e){return py(e[Gs])}function hy(e){return py(e[Vn])}function py(e){for(;null!==e&&!Ht(e);)e=e[Vn];return e}function xo(e,n,t,i,r){if(null!=i){let o,s=!1;Ht(i)?o=i:Kt(i)&&(s=!0,i=i[Ze]);const a=je(i);0===e&&null!==t?null==r?vy(n,t,a):Cr(n,t,a,r||null,!0):1===e&&null!==t?Cr(n,t,a,r||null,!0):2===e?function Ic(e,n,t){const i=Sc(e,n);i&&function FO(e,n,t,i){e.removeChild(n,t,i)}(e,i,n,t)}(n,a,s):3===e&&n.destroyNode(a),null!=o&&function BO(e,n,t,i,r){const o=t[oi];o!==je(t)&&xo(n,e,i,o,r);for(let a=Tt;an.replace(hO,pO))}(n))}function Ec(e,n,t){return e.createElement(n,t)}function my(e,n){const t=e[mo],i=t.indexOf(n);gv(n),t.splice(i,1)}function Tc(e,n){if(e.length<=Tt)return;const t=Tt+n,i=e[t];if(i){const r=i[zs];null!==r&&r!==e&&my(r,i),n>0&&(e[t-1][Vn]=i[Vn]);const o=hc(e,Tt+n);!function IO(e,n){la(e,n,n[ne],2,null,null),n[Ze]=null,n[Ft]=null}(i[$],i);const s=o[ri];null!==s&&s.detachView(o[$]),i[Ue]=null,i[Vn]=null,i[re]&=-129}return i}function ih(e,n){if(!(256&n[re])){const t=n[ne];n[qs]&&ev(n[qs]),n[Ys]&&ev(n[Ys]),t.destroyNode&&la(e,n,t,3,null,null),function xO(e){let n=e[Gs];if(!n)return rh(e[$],e);for(;n;){let t=null;if(Kt(n))t=n[Gs];else{const i=n[Tt];i&&(t=i)}if(!t){for(;n&&!n[Vn]&&n!==e;)Kt(n)&&rh(n[$],n),n=n[Ue];null===n&&(n=e),Kt(n)&&rh(n[$],n),t=n&&n[Vn]}n=t}}(n)}}function rh(e,n){if(!(256&n[re])){n[re]&=-129,n[re]|=256,function PO(e,n){let t;if(null!=e&&null!=(t=e.destroyHooks))for(let i=0;i=0?i[s]():i[-s].unsubscribe(),o+=2}else t[o].call(i[t[o+1]]);null!==i&&(n[fo]=null);const r=n[Ui];if(null!==r){n[Ui]=null;for(let o=0;o-1){const{encapsulation:o}=e.data[i.directiveStart+r];if(o===Fn.None||o===Fn.Emulated)return null}return en(i,t)}}(e,n.parent,t)}function Cr(e,n,t,i,r){e.insertBefore(n,t,i,r)}function vy(e,n,t){e.appendChild(n,t)}function yy(e,n,t,i,r){null!==i?Cr(e,n,t,i,r):vy(e,n,t)}function Sc(e,n){return e.parentNode(n)}function by(e,n,t){return wy(e,n,t)}let sh,uh,wy=function Dy(e,n,t){return 40&e.type?en(e,t):null};function Mc(e,n,t,i){const r=oh(e,i,n),o=n[ne],a=by(i.parent||n[Ft],i,n);if(null!=r)if(Array.isArray(t))for(let l=0;l{t.push(s)};return Mo(n,s=>{const a=s;Ac(a,o,[],i)&&(r||=[],r.push(a))}),void 0!==r&&Gy(r,o),t}function Gy(e,n){for(let t=0;t{n(o,i)})}}function Ac(e,n,t,i){if(!(e=ee(e)))return!1;let r=null,o=ql(e);const s=!o&&he(e);if(o||s){if(s&&!s.standalone)return!1;r=e}else{const l=e.ngModule;if(o=ql(l),!o)return!1;r=l}const a=i.has(r);if(s){if(a)return!1;if(i.add(r),s.dependencies){const l="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const c of l)Ac(c,n,t,i)}}else{if(!o)return!1;{if(null!=o.imports&&!a){let c;i.add(r);try{Mo(o.imports,u=>{Ac(u,n,t,i)&&(c||=[],c.push(u))})}finally{}void 0!==c&&Gy(c,n)}if(!a){const c=yr(r)||(()=>new r);n({provide:r,useFactory:c,deps:ve},r),n({provide:$y,useValue:r,multi:!0},r),n({provide:fa,useValue:()=>H(r),multi:!0},r)}const l=o.providers;if(null!=l&&!a){const c=e;vh(l,u=>{n(u,c)})}}}return r!==e&&void 0!==e.providers}function vh(e,n){for(let t of e)lf(t)&&(t=t.\u0275providers),Array.isArray(t)?vh(t,n):n(t)}const gx=xe({provide:String,useValue:xe});function yh(e){return null!==e&&"object"==typeof e&&gx in e}function Er(e){return"function"==typeof e}const bh=new z("Set Injector scope."),Rc={},_x={};let Dh;function kc(){return void 0===Dh&&(Dh=new mh),Dh}class zt{}class Po extends zt{get destroyed(){return this._destroyed}constructor(n,t,i,r){super(),this.parent=t,this.source=i,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,Ch(n,s=>this.processProvider(s)),this.records.set(Hy,Fo(void 0,this)),r.has("environment")&&this.records.set(zt,Fo(void 0,this));const o=this.records.get(bh);null!=o&&"string"==typeof o.value&&this.scopes.add(o.value),this.injectorDefTypes=new Set(this.get($y.multi,ve,ce.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const t of this._ngOnDestroyHooks)t.ngOnDestroy();const n=this._onDestroyHooks;this._onDestroyHooks=[];for(const t of n)t()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(n){return this.assertNotDestroyed(),this._onDestroyHooks.push(n),()=>this.removeOnDestroy(n)}runInContext(n){this.assertNotDestroyed();const t=Hi(this),i=Qt(void 0);try{return n()}finally{Hi(t),Qt(i)}}get(n,t=Bs,i=ce.Default){if(this.assertNotDestroyed(),n.hasOwnProperty(x_))return n[x_](this);i=Jl(i);const o=Hi(this),s=Qt(void 0);try{if(!(i&ce.SkipSelf)){let l=this.records.get(n);if(void 0===l){const c=function wx(e){return"function"==typeof e||"object"==typeof e&&e instanceof z}(n)&&Wl(n);l=c&&this.injectableDefInScope(c)?Fo(wh(n),Rc):null,this.records.set(n,l)}if(null!=l)return this.hydrate(n,l)}return(i&ce.Self?kc():this.parent).get(n,t=i&ce.Optional&&t===Bs?null:t)}catch(a){if("NullInjectorError"===a.name){if((a[Zl]=a[Zl]||[]).unshift(gt(n)),o)throw a;return function _I(e,n,t,i){const r=e[Zl];throw n[I_]&&r.unshift(n[I_]),e.message=function vI(e,n,t,i=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let r=gt(n);if(Array.isArray(n))r=n.map(gt).join(" -> ");else if("object"==typeof n){let o=[];for(let s in n)if(n.hasOwnProperty(s)){let a=n[s];o.push(s+":"+("string"==typeof a?JSON.stringify(a):gt(a)))}r=`{${o.join(", ")}}`}return`${t}${i?"("+i+")":""}[${r}]: ${e.replace(fI,"\n ")}`}("\n"+e.message,r,t,i),e.ngTokenPath=r,e[Zl]=null,e}(a,n,"R3InjectorError",this.source)}throw a}finally{Qt(s),Hi(o)}}resolveInjectorInitializers(){const n=Hi(this),t=Qt(void 0);try{const r=this.get(fa.multi,ve,ce.Self);for(const o of r)o()}finally{Hi(n),Qt(t)}}toString(){const n=[],t=this.records;for(const i of t.keys())n.push(gt(i));return`R3Injector[${n.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new R(205,!1)}processProvider(n){let t=Er(n=ee(n))?n:ee(n&&n.provide);const i=function yx(e){return yh(e)?Fo(void 0,e.useValue):Fo(qy(e),Rc)}(n);if(Er(n)||!0!==n.multi)this.records.get(t);else{let r=this.records.get(t);r||(r=Fo(void 0,Rc,!0),r.factory=()=>_f(r.multi),this.records.set(t,r)),t=n,r.multi.push(n)}this.records.set(t,i)}hydrate(n,t){return t.value===Rc&&(t.value=_x,t.value=t.factory()),"object"==typeof t.value&&t.value&&function Dx(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}injectableDefInScope(n){if(!n.providedIn)return!1;const t=ee(n.providedIn);return"string"==typeof t?"any"===t||this.scopes.has(t):this.injectorDefTypes.has(t)}removeOnDestroy(n){const t=this._onDestroyHooks.indexOf(n);-1!==t&&this._onDestroyHooks.splice(t,1)}}function wh(e){const n=Wl(e),t=null!==n?n.factory:yr(e);if(null!==t)return t;if(e instanceof z)throw new R(204,!1);if(e instanceof Function)return function vx(e){const n=e.length;if(n>0)throw ia(n,"?"),new R(204,!1);const t=function lI(e){return e&&(e[Yl]||e[E_])||null}(e);return null!==t?()=>t.factory(e):()=>new e}(e);throw new R(204,!1)}function qy(e,n,t){let i;if(Er(e)){const r=ee(e);return yr(r)||wh(r)}if(yh(e))i=()=>ee(e.useValue);else if(function Wy(e){return!(!e||!e.useFactory)}(e))i=()=>e.useFactory(..._f(e.deps||[]));else if(function zy(e){return!(!e||!e.useExisting)}(e))i=()=>H(ee(e.useExisting));else{const r=ee(e&&(e.useClass||e.provide));if(!function bx(e){return!!e.deps}(e))return yr(r)||wh(r);i=()=>new r(..._f(e.deps))}return i}function Fo(e,n,t=!1){return{factory:e,value:n,multi:t?[]:void 0}}function Ch(e,n){for(const t of e)Array.isArray(t)?Ch(t,n):t&&lf(t)?Ch(t.\u0275providers,n):n(t)}const Pc=new z("AppId",{providedIn:"root",factory:()=>Cx}),Cx="ng",Yy=new z("Platform Initializer"),Tr=new z("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),Zy=new z("CSP nonce",{providedIn:"root",factory:()=>function Ro(){if(void 0!==uh)return uh;if(typeof document<"u")return document;throw new R(210,!1)}().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let Jy=(e,n,t)=>null;function xh(e,n,t=!1){return Jy(e,n,t)}class Rx{}class Ky{}class Px{resolveComponentFactory(n){throw function kx(e){const n=Error(`No component factory found for ${gt(e)}.`);return n.ngComponent=e,n}(n)}}let Hc=(()=>{class e{static#e=this.NULL=new Px}return e})();function Fx(){return Bo(It(),O())}function Bo(e,n){return new Se(en(e,n))}let Se=(()=>{class e{constructor(t){this.nativeElement=t}static#e=this.__NG_ELEMENT_ID__=Fx}return e})();function Lx(e){return e instanceof Se?e.nativeElement:e}class kh{}let hn=(()=>{class e{constructor(){this.destroyNode=null}static#e=this.__NG_ELEMENT_ID__=()=>function Vx(){const e=O(),t=dn(It().index,e);return(Kt(t)?t:e)[ne]}()}return e})(),Bx=(()=>{class e{static#e=this.\u0275prov=B({token:e,providedIn:"root",factory:()=>null})}return e})();class ga{constructor(n){this.full=n,this.major=n.split(".")[0],this.minor=n.split(".")[1],this.patch=n.split(".").slice(2).join(".")}}const jx=new ga("16.2.12"),Ph={};function o0(e,n=null,t=null,i){const r=s0(e,n,t,i);return r.resolveInjectorInitializers(),r}function s0(e,n=null,t=null,i,r=new Set){const o=[t||ve,px(e)];return i=i||("object"==typeof e?void 0:gt(e)),new Po(o,n||kc(),i||null,r)}let Nt=(()=>{class e{static#e=this.THROW_IF_NOT_FOUND=Bs;static#t=this.NULL=new mh;static create(t,i){if(Array.isArray(t))return o0({name:""},i,t,"");{const r=t.name??"";return o0({name:r},t.parent,t.providers,r)}}static#n=this.\u0275prov=B({token:e,providedIn:"any",factory:()=>H(Hy)});static#i=this.__NG_ELEMENT_ID__=-1}return e})();function Fh(e){return e.ngOriginalError}class Ii{constructor(){this._console=console}handleError(n){const t=this._findOriginalError(n);this._console.error("ERROR",n),t&&this._console.error("ORIGINAL ERROR",t)}_findOriginalError(n){let t=n&&Fh(n);for(;t&&Fh(t);)t=Fh(t);return t||null}}function Lh(e){return n=>{setTimeout(e,void 0,n)}}const Y=class Yx extends Ee{constructor(n=!1){super(),this.__isAsync=n}emit(n){super.next(n)}subscribe(n,t,i){let r=n,o=t||(()=>null),s=i;if(n&&"object"==typeof n){const l=n;r=l.next?.bind(l),o=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(o=Lh(o),r&&(r=Lh(r)),s&&(s=Lh(s)));const a=super.subscribe({next:r,error:o,complete:s});return n instanceof tt&&n.add(a),a}};function l0(...e){}class fe{constructor({enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Y(!1),this.onMicrotaskEmpty=new Y(!1),this.onStable=new Y(!1),this.onError=new Y(!1),typeof Zone>"u")throw new R(908,!1);Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),n&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!i&&t,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function Zx(){const e="function"==typeof Be.requestAnimationFrame;let n=Be[e?"requestAnimationFrame":"setTimeout"],t=Be[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&n&&t){const i=n[Zone.__symbol__("OriginalDelegate")];i&&(n=i);const r=t[Zone.__symbol__("OriginalDelegate")];r&&(t=r)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:t}}().nativeRequestAnimationFrame,function Qx(e){const n=()=>{!function Xx(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(Be,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,Bh(e),e.isCheckStableRunning=!0,Vh(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),Bh(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,i,r,o,s,a)=>{if(function eA(e){return!(!Array.isArray(e)||1!==e.length)&&!0===e[0].data?.__ignore_ng_zone__}(a))return t.invokeTask(r,o,s,a);try{return c0(e),t.invokeTask(r,o,s,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===o.type||e.shouldCoalesceRunChangeDetection)&&n(),u0(e)}},onInvoke:(t,i,r,o,s,a,l)=>{try{return c0(e),t.invoke(r,o,s,a,l)}finally{e.shouldCoalesceRunChangeDetection&&n(),u0(e)}},onHasTask:(t,i,r,o)=>{t.hasTask(r,o),i===r&&("microTask"==o.change?(e._hasPendingMicrotasks=o.microTask,Bh(e),Vh(e)):"macroTask"==o.change&&(e.hasPendingMacrotasks=o.macroTask))},onHandleError:(t,i,r,o)=>(t.handleError(r,o),e.runOutsideAngular(()=>e.onError.emit(o)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!fe.isInAngularZone())throw new R(909,!1)}static assertNotInAngularZone(){if(fe.isInAngularZone())throw new R(909,!1)}run(n,t,i){return this._inner.run(n,t,i)}runTask(n,t,i,r){const o=this._inner,s=o.scheduleEventTask("NgZoneEvent: "+r,n,Jx,l0,l0);try{return o.runTask(s,t,i)}finally{o.cancelTask(s)}}runGuarded(n,t,i){return this._inner.runGuarded(n,t,i)}runOutsideAngular(n){return this._outer.run(n)}}const Jx={};function Vh(e){if(0==e._nesting&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function Bh(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function c0(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function u0(e){e._nesting--,Vh(e)}class Kx{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Y,this.onMicrotaskEmpty=new Y,this.onStable=new Y,this.onError=new Y}run(n,t,i){return n.apply(t,i)}runGuarded(n,t,i){return n.apply(t,i)}runOutsideAngular(n){return n()}runTask(n,t,i,r){return n.apply(t,i)}}const d0=new z("",{providedIn:"root",factory:f0});function f0(){const e=F(fe);let n=!0;return function y_(...e){const n=Vs(e),t=function qM(e,n){return"number"==typeof nf(e)?e.pop():n}(e,1/0),i=e;return i.length?1===i.length?ft(i[0]):lo(t)(pt(i,n)):bn}(new Ce(r=>{n=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{r.next(n),r.complete()})}),new Ce(r=>{let o;e.runOutsideAngular(()=>{o=e.onStable.subscribe(()=>{fe.assertNotInAngularZone(),queueMicrotask(()=>{!n&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(n=!0,r.next(!0))})})});const s=e.onUnstable.subscribe(()=>{fe.assertInAngularZone(),n&&(n=!1,e.runOutsideAngular(()=>{r.next(!1)}))});return()=>{o.unsubscribe(),s.unsubscribe()}}).pipe(b_()))}function Ni(e){return e instanceof Function?e():e}let jh=(()=>{class e{constructor(){this.renderDepth=0,this.handler=null}begin(){this.handler?.validateBegin(),this.renderDepth++}end(){this.renderDepth--,0===this.renderDepth&&this.handler?.execute()}ngOnDestroy(){this.handler?.destroy(),this.handler=null}static#e=this.\u0275prov=B({token:e,providedIn:"root",factory:()=>new e})}return e})();function ma(e){for(;e;){e[re]|=64;const n=sa(e);if(Cf(e)&&!n)return e;e=n}return null}const _0=new z("",{providedIn:"root",factory:()=>!1});let Gc=null;function D0(e,n){return e[n]??E0()}function w0(e,n){const t=E0();t.producerNode?.length&&(e[n]=Gc,t.lView=e,Gc=C0())}const uA={...Y_,consumerIsAlwaysLive:!0,consumerMarkedDirty:e=>{ma(e.lView)},lView:null};function C0(){return Object.create(uA)}function E0(){return Gc??=C0(),Gc}const ie={};function g(e){T0(pe(),O(),Ut()+e,!1)}function T0(e,n,t,i){if(!i)if(3==(3&n[re])){const o=e.preOrderCheckHooks;null!==o&&ac(n,o,t)}else{const o=e.preOrderHooks;null!==o&&lc(n,o,0,t)}br(t)}function b(e,n=ce.Default){const t=O();return null===t?H(e,n):Bv(It(),t,ee(e),n)}function zc(e,n,t,i,r,o,s,a,l,c,u){const d=n.blueprint.slice();return d[Ze]=r,d[re]=140|i,(null!==c||e&&2048&e[re])&&(d[re]|=2048),pv(d),d[Ue]=d[po]=e,d[it]=t,d[ho]=s||e&&e[ho],d[ne]=a||e&&e[ne],d[$i]=l||e&&e[$i]||null,d[Ft]=o,d[Ws]=function mO(){return gO++}(),d[Ei]=u,d[G_]=c,d[rt]=2==n.type?e[rt]:d,d}function Uo(e,n,t,i,r){let o=e.data[n];if(null===o)o=function Hh(e,n,t,i,r){const o=bv(),s=xf(),l=e.data[n]=function vA(e,n,t,i,r,o){let s=n?n.injectorIndex:-1,a=0;return yo()&&(a|=128),{type:t,index:i,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:r,attrs:o,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:n,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,s?o:o&&o.parent,t,n,i,r);return null===e.firstChild&&(e.firstChild=l),null!==o&&(s?null==o.child&&null!==l.parent&&(o.child=l):null===o.next&&(o.next=l,l.prev=o)),l}(e,n,t,i,r),function gN(){return K.lFrame.inI18n}()&&(o.flags|=32);else if(64&o.type){o.type=t,o.value=i,o.attrs=r;const s=function Xs(){const e=K.lFrame,n=e.currentTNode;return e.isParent?n:n.parent}();o.injectorIndex=null===s?-1:s.injectorIndex}return ai(o,!0),o}function _a(e,n,t,i){if(0===t)return-1;const r=n.length;for(let o=0;oue&&T0(e,n,ue,!1),si(a?2:0,r);const c=a?o:null,u=Tf(c);try{null!==c&&(c.dirty=!1),t(i,r)}finally{Sf(c,u)}}finally{a&&null===n[qs]&&w0(n,qs),br(s),si(a?3:1,r)}}function $h(e,n,t){if(wf(n)){const i=En(null);try{const o=n.directiveEnd;for(let s=n.directiveStart;snull;function O0(e,n,t,i){for(let r in e)if(e.hasOwnProperty(r)){t=null===t?{}:t;const o=e[r];null===i?x0(t,n,r,o):i.hasOwnProperty(r)&&x0(t,n,i[r],o)}return t}function x0(e,n,t,i){e.hasOwnProperty(t)?e[t].push(n,i):e[t]=[n,i]}function pn(e,n,t,i,r,o,s,a){const l=en(n,t);let u,c=n.inputs;!a&&null!=c&&(u=c[i])?(Jh(e,t,u,i,r),vr(n)&&function DA(e,n){const t=dn(n,e);16&t[re]||(t[re]|=64)}(t,n.index)):3&n.type&&(i=function bA(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(i),r=null!=s?s(r,n.value||"",i):r,o.setProperty(l,i,r))}function Wh(e,n,t,i){if(yv()){const r=null===i?null:{"":-1},o=function MA(e,n){const t=e.directiveRegistry;let i=null,r=null;if(t)for(let o=0;o0;){const t=e[--n];if("number"==typeof t&&t<0)return t}return 0})(s)!=a&&s.push(a),s.push(t,i,o)}}(e,n,i,_a(e,t,r.hostVars,ie),r)}function ci(e,n,t,i,r,o){const s=en(e,n);!function Yh(e,n,t,i,r,o,s){if(null==o)e.removeAttribute(n,r,t);else{const a=null==s?te(o):s(o,i||"",r);e.setAttribute(n,r,a,t)}}(n[ne],s,o,e.value,t,i,r)}function RA(e,n,t,i,r,o){const s=o[n];if(null!==s)for(let a=0;a{class e{constructor(){this.all=new Set,this.queue=new Map}create(t,i,r){const o=typeof Zone>"u"?null:Zone.current,s=function qI(e,n,t){const i=Object.create(YI);t&&(i.consumerAllowSignalWrites=!0),i.fn=e,i.schedule=n;const r=s=>{i.cleanupFn=s};return i.ref={notify:()=>Q_(i),run:()=>{if(i.dirty=!1,i.hasRun&&!K_(i))return;i.hasRun=!0;const s=Tf(i);try{i.cleanupFn(),i.cleanupFn=av,i.fn(r)}finally{Sf(i,s)}},cleanup:()=>i.cleanupFn()},i.ref}(t,c=>{this.all.has(c)&&this.queue.set(c,o)},r);let a;this.all.add(s),s.notify();const l=()=>{s.cleanup(),a?.(),this.all.delete(s),this.queue.delete(s)};return a=i?.onDestroy(l),{destroy:l}}flush(){if(0!==this.queue.size)for(const[t,i]of this.queue)this.queue.delete(t),i?i.run(()=>t.run()):t.run()}get isQueueEmpty(){return 0===this.queue.size}static#e=this.\u0275prov=B({token:e,providedIn:"root",factory:()=>new e})}return e})();function qc(e,n,t){let i=t?e.styles:null,r=t?e.classes:null,o=0;if(null!==n)for(let s=0;s0){G0(e,1);const r=t.components;null!==r&&W0(e,r,1)}}function W0(e,n,t){for(let i=0;i-1&&(Tc(n,i),hc(t,i))}this._attachedToViewContainer=!1}ih(this._lView[$],this._lView)}onDestroy(n){!function _v(e,n){if(256==(256&e[re]))throw new R(911,!1);null===e[Ui]&&(e[Ui]=[]),e[Ui].push(n)}(this._lView,n)}markForCheck(){ma(this._cdRefInjectingView||this._lView)}detach(){this._lView[re]&=-129}reattach(){this._lView[re]|=128}detectChanges(){Yc(this._lView[$],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new R(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function OO(e,n){la(e,n,n[ne],2,null,null)}(this._lView[$],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new R(902,!1);this._appRef=n}}class $A extends ya{constructor(n){super(n),this._view=n}detectChanges(){const n=this._view;Yc(n[$],n,n[it],!1)}checkNoChanges(){}get context(){return null}}class q0 extends Hc{constructor(n){super(),this.ngModule=n}resolveComponentFactory(n){const t=he(n);return new ba(t,this.ngModule)}}function Y0(e){const n=[];for(let t in e)e.hasOwnProperty(t)&&n.push({propName:e[t],templateName:t});return n}class GA{constructor(n,t){this.injector=n,this.parentInjector=t}get(n,t,i){i=Jl(i);const r=this.injector.get(n,Ph,i);return r!==Ph||t===Ph?r:this.parentInjector.get(n,t,i)}}class ba extends Ky{get inputs(){const n=this.componentDef,t=n.inputTransforms,i=Y0(n.inputs);if(null!==t)for(const r of i)t.hasOwnProperty(r.propName)&&(r.transform=t[r.propName]);return i}get outputs(){return Y0(this.componentDef.outputs)}constructor(n,t){super(),this.componentDef=n,this.ngModule=t,this.componentType=n.type,this.selector=function II(e){return e.map(MI).join(",")}(n.selectors),this.ngContentSelectors=n.ngContentSelectors?n.ngContentSelectors:[],this.isBoundToModule=!!t}create(n,t,i,r){let o=(r=r||this.ngModule)instanceof zt?r:r?.injector;o&&null!==this.componentDef.getStandaloneInjector&&(o=this.componentDef.getStandaloneInjector(o)||o);const s=o?new GA(n,o):n,a=s.get(kh,null);if(null===a)throw new R(407,!1);const d={rendererFactory:a,sanitizer:s.get(Bx,null),effectManager:s.get(H0,null),afterRenderEventManager:s.get(jh,null)},h=a.createRenderer(null,this.componentDef),_=this.componentDef.selectors[0][0]||"div",v=i?function hA(e,n,t,i){const o=i.get(_0,!1)||t===Fn.ShadowDom,s=e.selectRootElement(n,o);return function pA(e){N0(e)}(s),s}(h,i,this.componentDef.encapsulation,s):Ec(h,_,function UA(e){const n=e.toLowerCase();return"svg"===n?"svg":"math"===n?"math":null}(_)),M=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let C=null;null!==v&&(C=xh(v,s,!0));const k=zh(0,null,null,1,0,null,null,null,null,null,null),P=zc(null,k,null,M,null,null,d,h,s,null,C);let G,X;Ff(P);try{const de=this.componentDef;let ge,et=null;de.findHostDirectiveDefs?(ge=[],et=new Map,de.findHostDirectiveDefs(de,ge,et),ge.push(de)):ge=[de];const lt=function WA(e,n){const t=e[$],i=ue;return e[i]=n,Uo(t,i,2,"#host",null)}(P,v),Ct=function qA(e,n,t,i,r,o,s){const a=r[$];!function YA(e,n,t,i){for(const r of e)n.mergedAttrs=$s(n.mergedAttrs,r.hostAttrs);null!==n.mergedAttrs&&(qc(n,n.mergedAttrs,!0),null!==t&&Iy(i,t,n))}(i,e,n,s);let l=null;null!==n&&(l=xh(n,r[$i]));const c=o.rendererFactory.createRenderer(n,t);let u=16;t.signals?u=4096:t.onPush&&(u=64);const d=zc(r,I0(t),null,u,r[e.index],e,o,c,null,null,l);return a.firstCreatePass&&qh(a,e,i.length-1),Wc(r,d),r[e.index]=d}(lt,v,de,ge,P,d,h);X=hv(k,ue),v&&function JA(e,n,t,i){if(i)bf(e,t,["ng-version",jx.full]);else{const{attrs:r,classes:o}=function NI(e){const n=[],t=[];let i=1,r=2;for(;i0&&My(e,t,o.join(" "))}}(h,de,v,i),void 0!==t&&function XA(e,n,t){const i=e.projection=[];for(let r=0;r=0;i--){const r=e[i];r.hostVars=n+=r.hostVars,r.hostAttrs=$s(r.hostAttrs,t=$s(t,r.hostAttrs))}}(i)}function Zc(e){return e===ii?{}:e===ve?[]:e}function eR(e,n){const t=e.viewQuery;e.viewQuery=t?(i,r)=>{n(i,r),t(i,r)}:n}function tR(e,n){const t=e.contentQueries;e.contentQueries=t?(i,r,o)=>{n(i,r,o),t(i,r,o)}:n}function nR(e,n){const t=e.hostBindings;e.hostBindings=t?(i,r)=>{n(i,r),t(i,r)}:n}function Jc(e){return!!Qh(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function Qh(e){return null!==e&&("function"==typeof e||"object"==typeof e)}function ui(e,n,t){return e[n]=t}function Vt(e,n,t){return!Object.is(e[n],t)&&(e[n]=t,!0)}function Sr(e,n,t,i){const r=Vt(e,n,t);return Vt(e,n+1,i)||r}function Ie(e,n,t,i){const r=O();return Vt(r,bo(),n)&&(pe(),ci(We(),r,e,n,t,i)),Ie}function zo(e,n,t,i){return Vt(e,bo(),t)?n+te(t)+i:ie}function Wo(e,n,t,i,r,o){const a=Sr(e,function Ti(){return K.lFrame.bindingIndex}(),t,r);return Si(2),a?n+te(t)+i+te(r)+o:ie}function I(e,n,t,i,r,o,s,a){const l=O(),c=pe(),u=e+ue,d=c.firstCreatePass?function SR(e,n,t,i,r,o,s,a,l){const c=n.consts,u=Uo(n,e,4,s||null,zi(c,a));Wh(n,t,u,zi(c,l)),sc(n,u);const d=u.tView=zh(2,u,i,r,o,n.directiveRegistry,n.pipeRegistry,null,n.schemas,c,null);return null!==n.queries&&(n.queries.template(n,u),d.queries=n.queries.embeddedTView(u)),u}(u,c,l,n,t,i,r,o,s):c.data[u];ai(d,!1);const h=f1(c,l,d,e);oc()&&Mc(c,l,h,d),Lt(h,l),Wc(l,l[u]=P0(h,l,h,d)),tc(d)&&Uh(c,l,d),null!=s&&Gh(l,d,a)}let f1=function h1(e,n,t,i){return Wi(!0),n[ne].createComment("")};function S(e,n,t){const i=O();return Vt(i,bo(),n)&&pn(pe(),We(),i,e,n,i[ne],t,!1),S}function rp(e,n,t,i,r){const s=r?"class":"style";Jh(e,t,n.inputs[s],s,i)}function p(e,n,t,i){const r=O(),o=pe(),s=ue+e,a=r[ne],l=o.firstCreatePass?function OR(e,n,t,i,r,o){const s=n.consts,l=Uo(n,e,2,i,zi(s,r));return Wh(n,t,l,zi(s,o)),null!==l.attrs&&qc(l,l.attrs,!1),null!==l.mergedAttrs&&qc(l,l.mergedAttrs,!0),null!==n.queries&&n.queries.elementStart(n,l),l}(s,o,r,n,t,i):o.data[s],c=p1(o,r,l,a,n,e);r[s]=c;const u=tc(l);return ai(l,!0),Iy(a,c,l),32!=(32&l.flags)&&oc()&&Mc(o,r,c,l),0===function sN(){return K.lFrame.elementDepthCount}()&&Lt(c,r),function aN(){K.lFrame.elementDepthCount++}(),u&&(Uh(o,r,l),$h(o,l,r)),null!==i&&Gh(r,l),p}function f(){let e=It();xf()?Af():(e=e.parent,ai(e,!1));const n=e;(function cN(e){return K.skipHydrationRootTNode===e})(n)&&function hN(){K.skipHydrationRootTNode=null}(),function lN(){K.lFrame.elementDepthCount--}();const t=pe();return t.firstCreatePass&&(sc(t,e),wf(e)&&t.queries.elementEnd(e)),null!=n.classesWithoutHost&&function IN(e){return 0!=(8&e.flags)}(n)&&rp(t,n,O(),n.classesWithoutHost,!0),null!=n.stylesWithoutHost&&function NN(e){return 0!=(16&e.flags)}(n)&&rp(t,n,O(),n.stylesWithoutHost,!1),f}function Ae(e,n,t,i){return p(e,n,t,i),f(),Ae}let p1=(e,n,t,i,r,o)=>(Wi(!0),Ec(i,r,function Ov(){return K.lFrame.currentNamespace}()));function Zi(e,n,t){const i=O(),r=pe(),o=e+ue,s=r.firstCreatePass?function RR(e,n,t,i,r){const o=n.consts,s=zi(o,i),a=Uo(n,e,8,"ng-container",s);return null!==s&&qc(a,s,!0),Wh(n,t,a,zi(o,r)),null!==n.queries&&n.queries.elementStart(n,a),a}(o,r,i,n,t):r.data[o];ai(s,!0);const a=m1(r,i,s,e);return i[o]=a,oc()&&Mc(r,i,a,s),Lt(a,i),tc(s)&&(Uh(r,i,s),$h(r,s,i)),null!=t&&Gh(i,s),Zi}function Ji(){let e=It();const n=pe();return xf()?Af():(e=e.parent,ai(e,!1)),n.firstCreatePass&&(sc(n,e),wf(e)&&n.queries.elementEnd(e)),Ji}let m1=(e,n,t,i)=>(Wi(!0),nh(n[ne],""));function st(){return O()}function Sa(e){return!!e&&"function"==typeof e.then}function _1(e){return!!e&&"function"==typeof e.subscribe}function Z(e,n,t,i){const r=O(),o=pe(),s=It();return function y1(e,n,t,i,r,o,s){const a=tc(i),c=e.firstCreatePass&&V0(e),u=n[it],d=L0(n);let h=!0;if(3&i.type||s){const y=en(i,n),D=s?s(y):y,M=d.length,C=s?P=>s(je(P[i.index])):i.index;let k=null;if(!s&&a&&(k=function FR(e,n,t,i){const r=e.cleanup;if(null!=r)for(let o=0;ol?a[l]:null}"string"==typeof s&&(o+=2)}return null}(e,n,r,i.index)),null!==k)(k.__ngLastListenerFn__||k).__ngNextListenerFn__=o,k.__ngLastListenerFn__=o,h=!1;else{o=D1(i,n,u,o,!1);const P=t.listen(D,r,o);d.push(o,P),c&&c.push(r,C,M,M+1)}}else o=D1(i,n,u,o,!1);const _=i.outputs;let v;if(h&&null!==_&&(v=_[r])){const y=v.length;if(y)for(let D=0;D-1?dn(e.index,n):n);let l=b1(n,t,i,s),c=o.__ngNextListenerFn__;for(;c;)l=b1(n,t,c,s)&&l,c=c.__ngNextListenerFn__;return r&&!1===l&&s.preventDefault(),l}}function T(e=1){return function yN(e){return(K.lFrame.contextLView=function bN(e,n){for(;e>0;)n=n[po],e--;return n}(e,K.lFrame.contextLView))[it]}(e)}function LR(e,n){let t=null;const i=function CI(e){const n=e.attrs;if(null!=n){const t=n.indexOf(5);if(!(1&t))return n[t+1]}return null}(e);for(let r=0;r>17&32767}function sp(e){return 2|e}function Mr(e){return(131068&e)>>2}function ap(e,n){return-131069&e|n<<2}function lp(e){return 1|e}function A1(e,n,t,i,r){const o=e[t+1],s=null===n;let a=i?Xi(o):Mr(o),l=!1;for(;0!==a&&(!1===l||s);){const u=e[a+1];UR(e[a],n)&&(l=!0,e[a+1]=i?lp(u):sp(u)),a=i?Xi(u):Mr(u)}l&&(e[t+1]=i?sp(o):lp(o))}function UR(e,n){return null===e||null==n||(Array.isArray(e)?e[1]:e)===n||!(!Array.isArray(e)||"string"!=typeof n)&&Io(e,n)>=0}const _t={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function R1(e){return e.substring(_t.key,_t.keyEnd)}function k1(e,n){const t=_t.textEnd;return t===n?-1:(n=_t.keyEnd=function qR(e,n,t){for(;n32;)n++;return n}(e,_t.key=n,t),Ko(e,n,t))}function Ko(e,n,t){for(;n=0;t=k1(n,t))fn(e,R1(n),!0)}function j1(e,n){return n>=e.expandoStartIndex}function H1(e,n,t,i){const r=e.data;if(null===r[t+1]){const o=r[Ut()],s=j1(e,t);z1(o,i)&&null===n&&!s&&(n=!1),n=function XR(e,n,t,i){const r=function kf(e){const n=K.lFrame.currentDirectiveIndex;return-1===n?null:e[n]}(e);let o=i?n.residualClasses:n.residualStyles;if(null===r)0===(i?n.classBindings:n.styleBindings)&&(t=Ma(t=cp(null,e,n,t,i),n.attrs,i),o=null);else{const s=n.directiveStylingLast;if(-1===s||e[s]!==r)if(t=cp(r,e,n,t,i),null===o){let l=function QR(e,n,t){const i=t?n.classBindings:n.styleBindings;if(0!==Mr(i))return e[Xi(i)]}(e,n,i);void 0!==l&&Array.isArray(l)&&(l=cp(null,e,n,l[1],i),l=Ma(l,n.attrs,i),function KR(e,n,t,i){e[Xi(t?n.classBindings:n.styleBindings)]=i}(e,n,i,l))}else o=function e2(e,n,t){let i;const r=n.directiveEnd;for(let o=1+n.directiveStylingLast;o0)&&(c=!0)):u=t,r)if(0!==l){const h=Xi(e[a+1]);e[i+1]=tu(h,a),0!==h&&(e[h+1]=ap(e[h+1],i)),e[a+1]=function BR(e,n){return 131071&e|n<<17}(e[a+1],i)}else e[i+1]=tu(a,0),0!==a&&(e[a+1]=ap(e[a+1],i)),a=i;else e[i+1]=tu(l,0),0===a?a=i:e[l+1]=ap(e[l+1],i),l=i;c&&(e[i+1]=sp(e[i+1])),A1(e,u,i,!0),A1(e,u,i,!1),function $R(e,n,t,i,r){const o=r?e.residualClasses:e.residualStyles;null!=o&&"string"==typeof n&&Io(o,n)>=0&&(t[i+1]=lp(t[i+1]))}(n,u,e,i,o),s=tu(a,l),o?n.classBindings=s:n.styleBindings=s}(r,o,n,t,s,i)}}function cp(e,n,t,i,r){let o=null;const s=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=e[r],c=Array.isArray(l),u=c?l[1]:l,d=null===u;let h=t[r+1];h===ie&&(h=d?ve:void 0);let _=d?Wf(h,i):u===i?h:void 0;if(c&&!nu(_)&&(_=Wf(l,i)),nu(_)&&(a=_,s))return a;const v=e[r+1];r=s?Xi(v):Mr(v)}if(null!==n){let l=o?n.residualClasses:n.residualStyles;null!=l&&(a=Wf(l,i))}return a}function nu(e){return void 0!==e}function z1(e,n){return 0!=(e.flags&(n?8:16))}function m(e,n=""){const t=O(),i=pe(),r=e+ue,o=i.firstCreatePass?Uo(i,r,1,n,null):i.data[r],s=W1(i,t,o,n,e);t[r]=s,oc()&&Mc(i,t,s,o),ai(o,!1)}let W1=(e,n,t,i,r)=>(Wi(!0),function Cc(e,n){return e.createText(n)}(n[ne],i));function A(e){return V("",e,""),A}function V(e,n,t){const i=O(),r=zo(i,e,n,t);return r!==ie&&Oi(i,Ut(),r),V}function up(e,n,t,i,r){const o=O(),s=Wo(o,e,n,t,i,r);return s!==ie&&Oi(o,Ut(),s),up}const ts="en-US";let fb=ts;function hp(e,n,t,i,r){if(e=ee(e),Array.isArray(e))for(let o=0;o>20;if(Er(e)||!e.multi){const _=new Qs(c,r,b),v=gp(l,n,r?u:u+h,d);-1===v?(Uf(uc(a,s),o,l),pp(o,e,n.length),n.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),t.push(_),s.push(_)):(t[v]=_,s[v]=_)}else{const _=gp(l,n,u+h,d),v=gp(l,n,u,u+h),D=v>=0&&t[v];if(r&&!D||!r&&!(_>=0&&t[_])){Uf(uc(a,s),o,l);const M=function Ek(e,n,t,i,r){const o=new Qs(e,t,b);return o.multi=[],o.index=n,o.componentProviders=0,Lb(o,r,i&&!t),o}(r?Ck:wk,t.length,r,i,c);!r&&D&&(t[v].providerFactory=M),pp(o,e,n.length,0),n.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),t.push(M),s.push(M)}else pp(o,e,_>-1?_:v,Lb(t[r?v:_],c,!r&&i));!r&&i&&D&&t[v].componentProviders++}}}function pp(e,n,t,i){const r=Er(n),o=function mx(e){return!!e.useClass}(n);if(r||o){const l=(o?ee(n.useClass):n).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!r&&n.multi){const u=c.indexOf(t);-1===u?c.push(t,[i,l]):c[u+1].push(i,l)}else c.push(t,l)}}}function Lb(e,n,t){return t&&e.componentProviders++,e.multi.push(n)-1}function gp(e,n,t,i){for(let r=t;r{t.providersResolver=(i,r)=>function Dk(e,n,t){const i=pe();if(i.firstCreatePass){const r=Bn(e);hp(t,i.data,i.blueprint,r,!0),hp(n,i.data,i.blueprint,r,!1)}}(i,r?r(e):e,n)}}class Or{}class Vb{}class _p extends Or{constructor(n,t,i){super(),this._parent=t,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new q0(this);const r=un(n);this._bootstrapComponents=Ni(r.bootstrap),this._r3Injector=s0(n,t,[{provide:Or,useValue:this},{provide:Hc,useValue:this.componentFactoryResolver},...i],gt(n),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(n)}get injector(){return this._r3Injector}destroy(){const n=this._r3Injector;!n.destroyed&&n.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}}class vp extends Vb{constructor(n){super(),this.moduleType=n}create(n){return new _p(this.moduleType,n,[])}}class Bb extends Or{constructor(n){super(),this.componentFactoryResolver=new q0(this),this.instance=null;const t=new Po([...n.providers,{provide:Or,useValue:this},{provide:Hc,useValue:this.componentFactoryResolver}],n.parent||kc(),n.debugName,new Set(["environment"]));this.injector=t,n.runEnvironmentInitializers&&t.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(n){this.injector.onDestroy(n)}}function yp(e,n,t=null){return new Bb({providers:e,parent:n,debugName:t,runEnvironmentInitializers:!0}).injector}let Mk=(()=>{class e{constructor(t){this._injector=t,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(t){if(!t.standalone)return null;if(!this.cachedInjectors.has(t)){const i=Uy(0,t.type),r=i.length>0?yp([i],this._injector,`Standalone[${t.type.name}]`):null;this.cachedInjectors.set(t,r)}return this.cachedInjectors.get(t)}ngOnDestroy(){try{for(const t of this.cachedInjectors.values())null!==t&&t.destroy()}finally{this.cachedInjectors.clear()}}static#e=this.\u0275prov=B({token:e,providedIn:"environment",factory:()=>new e(H(zt))})}return e})();function In(e){e.getStandaloneInjector=n=>n.get(Mk).getOrCreateStandaloneInjector(e)}function $n(e,n,t,i){return Wb(O(),$t(),e,n,t,i)}function ns(e,n,t,i,r,o,s,a){const l=$t()+e,c=O(),u=function Sn(e,n,t,i,r,o){const s=Sr(e,n,t,i);return Sr(e,n+2,r,o)||s}(c,l,t,i,r,o);return Vt(c,l+4,s)||u?ui(c,l+5,a?n.call(a,t,i,r,o,s):n(t,i,r,o,s)):function wa(e,n){return e[n]}(c,l+5)}function Wb(e,n,t,i,r,o){const s=n+t;return Vt(e,s,r)?ui(e,s+1,o?i.call(o,r):i(r)):function Pa(e,n){const t=e[n];return t===ie?void 0:t}(e,s+1)}function au(e,n){const t=pe();let i;const r=e+ue;t.firstCreatePass?(i=function $k(e,n){if(n)for(let t=n.length-1;t>=0;t--){const i=n[t];if(e===i.name)return i}}(n,t.pipeRegistry),t.data[r]=i,i.onDestroy&&(t.destroyHooks??=[]).push(r,i.onDestroy)):i=t.data[r];const o=i.factory||(i.factory=yr(i.type)),a=Qt(b);try{const l=cc(!1),c=o();return cc(l),function NR(e,n,t,i){t>=e.data.length&&(e.data[t]=null,e.blueprint[t]=null),n[t]=i}(t,O(),r,c),c}finally{Qt(a)}}function lu(e,n,t){const i=e+ue,r=O(),o=function vo(e,n){return e[n]}(r,i);return function Fa(e,n){return e[$].data[n].pure}(r,i)?Wb(r,$t(),n,o.transform,t,o):o.transform(t)}function qk(){return this._results[Symbol.iterator]()}class wp{static#e=Symbol.iterator;get changes(){return this._changes||(this._changes=new Y)}constructor(n=!1){this._emitDistinctChangesOnly=n,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const t=wp.prototype;t[Symbol.iterator]||(t[Symbol.iterator]=qk)}get(n){return this._results[n]}map(n){return this._results.map(n)}filter(n){return this._results.filter(n)}find(n){return this._results.find(n)}reduce(n,t){return this._results.reduce(n,t)}forEach(n){this._results.forEach(n)}some(n){return this._results.some(n)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(n,t){const i=this;i.dirty=!1;const r=function Tn(e){return e.flat(Number.POSITIVE_INFINITY)}(n);(this._changesDetected=!function UN(e,n,t){if(e.length!==n.length)return!1;for(let i=0;i0&&(t[r-1][Vn]=n),i{class e{static#e=this.__NG_ELEMENT_ID__=Qk}return e})();const Jk=qe,Xk=class extends Jk{constructor(n,t,i){super(),this._declarationLView=n,this._declarationTContainer=t,this.elementRef=i}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(n,t){return this.createEmbeddedViewImpl(n,t)}createEmbeddedViewImpl(n,t,i){const r=function Yk(e,n,t,i){const r=n.tView,a=zc(e,r,t,4096&e[re]?4096:16,null,n,null,null,null,i?.injector??null,i?.hydrationInfo??null);a[zs]=e[n.index];const c=e[ri];return null!==c&&(a[ri]=c.createEmbeddedView(r)),Xh(r,a,t),a}(this._declarationLView,this._declarationTContainer,n,{injector:t,hydrationInfo:i});return new ya(r)}};function Qk(){return cu(It(),O())}function cu(e,n){return 4&e.type?new Xk(n,e,Bo(e,n)):null}let Nn=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=rP}return e})();function rP(){return iD(It(),O())}const oP=Nn,tD=class extends oP{constructor(n,t,i){super(),this._lContainer=n,this._hostTNode=t,this._hostLView=i}get element(){return Bo(this._hostTNode,this._hostLView)}get injector(){return new Gt(this._hostTNode,this._hostLView)}get parentInjector(){const n=dc(this._hostTNode,this._hostLView);if(jf(n)){const t=ea(n,this._hostLView),i=Ks(n);return new Gt(t[$].data[i+8],t)}return new Gt(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){const t=nD(this._lContainer);return null!==t&&t[n]||null}get length(){return this._lContainer.length-Tt}createEmbeddedView(n,t,i){let r,o;"number"==typeof i?r=i:null!=i&&(r=i.index,o=i.injector);const a=n.createEmbeddedViewImpl(t||{},o,null);return this.insertImpl(a,r,false),a}createComponent(n,t,i,r,o){const s=n&&!function na(e){return"function"==typeof e}(n);let a;if(s)a=t;else{const y=t||{};a=y.index,i=y.injector,r=y.projectableNodes,o=y.environmentInjector||y.ngModuleRef}const l=s?n:new ba(he(n)),c=i||this.parentInjector;if(!o&&null==l.ngModule){const D=(s?c:this.parentInjector).get(zt,null);D&&(o=D)}he(l.componentType??{});const _=l.create(c,r,null,o);return this.insertImpl(_.hostView,a,false),_}insert(n,t){return this.insertImpl(n,t,!1)}insertImpl(n,t,i){const r=n._lView;if(function iN(e){return Ht(e[Ue])}(r)){const l=this.indexOf(n);if(-1!==l)this.detach(l);else{const c=r[Ue],u=new tD(c,c[Ft],c[Ue]);u.detach(u.indexOf(n))}}const s=this._adjustIndex(t),a=this._lContainer;return Zk(a,r,s,!i),n.attachToViewContainerRef(),zv(Cp(a),s,n),n}move(n,t){return this.insert(n,t)}indexOf(n){const t=nD(this._lContainer);return null!==t?t.indexOf(n):-1}remove(n){const t=this._adjustIndex(n,-1),i=Tc(this._lContainer,t);i&&(hc(Cp(this._lContainer),t),ih(i[$],i))}detach(n){const t=this._adjustIndex(n,-1),i=Tc(this._lContainer,t);return i&&null!=hc(Cp(this._lContainer),t)?new ya(i):null}_adjustIndex(n,t=0){return n??this.length+t}};function nD(e){return e[8]}function Cp(e){return e[8]||(e[8]=[])}function iD(e,n){let t;const i=n[e.index];return Ht(i)?t=i:(t=P0(i,n,null,e),n[e.index]=t,Wc(n,t)),rD(t,n,e,i),new tD(t,e,n)}let rD=function oD(e,n,t,i){if(e[oi])return;let r;r=8&t.type?je(i):function sP(e,n){const t=e[ne],i=t.createComment(""),r=en(n,e);return Cr(t,Sc(t,r),i,function LO(e,n){return e.nextSibling(n)}(t,r),!1),i}(n,t),e[oi]=r};class Ep{constructor(n){this.queryList=n,this.matches=null}clone(){return new Ep(this.queryList)}setDirty(){this.queryList.setDirty()}}class Tp{constructor(n=[]){this.queries=n}createEmbeddedView(n){const t=n.queries;if(null!==t){const i=null!==n.contentQueries?n.contentQueries[0]:t.length,r=[];for(let o=0;o0)i.push(s[a/2]);else{const c=o[a+1],u=n[-l];for(let d=Tt;d{class e{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,i)=>{this.resolve=t,this.reject=i}),this.appInits=F(kp,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const t=[];for(const r of this.appInits){const o=r();if(Sa(o))t.push(o);else if(_1(o)){const s=new Promise((a,l)=>{o.subscribe({complete:a,error:l})});t.push(s)}}const i=()=>{this.done=!0,this.resolve()};Promise.all(t).then(()=>{i()}).catch(r=>{this.reject(r)}),0===t.length&&i(),this.initialized=!0}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),MD=(()=>{class e{log(t){console.log(t)}warn(t){console.warn(t)}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();const Gn=new z("LocaleId",{providedIn:"root",factory:()=>F(Gn,ce.Optional|ce.SkipSelf)||function PP(){return typeof $localize<"u"&&$localize.locale||ts}()});let fu=(()=>{class e{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new Dn(!1)}add(){this.hasPendingTasks.next(!0);const t=this.taskId++;return this.pendingTasks.add(t),t}remove(t){this.pendingTasks.delete(t),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();class VP{constructor(n,t){this.ngModuleFactory=n,this.componentFactories=t}}let ID=(()=>{class e{compileModuleSync(t){return new vp(t)}compileModuleAsync(t){return Promise.resolve(this.compileModuleSync(t))}compileModuleAndAllComponentsSync(t){const i=this.compileModuleSync(t),o=Ni(un(t).declarations).reduce((s,a)=>{const l=he(a);return l&&s.push(new ba(l)),s},[]);return new VP(i,o)}compileModuleAndAllComponentsAsync(t){return Promise.resolve(this.compileModuleAndAllComponentsSync(t))}clearCache(){}clearCacheFor(t){}getModuleId(t){}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const AD=new z(""),pu=new z("");let jp,Vp=(()=>{class e{constructor(t,i,r){this._ngZone=t,this.registry=i,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,jp||(function sF(e){jp=e}(r),r.addToWindow(i)),this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{fe.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(t)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,i,r){let o=-1;i&&i>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==o),t(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:t,timeoutId:o,updateCb:r})}whenStable(t,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(t){this.registry.registerApplication(t,this)}unregisterApplication(t){this.registry.unregisterApplication(t)}findProviders(t,i,r){return[]}static#e=this.\u0275fac=function(i){return new(i||e)(H(fe),H(Bp),H(pu))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})(),Bp=(()=>{class e{constructor(){this._applications=new Map}registerApplication(t,i){this._applications.set(t,i)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,i=!0){return jp?.findTestabilityInTree(this,t,i)??null}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})(),Qi=null;const RD=new z("AllowMultipleToken"),Hp=new z("PlatformDestroyListeners"),$p=new z("appBootstrapListener");class PD{constructor(n,t){this.name=n,this.token=t}}function LD(e,n,t=[]){const i=`Platform: ${n}`,r=new z(i);return(o=[])=>{let s=Up();if(!s||s.injector.get(RD,!1)){const a=[...t,...o,{provide:r,useValue:!0}];e?e(a):function cF(e){if(Qi&&!Qi.get(RD,!1))throw new R(400,!1);(function kD(){!function $I(e){iv=e}(()=>{throw new R(600,!1)})})(),Qi=e;const n=e.get(BD);(function FD(e){e.get(Yy,null)?.forEach(t=>t())})(e)}(function VD(e=[],n){return Nt.create({name:n,providers:[{provide:bh,useValue:"platform"},{provide:Hp,useValue:new Set([()=>Qi=null])},...e]})}(a,i))}return function dF(e){const n=Up();if(!n)throw new R(401,!1);return n}()}}function Up(){return Qi?.get(BD)??null}let BD=(()=>{class e{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,i){const r=function fF(e="zone.js",n){return"noop"===e?new Kx:"zone.js"===e?new fe(n):e}(i?.ngZone,function jD(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}({eventCoalescing:i?.ngZoneEventCoalescing,runCoalescing:i?.ngZoneRunCoalescing}));return r.run(()=>{const o=function Sk(e,n,t){return new _p(e,n,t)}(t.moduleType,this.injector,function zD(e){return[{provide:fe,useFactory:e},{provide:fa,multi:!0,useFactory:()=>{const n=F(pF,{optional:!0});return()=>n.initialize()}},{provide:GD,useFactory:hF},{provide:d0,useFactory:f0}]}(()=>r)),s=o.injector.get(Ii,null);return r.runOutsideAngular(()=>{const a=r.onError.subscribe({next:l=>{s.handleError(l)}});o.onDestroy(()=>{gu(this._modules,o),a.unsubscribe()})}),function HD(e,n,t){try{const i=t();return Sa(i)?i.catch(r=>{throw n.runOutsideAngular(()=>e.handleError(r)),r}):i}catch(i){throw n.runOutsideAngular(()=>e.handleError(i)),i}}(s,r,()=>{const a=o.injector.get(Pp);return a.runInitializers(),a.donePromise.then(()=>(function hb(e){Cn(e,"Expected localeId to be defined"),"string"==typeof e&&(fb=e.toLowerCase().replace(/_/g,"-"))}(o.injector.get(Gn,ts)||ts),this._moduleDoBootstrap(o),o))})})}bootstrapModule(t,i=[]){const r=$D({},i);return function aF(e,n,t){const i=new vp(t);return Promise.resolve(i)}(0,0,t).then(o=>this.bootstrapModuleFactory(o,r))}_moduleDoBootstrap(t){const i=t.injector.get(Ki);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!t.instance.ngDoBootstrap)throw new R(-403,!1);t.instance.ngDoBootstrap(i)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new R(404,!1);this._modules.slice().forEach(i=>i.destroy()),this._destroyListeners.forEach(i=>i());const t=this._injector.get(Hp,null);t&&(t.forEach(i=>i()),t.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}static#e=this.\u0275fac=function(i){return new(i||e)(H(Nt))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();function $D(e,n){return Array.isArray(n)?n.reduce($D,e):{...e,...n}}let Ki=(()=>{class e{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=F(GD),this.zoneIsStable=F(d0),this.componentTypes=[],this.components=[],this.isStable=F(fu).hasPendingTasks.pipe(wn(t=>t?J(!1):this.zoneIsStable),function D_(e,n=Pn){return e=e??eI,ze((t,i)=>{let r,o=!0;t.subscribe(Ve(i,s=>{const a=n(s);(o||!e(r,a))&&(o=!1,r=a,i.next(s))}))})}(),b_()),this._injector=F(zt)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(t,i){const r=t instanceof Ky;if(!this._injector.get(Pp).done)throw!r&&function uo(e){const n=he(e)||Et(e)||jt(e);return null!==n&&n.standalone}(t),new R(405,!1);let s;s=r?t:this._injector.get(Hc).resolveComponentFactory(t),this.componentTypes.push(s.componentType);const a=function lF(e){return e.isBoundToModule}(s)?void 0:this._injector.get(Or),c=s.create(Nt.NULL,[],i||s.selector,a),u=c.location.nativeElement,d=c.injector.get(AD,null);return d?.registerApplication(u),c.onDestroy(()=>{this.detachView(c.hostView),gu(this.components,c),d?.unregisterApplication(u)}),this._loadComponent(c),c}tick(){if(this._runningTick)throw new R(101,!1);try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this.internalErrorHandler(t)}finally{this._runningTick=!1}}attachView(t){const i=t;this._views.push(i),i.attachToAppRef(this)}detachView(t){const i=t;gu(this._views,i),i.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t);const i=this._injector.get($p,[]);i.push(...this._bootstrapListeners),i.forEach(r=>r(t))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(t=>t()),this._views.slice().forEach(t=>t.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(t){return this._destroyListeners.push(t),()=>gu(this._destroyListeners,t)}destroy(){if(this._destroyed)throw new R(406,!1);const t=this._injector;t.destroy&&!t.destroyed&&t.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function gu(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}const GD=new z("",{providedIn:"root",factory:()=>F(Ii).handleError.bind(void 0)});function hF(){const e=F(fe),n=F(Ii);return t=>e.runOutsideAngular(()=>n.handleError(t))}let pF=(()=>{class e{constructor(){this.zone=F(fe),this.applicationRef=F(Ki)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();let zn=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=mF}return e})();function mF(e){return function _F(e,n,t){if(vr(e)&&!t){const i=dn(e.index,n);return new ya(i,i)}return 47&e.type?new ya(n[rt],n):null}(It(),O(),16==(16&e))}class ZD{constructor(){}supports(n){return Jc(n)}create(n){return new CF(n)}}const wF=(e,n)=>n;class CF{constructor(n){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=n||wF}forEachItem(n){let t;for(t=this._itHead;null!==t;t=t._next)n(t)}forEachOperation(n){let t=this._itHead,i=this._removalsHead,r=0,o=null;for(;t||i;){const s=!i||t&&t.currentIndex{s=this._trackByFn(r,a),null!==t&&Object.is(t.trackById,s)?(i&&(t=this._verifyReinsertion(t,a,s,r)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,s,r),i=!0),t=t._next,r++}),this.length=r;return this._truncate(t),this.collection=n,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let n;for(n=this._previousItHead=this._itHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._additionsHead;null!==n;n=n._nextAdded)n.previousIndex=n.currentIndex;for(this._additionsHead=this._additionsTail=null,n=this._movesHead;null!==n;n=n._nextMoved)n.previousIndex=n.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(n,t,i,r){let o;return null===n?o=this._itTail:(o=n._prev,this._remove(n)),null!==(n=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._reinsertAfter(n,o,r)):null!==(n=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._moveAfter(n,o,r)):n=this._addAfter(new EF(t,i),o,r),n}_verifyReinsertion(n,t,i,r){let o=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==o?n=this._reinsertAfter(o,n._prev,r):n.currentIndex!=r&&(n.currentIndex=r,this._addToMoves(n,r)),n}_truncate(n){for(;null!==n;){const t=n._next;this._addToRemovals(this._unlink(n)),n=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(n,t,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(n);const r=n._prevRemoved,o=n._nextRemoved;return null===r?this._removalsHead=o:r._nextRemoved=o,null===o?this._removalsTail=r:o._prevRemoved=r,this._insertAfter(n,t,i),this._addToMoves(n,i),n}_moveAfter(n,t,i){return this._unlink(n),this._insertAfter(n,t,i),this._addToMoves(n,i),n}_addAfter(n,t,i){return this._insertAfter(n,t,i),this._additionsTail=null===this._additionsTail?this._additionsHead=n:this._additionsTail._nextAdded=n,n}_insertAfter(n,t,i){const r=null===t?this._itHead:t._next;return n._next=r,n._prev=t,null===r?this._itTail=n:r._prev=n,null===t?this._itHead=n:t._next=n,null===this._linkedRecords&&(this._linkedRecords=new JD),this._linkedRecords.put(n),n.currentIndex=i,n}_remove(n){return this._addToRemovals(this._unlink(n))}_unlink(n){null!==this._linkedRecords&&this._linkedRecords.remove(n);const t=n._prev,i=n._next;return null===t?this._itHead=i:t._next=i,null===i?this._itTail=t:i._prev=t,n}_addToMoves(n,t){return n.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=n:this._movesTail._nextMoved=n),n}_addToRemovals(n){return null===this._unlinkedRecords&&(this._unlinkedRecords=new JD),this._unlinkedRecords.put(n),n.currentIndex=null,n._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=n,n._prevRemoved=null):(n._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=n),n}_addIdentityChange(n,t){return n.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=n:this._identityChangesTail._nextIdentityChange=n,n}}class EF{constructor(n,t){this.item=n,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class TF{constructor(){this._head=null,this._tail=null}add(n){null===this._head?(this._head=this._tail=n,n._nextDup=null,n._prevDup=null):(this._tail._nextDup=n,n._prevDup=this._tail,n._nextDup=null,this._tail=n)}get(n,t){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===t||t<=i.currentIndex)&&Object.is(i.trackById,n))return i;return null}remove(n){const t=n._prevDup,i=n._nextDup;return null===t?this._head=i:t._nextDup=i,null===i?this._tail=t:i._prevDup=t,null===this._head}}class JD{constructor(){this.map=new Map}put(n){const t=n.trackById;let i=this.map.get(t);i||(i=new TF,this.map.set(t,i)),i.add(n)}get(n,t){const r=this.map.get(n);return r?r.get(n,t):null}remove(n){const t=n.trackById;return this.map.get(t).remove(n)&&this.map.delete(t),n}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function XD(e,n,t){const i=e.previousIndex;if(null===i)return i;let r=0;return t&&i{if(t&&t.key===r)this._maybeAddToChanges(t,i),this._appendAfter=t,t=t._next;else{const o=this._getOrCreateRecordForKey(r,i);t=this._insertBeforeOrAppend(t,o)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let i=t;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(n,t){if(n){const i=n._prev;return t._next=n,t._prev=i,n._prev=t,i&&(i._next=t),n===this._mapHead&&(this._mapHead=t),this._appendAfter=n,n}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(n,t){if(this._records.has(n)){const r=this._records.get(n);this._maybeAddToChanges(r,t);const o=r._prev,s=r._next;return o&&(o._next=s),s&&(s._prev=o),r._next=null,r._prev=null,r}const i=new MF(n);return this._records.set(n,i),i.currentValue=t,this._addToAdditions(i),i}_reset(){if(this.isDirty){let n;for(this._previousMapHead=this._mapHead,n=this._previousMapHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._changesHead;null!==n;n=n._nextChanged)n.previousValue=n.currentValue;for(n=this._additionsHead;null!=n;n=n._nextAdded)n.previousValue=n.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(n,t){Object.is(t,n.currentValue)||(n.previousValue=n.currentValue,n.currentValue=t,this._addToChanges(n))}_addToAdditions(n){null===this._additionsHead?this._additionsHead=this._additionsTail=n:(this._additionsTail._nextAdded=n,this._additionsTail=n)}_addToChanges(n){null===this._changesHead?this._changesHead=this._changesTail=n:(this._changesTail._nextChanged=n,this._changesTail=n)}_forEach(n,t){n instanceof Map?n.forEach(t):Object.keys(n).forEach(i=>t(n[i],i))}}class MF{constructor(n){this.key=n,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function KD(){return new vu([new ZD])}let vu=(()=>{class e{static#e=this.\u0275prov=B({token:e,providedIn:"root",factory:KD});constructor(t){this.factories=t}static create(t,i){if(null!=i){const r=i.factories.slice();t=t.concat(r)}return new e(t)}static extend(t){return{provide:e,useFactory:i=>e.create(t,i||KD()),deps:[[e,new mc,new gc]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(null!=i)return i;throw new R(901,!1)}}return e})();function ew(){return new Ba([new QD])}let Ba=(()=>{class e{static#e=this.\u0275prov=B({token:e,providedIn:"root",factory:ew});constructor(t){this.factories=t}static create(t,i){if(i){const r=i.factories.slice();t=t.concat(r)}return new e(t)}static extend(t){return{provide:e,useFactory:i=>e.create(t,i||ew()),deps:[[e,new mc,new gc]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(i)return i;throw new R(901,!1)}}return e})();const OF=LD(null,"core",[]);let xF=(()=>{class e{constructor(t){}static#e=this.\u0275fac=function(i){return new(i||e)(H(Ki))};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})();function Zp(e,n){const t=he(e),i=n.elementInjector||kc();return new ba(t).create(i,n.projectableNodes,n.hostElement,n.environmentInjector)}let Jp=null;function er(){return Jp}class zF{}const ut=new z("DocumentToken");let Xp=(()=>{class e{historyGo(t){throw new Error("Not implemented")}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:function(){return F(qF)},providedIn:"platform"})}return e})();const WF=new z("Location Initialized");let qF=(()=>{class e extends Xp{constructor(){super(),this._doc=F(ut),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return er().getBaseHref(this._doc)}onPopState(t){const i=er().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",t,!1),()=>i.removeEventListener("popstate",t)}onHashChange(t){const i=er().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",t,!1),()=>i.removeEventListener("hashchange",t)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(t){this._location.pathname=t}pushState(t,i,r){this._history.pushState(t,i,r)}replaceState(t,i,r){this._history.replaceState(t,i,r)}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:function(){return new e},providedIn:"platform"})}return e})();function Qp(e,n){if(0==e.length)return n;if(0==n.length)return e;let t=0;return e.endsWith("/")&&t++,n.startsWith("/")&&t++,2==t?e+n.substring(1):1==t?e+n:e+"/"+n}function cw(e){const n=e.match(/#|\?|$/),t=n&&n.index||e.length;return e.slice(0,t-("/"===e[t-1]?1:0))+e.slice(t)}function xi(e){return e&&"?"!==e[0]?"?"+e:e}let Rr=(()=>{class e{historyGo(t){throw new Error("Not implemented")}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:function(){return F(dw)},providedIn:"root"})}return e})();const uw=new z("appBaseHref");let dw=(()=>{class e extends Rr{constructor(t,i){super(),this._platformLocation=t,this._removeListenerFns=[],this._baseHref=i??this._platformLocation.getBaseHrefFromDOM()??F(ut).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return Qp(this._baseHref,t)}path(t=!1){const i=this._platformLocation.pathname+xi(this._platformLocation.search),r=this._platformLocation.hash;return r&&t?`${i}${r}`:i}pushState(t,i,r,o){const s=this.prepareExternalUrl(r+xi(o));this._platformLocation.pushState(t,i,s)}replaceState(t,i,r,o){const s=this.prepareExternalUrl(r+xi(o));this._platformLocation.replaceState(t,i,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(t=0){this._platformLocation.historyGo?.(t)}static#e=this.\u0275fac=function(i){return new(i||e)(H(Xp),H(uw,8))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),YF=(()=>{class e extends Rr{constructor(t,i){super(),this._platformLocation=t,this._baseHref="",this._removeListenerFns=[],null!=i&&(this._baseHref=i)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}path(t=!1){let i=this._platformLocation.hash;return null==i&&(i="#"),i.length>0?i.substring(1):i}prepareExternalUrl(t){const i=Qp(this._baseHref,t);return i.length>0?"#"+i:i}pushState(t,i,r,o){let s=this.prepareExternalUrl(r+xi(o));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.pushState(t,i,s)}replaceState(t,i,r,o){let s=this.prepareExternalUrl(r+xi(o));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.replaceState(t,i,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(t=0){this._platformLocation.historyGo?.(t)}static#e=this.\u0275fac=function(i){return new(i||e)(H(Xp),H(uw,8))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})(),Kp=(()=>{class e{constructor(t){this._subject=new Y,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=t;const i=this._locationStrategy.getBaseHref();this._basePath=function XF(e){if(new RegExp("^(https?:)?//").test(e)){const[,t]=e.split(/\/\/[^\/]+/);return t}return e}(cw(fw(i))),this._locationStrategy.onPopState(r=>{this._subject.emit({url:this.path(!0),pop:!0,state:r.state,type:r.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(t=!1){return this.normalize(this._locationStrategy.path(t))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(t,i=""){return this.path()==this.normalize(t+xi(i))}normalize(t){return e.stripTrailingSlash(function JF(e,n){if(!e||!n.startsWith(e))return n;const t=n.substring(e.length);return""===t||["/",";","?","#"].includes(t[0])?t:n}(this._basePath,fw(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._locationStrategy.prepareExternalUrl(t)}go(t,i="",r=null){this._locationStrategy.pushState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+xi(i)),r)}replaceState(t,i="",r=null){this._locationStrategy.replaceState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+xi(i)),r)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(t=0){this._locationStrategy.historyGo?.(t)}onUrlChange(t){return this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)})),()=>{const i=this._urlChangeListeners.indexOf(t);this._urlChangeListeners.splice(i,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(t="",i){this._urlChangeListeners.forEach(r=>r(t,i))}subscribe(t,i,r){return this._subject.subscribe({next:t,error:i,complete:r})}static#e=this.normalizeQueryParams=xi;static#t=this.joinWithSlash=Qp;static#n=this.stripTrailingSlash=cw;static#i=this.\u0275fac=function(i){return new(i||e)(H(Rr))};static#r=this.\u0275prov=B({token:e,factory:function(){return function ZF(){return new Kp(H(Rr))}()},providedIn:"root"})}return e})();function fw(e){return e.replace(/\/index.html$/,"")}function Cw(e,n){n=encodeURIComponent(n);for(const t of e.split(";")){const i=t.indexOf("="),[r,o]=-1==i?[t,""]:[t.slice(0,i),t.slice(i+1)];if(r.trim()===n)return decodeURIComponent(o)}return null}const ug=/\s+/,Ew=[];let Ou=(()=>{class e{constructor(t,i,r,o){this._iterableDiffers=t,this._keyValueDiffers=i,this._ngEl=r,this._renderer=o,this.initialClasses=Ew,this.stateMap=new Map}set klass(t){this.initialClasses=null!=t?t.trim().split(ug):Ew}set ngClass(t){this.rawClass="string"==typeof t?t.trim().split(ug):t}ngDoCheck(){for(const i of this.initialClasses)this._updateState(i,!0);const t=this.rawClass;if(Array.isArray(t)||t instanceof Set)for(const i of t)this._updateState(i,!0);else if(null!=t)for(const i of Object.keys(t))this._updateState(i,!!t[i]);this._applyStateDiff()}_updateState(t,i){const r=this.stateMap.get(t);void 0!==r?(r.enabled!==i&&(r.changed=!0,r.enabled=i),r.touched=!0):this.stateMap.set(t,{enabled:i,changed:!0,touched:!0})}_applyStateDiff(){for(const t of this.stateMap){const i=t[0],r=t[1];r.changed?(this._toggleClass(i,r.enabled),r.changed=!1):r.touched||(r.enabled&&this._toggleClass(i,!1),this.stateMap.delete(i)),r.touched=!1}}_toggleClass(t,i){(t=t.trim()).length>0&&t.split(ug).forEach(r=>{i?this._renderer.addClass(this._ngEl.nativeElement,r):this._renderer.removeClass(this._ngEl.nativeElement,r)})}static#e=this.\u0275fac=function(i){return new(i||e)(b(vu),b(Ba),b(Se),b(hn))};static#t=this.\u0275dir=L({type:e,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"},standalone:!0})}return e})();class RL{constructor(n,t,i,r){this.$implicit=n,this.ngForOf=t,this.index=i,this.count=r}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let qn=(()=>{class e{set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}constructor(t,i,r){this._viewContainer=t,this._template=i,this._differs=r,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;!this._differ&&t&&(this._differ=this._differs.find(t).create(this.ngForTrackBy))}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const i=this._viewContainer;t.forEachOperation((r,o,s)=>{if(null==r.previousIndex)i.createEmbeddedView(this._template,new RL(r.item,this._ngForOf,-1,-1),null===s?void 0:s);else if(null==s)i.remove(null===o?void 0:o);else if(null!==o){const a=i.get(o);i.move(a,s),Sw(a,r)}});for(let r=0,o=i.length;r{Sw(i.get(r.currentIndex),r)})}static ngTemplateContextGuard(t,i){return!0}static#e=this.\u0275fac=function(i){return new(i||e)(b(Nn),b(qe),b(vu))};static#t=this.\u0275dir=L({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0})}return e})();function Sw(e,n){e.context.$implicit=n.item}let Yn=(()=>{class e{constructor(t,i){this._viewContainer=t,this._context=new kL,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){Mw("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){Mw("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,i){return!0}static#e=this.\u0275fac=function(i){return new(i||e)(b(Nn),b(qe))};static#t=this.\u0275dir=L({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0})}return e})();class kL{constructor(){this.$implicit=null,this.ngIf=null}}function Mw(e,n){if(n&&!n.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${gt(n)}'.`)}let aV=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})();function xw(e){return"server"===e}let dV=(()=>{class e{static#e=this.\u0275prov=B({token:e,providedIn:"root",factory:()=>new fV(H(ut),window)})}return e})();class fV{constructor(n,t){this.document=n,this.window=t,this.offset=()=>[0,0]}setOffset(n){this.offset=Array.isArray(n)?()=>n:n}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(n){this.supportsScrolling()&&this.window.scrollTo(n[0],n[1])}scrollToAnchor(n){if(!this.supportsScrolling())return;const t=function hV(e,n){const t=e.getElementById(n)||e.getElementsByName(n)[0];if(t)return t;if("function"==typeof e.createTreeWalker&&e.body&&"function"==typeof e.body.attachShadow){const i=e.createTreeWalker(e.body,NodeFilter.SHOW_ELEMENT);let r=i.currentNode;for(;r;){const o=r.shadowRoot;if(o){const s=o.getElementById(n)||o.querySelector(`[name="${n}"]`);if(s)return s}r=i.nextNode()}}return null}(this.document,n);t&&(this.scrollToElement(t),t.focus())}setHistoryScrollRestoration(n){this.supportsScrolling()&&(this.window.history.scrollRestoration=n)}scrollToElement(n){const t=n.getBoundingClientRect(),i=t.left+this.window.pageXOffset,r=t.top+this.window.pageYOffset,o=this.offset();this.window.scrollTo(i-o[0],r-o[1])}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch{return!1}}}class Aw{}class FV extends zF{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class _g extends FV{static makeCurrent(){!function GF(e){Jp||(Jp=e)}(new _g)}onAndCancel(n,t,i){return n.addEventListener(t,i),()=>{n.removeEventListener(t,i)}}dispatchEvent(n,t){n.dispatchEvent(t)}remove(n){n.parentNode&&n.parentNode.removeChild(n)}createElement(n,t){return(t=t||this.getDefaultDocument()).createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,t){return"window"===t?window:"document"===t?n:"body"===t?n.body:null}getBaseHref(n){const t=function LV(){return Ua=Ua||document.querySelector("base"),Ua?Ua.getAttribute("href"):null}();return null==t?null:function VV(e){Ru=Ru||document.createElement("a"),Ru.setAttribute("href",e);const n=Ru.pathname;return"/"===n.charAt(0)?n:`/${n}`}(t)}resetBaseElement(){Ua=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return Cw(document.cookie,n)}}let Ru,Ua=null,jV=(()=>{class e{build(){return new XMLHttpRequest}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();const vg=new z("EventManagerPlugins");let Lw=(()=>{class e{constructor(t,i){this._zone=i,this._eventNameToPlugin=new Map,t.forEach(r=>{r.manager=this}),this._plugins=t.slice().reverse()}addEventListener(t,i,r){return this._findPluginFor(i).addEventListener(t,i,r)}getZone(){return this._zone}_findPluginFor(t){let i=this._eventNameToPlugin.get(t);if(i)return i;if(i=this._plugins.find(o=>o.supports(t)),!i)throw new R(5101,!1);return this._eventNameToPlugin.set(t,i),i}static#e=this.\u0275fac=function(i){return new(i||e)(H(vg),H(fe))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();class Vw{constructor(n){this._doc=n}}const yg="ng-app-id";let Bw=(()=>{class e{constructor(t,i,r,o={}){this.doc=t,this.appId=i,this.nonce=r,this.platformId=o,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=xw(o),this.resetHostNodes()}addStyles(t){for(const i of t)1===this.changeUsageCount(i,1)&&this.onStyleAdded(i)}removeStyles(t){for(const i of t)this.changeUsageCount(i,-1)<=0&&this.onStyleRemoved(i)}ngOnDestroy(){const t=this.styleNodesInDOM;t&&(t.forEach(i=>i.remove()),t.clear());for(const i of this.getAllStyles())this.onStyleRemoved(i);this.resetHostNodes()}addHost(t){this.hostNodes.add(t);for(const i of this.getAllStyles())this.addStyleToHost(t,i)}removeHost(t){this.hostNodes.delete(t)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(t){for(const i of this.hostNodes)this.addStyleToHost(i,t)}onStyleRemoved(t){const i=this.styleRef;i.get(t)?.elements?.forEach(r=>r.remove()),i.delete(t)}collectServerRenderedStyles(){const t=this.doc.head?.querySelectorAll(`style[${yg}="${this.appId}"]`);if(t?.length){const i=new Map;return t.forEach(r=>{null!=r.textContent&&i.set(r.textContent,r)}),i}return null}changeUsageCount(t,i){const r=this.styleRef;if(r.has(t)){const o=r.get(t);return o.usage+=i,o.usage}return r.set(t,{usage:i,elements:[]}),i}getStyleElement(t,i){const r=this.styleNodesInDOM,o=r?.get(i);if(o?.parentNode===t)return r.delete(i),o.removeAttribute(yg),o;{const s=this.doc.createElement("style");return this.nonce&&s.setAttribute("nonce",this.nonce),s.textContent=i,this.platformIsServer&&s.setAttribute(yg,this.appId),s}}addStyleToHost(t,i){const r=this.getStyleElement(t,i);t.appendChild(r);const o=this.styleRef,s=o.get(i)?.elements;s?s.push(r):o.set(i,{elements:[r],usage:1})}resetHostNodes(){const t=this.hostNodes;t.clear(),t.add(this.doc.head)}static#e=this.\u0275fac=function(i){return new(i||e)(H(ut),H(Pc),H(Zy,8),H(Tr))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();const bg={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},Dg=/%COMP%/g,GV=new z("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function Hw(e,n){return n.map(t=>t.replace(Dg,e))}let $w=(()=>{class e{constructor(t,i,r,o,s,a,l,c=null){this.eventManager=t,this.sharedStylesHost=i,this.appId=r,this.removeStylesOnCompDestroy=o,this.doc=s,this.platformId=a,this.ngZone=l,this.nonce=c,this.rendererByCompId=new Map,this.platformIsServer=xw(a),this.defaultRenderer=new wg(t,s,l,this.platformIsServer)}createRenderer(t,i){if(!t||!i)return this.defaultRenderer;this.platformIsServer&&i.encapsulation===Fn.ShadowDom&&(i={...i,encapsulation:Fn.Emulated});const r=this.getOrCreateRenderer(t,i);return r instanceof Gw?r.applyToHost(t):r instanceof Cg&&r.applyStyles(),r}getOrCreateRenderer(t,i){const r=this.rendererByCompId;let o=r.get(i.id);if(!o){const s=this.doc,a=this.ngZone,l=this.eventManager,c=this.sharedStylesHost,u=this.removeStylesOnCompDestroy,d=this.platformIsServer;switch(i.encapsulation){case Fn.Emulated:o=new Gw(l,c,i,this.appId,u,s,a,d);break;case Fn.ShadowDom:return new YV(l,c,t,i,s,a,this.nonce,d);default:o=new Cg(l,c,i,u,s,a,d)}r.set(i.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}static#e=this.\u0275fac=function(i){return new(i||e)(H(Lw),H(Bw),H(Pc),H(GV),H(ut),H(Tr),H(fe),H(Zy))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();class wg{constructor(n,t,i,r){this.eventManager=n,this.doc=t,this.ngZone=i,this.platformIsServer=r,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(n,t){return t?this.doc.createElementNS(bg[t]||t,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,t){(Uw(n)?n.content:n).appendChild(t)}insertBefore(n,t,i){n&&(Uw(n)?n.content:n).insertBefore(t,i)}removeChild(n,t){n&&n.removeChild(t)}selectRootElement(n,t){let i="string"==typeof n?this.doc.querySelector(n):n;if(!i)throw new R(-5104,!1);return t||(i.textContent=""),i}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,t,i,r){if(r){t=r+":"+t;const o=bg[r];o?n.setAttributeNS(o,t,i):n.setAttribute(t,i)}else n.setAttribute(t,i)}removeAttribute(n,t,i){if(i){const r=bg[i];r?n.removeAttributeNS(r,t):n.removeAttribute(`${i}:${t}`)}else n.removeAttribute(t)}addClass(n,t){n.classList.add(t)}removeClass(n,t){n.classList.remove(t)}setStyle(n,t,i,r){r&(qi.DashCase|qi.Important)?n.style.setProperty(t,i,r&qi.Important?"important":""):n.style[t]=i}removeStyle(n,t,i){i&qi.DashCase?n.style.removeProperty(t):n.style[t]=""}setProperty(n,t,i){n[t]=i}setValue(n,t){n.nodeValue=t}listen(n,t,i){if("string"==typeof n&&!(n=er().getGlobalEventTarget(this.doc,n)))throw new Error(`Unsupported event target ${n} for event ${t}`);return this.eventManager.addEventListener(n,t,this.decoratePreventDefault(i))}decoratePreventDefault(n){return t=>{if("__ngUnwrap__"===t)return n;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>n(t)):n(t))&&t.preventDefault()}}}function Uw(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class YV extends wg{constructor(n,t,i,r,o,s,a,l){super(n,o,s,l),this.sharedStylesHost=t,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=Hw(r.id,r.styles);for(const u of c){const d=document.createElement("style");a&&d.setAttribute("nonce",a),d.textContent=u,this.shadowRoot.appendChild(d)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,t){return super.appendChild(this.nodeOrShadowRoot(n),t)}insertBefore(n,t,i){return super.insertBefore(this.nodeOrShadowRoot(n),t,i)}removeChild(n,t){return super.removeChild(this.nodeOrShadowRoot(n),t)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class Cg extends wg{constructor(n,t,i,r,o,s,a,l){super(n,o,s,a),this.sharedStylesHost=t,this.removeStylesOnCompDestroy=r,this.styles=l?Hw(l,i.styles):i.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class Gw extends Cg{constructor(n,t,i,r,o,s,a,l){const c=r+"-"+i.id;super(n,t,i,o,s,a,l,c),this.contentAttr=function zV(e){return"_ngcontent-%COMP%".replace(Dg,e)}(c),this.hostAttr=function WV(e){return"_nghost-%COMP%".replace(Dg,e)}(c)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,t){const i=super.createElement(n,t);return super.setAttribute(i,this.contentAttr,""),i}}let ZV=(()=>{class e extends Vw{constructor(t){super(t)}supports(t){return!0}addEventListener(t,i,r){return t.addEventListener(i,r,!1),()=>this.removeEventListener(t,i,r)}removeEventListener(t,i,r){return t.removeEventListener(i,r)}static#e=this.\u0275fac=function(i){return new(i||e)(H(ut))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();const zw=["alt","control","meta","shift"],JV={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},XV={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let QV=(()=>{class e extends Vw{constructor(t){super(t)}supports(t){return null!=e.parseEventName(t)}addEventListener(t,i,r){const o=e.parseEventName(i),s=e.eventCallback(o.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>er().onAndCancel(t,o.domEventName,s))}static parseEventName(t){const i=t.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const o=e._normalizeKey(i.pop());let s="",a=i.indexOf("code");if(a>-1&&(i.splice(a,1),s="code."),zw.forEach(c=>{const u=i.indexOf(c);u>-1&&(i.splice(u,1),s+=c+".")}),s+=o,0!=i.length||0===o.length)return null;const l={};return l.domEventName=r,l.fullKey=s,l}static matchEventFullKeyCode(t,i){let r=JV[t.key]||t.key,o="";return i.indexOf("code.")>-1&&(r=t.code,o="code."),!(null==r||!r)&&(r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),zw.forEach(s=>{s!==r&&(0,XV[s])(t)&&(o+=s+".")}),o+=r,o===i)}static eventCallback(t,i,r){return o=>{e.matchEventFullKeyCode(o,t)&&r.runGuarded(()=>i(o))}}static _normalizeKey(t){return"esc"===t?"escape":t}static#e=this.\u0275fac=function(i){return new(i||e)(H(ut))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();const nB=LD(OF,"browser",[{provide:Tr,useValue:"browser"},{provide:Yy,useValue:function KV(){_g.makeCurrent()},multi:!0},{provide:ut,useFactory:function tB(){return function zO(e){uh=e}(document),document},deps:[]}]),iB=new z(""),Yw=[{provide:pu,useClass:class BV{addToWindow(n){Be.getAngularTestability=(i,r=!0)=>{const o=n.findTestabilityInTree(i,r);if(null==o)throw new R(5103,!1);return o},Be.getAllAngularTestabilities=()=>n.getAllTestabilities(),Be.getAllAngularRootElements=()=>n.getAllRootElements(),Be.frameworkStabilizers||(Be.frameworkStabilizers=[]),Be.frameworkStabilizers.push(i=>{const r=Be.getAllAngularTestabilities();let o=r.length,s=!1;const a=function(l){s=s||l,o--,0==o&&i(s)};r.forEach(l=>{l.whenStable(a)})})}findTestabilityInTree(n,t,i){return null==t?null:n.getTestability(t)??(i?er().isShadowRoot(t)?this.findTestabilityInTree(n,t.host,!0):this.findTestabilityInTree(n,t.parentElement,!0):null)}},deps:[]},{provide:AD,useClass:Vp,deps:[fe,Bp,pu]},{provide:Vp,useClass:Vp,deps:[fe,Bp,pu]}],Zw=[{provide:bh,useValue:"root"},{provide:Ii,useFactory:function eB(){return new Ii},deps:[]},{provide:vg,useClass:ZV,multi:!0,deps:[ut,fe,Tr]},{provide:vg,useClass:QV,multi:!0,deps:[ut]},$w,Bw,Lw,{provide:kh,useExisting:$w},{provide:Aw,useClass:jV,deps:[]},[]];let rB=(()=>{class e{constructor(t){}static withServerTransition(t){return{ngModule:e,providers:[{provide:Pc,useValue:t.appId}]}}static#e=this.\u0275fac=function(i){return new(i||e)(H(iB,12))};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({providers:[...Zw,...Yw],imports:[aV,xF]})}return e})(),Jw=(()=>{class e{constructor(t){this._doc=t}getTitle(){return this._doc.title}setTitle(t){this._doc.title=t||""}static#e=this.\u0275fac=function(i){return new(i||e)(H(ut))};static#t=this.\u0275prov=B({token:e,factory:function(i){let r=null;return r=i?new i:function sB(){return new Jw(H(ut))}(),r},providedIn:"root"})}return e})();function ls(e,n){return se(n)?ht(e,n,1):ht(e,1)}function vt(e,n){return ze((t,i)=>{let r=0;t.subscribe(Ve(i,o=>e.call(n,o,r++)&&i.next(o)))})}function Ga(e){return ze((n,t)=>{try{n.subscribe(t)}finally{t.add(e)}})}typeof window<"u"&&window;class ku{}class Pu{}class pi{constructor(n){this.normalizedNames=new Map,this.lazyUpdate=null,n?"string"==typeof n?this.lazyInit=()=>{this.headers=new Map,n.split("\n").forEach(t=>{const i=t.indexOf(":");if(i>0){const r=t.slice(0,i),o=r.toLowerCase(),s=t.slice(i+1).trim();this.maybeSetNormalizedName(r,o),this.headers.has(o)?this.headers.get(o).push(s):this.headers.set(o,[s])}})}:typeof Headers<"u"&&n instanceof Headers?(this.headers=new Map,n.forEach((t,i)=>{this.setHeaderEntries(i,t)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(n).forEach(([t,i])=>{this.setHeaderEntries(t,i)})}:this.headers=new Map}has(n){return this.init(),this.headers.has(n.toLowerCase())}get(n){this.init();const t=this.headers.get(n.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(n){return this.init(),this.headers.get(n.toLowerCase())||null}append(n,t){return this.clone({name:n,value:t,op:"a"})}set(n,t){return this.clone({name:n,value:t,op:"s"})}delete(n,t){return this.clone({name:n,value:t,op:"d"})}maybeSetNormalizedName(n,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,n)}init(){this.lazyInit&&(this.lazyInit instanceof pi?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(n=>this.applyUpdate(n)),this.lazyUpdate=null))}copyFrom(n){n.init(),Array.from(n.headers.keys()).forEach(t=>{this.headers.set(t,n.headers.get(t)),this.normalizedNames.set(t,n.normalizedNames.get(t))})}clone(n){const t=new pi;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof pi?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([n]),t}applyUpdate(n){const t=n.name.toLowerCase();switch(n.op){case"a":case"s":let i=n.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(n.name,t);const r=("a"===n.op?this.headers.get(t):void 0)||[];r.push(...i),this.headers.set(t,r);break;case"d":const o=n.value;if(o){let s=this.headers.get(t);if(!s)return;s=s.filter(a=>-1===o.indexOf(a)),0===s.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,s)}else this.headers.delete(t),this.normalizedNames.delete(t)}}setHeaderEntries(n,t){const i=(Array.isArray(t)?t:[t]).map(o=>o.toString()),r=n.toLowerCase();this.headers.set(r,i),this.maybeSetNormalizedName(n,r)}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>n(this.normalizedNames.get(t),this.headers.get(t)))}}class dB{encodeKey(n){return eC(n)}encodeValue(n){return eC(n)}decodeKey(n){return decodeURIComponent(n)}decodeValue(n){return decodeURIComponent(n)}}const hB=/%(\d[a-f0-9])/gi,pB={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function eC(e){return encodeURIComponent(e).replace(hB,(n,t)=>pB[t]??n)}function Fu(e){return`${e}`}class nr{constructor(n={}){if(this.updates=null,this.cloneFrom=null,this.encoder=n.encoder||new dB,n.fromString){if(n.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function fB(e,n){const t=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(r=>{const o=r.indexOf("="),[s,a]=-1==o?[n.decodeKey(r),""]:[n.decodeKey(r.slice(0,o)),n.decodeValue(r.slice(o+1))],l=t.get(s)||[];l.push(a),t.set(s,l)}),t}(n.fromString,this.encoder)}else n.fromObject?(this.map=new Map,Object.keys(n.fromObject).forEach(t=>{const i=n.fromObject[t],r=Array.isArray(i)?i.map(Fu):[Fu(i)];this.map.set(t,r)})):this.map=null}has(n){return this.init(),this.map.has(n)}get(n){this.init();const t=this.map.get(n);return t?t[0]:null}getAll(n){return this.init(),this.map.get(n)||null}keys(){return this.init(),Array.from(this.map.keys())}append(n,t){return this.clone({param:n,value:t,op:"a"})}appendAll(n){const t=[];return Object.keys(n).forEach(i=>{const r=n[i];Array.isArray(r)?r.forEach(o=>{t.push({param:i,value:o,op:"a"})}):t.push({param:i,value:r,op:"a"})}),this.clone(t)}set(n,t){return this.clone({param:n,value:t,op:"s"})}delete(n,t){return this.clone({param:n,value:t,op:"d"})}toString(){return this.init(),this.keys().map(n=>{const t=this.encoder.encodeKey(n);return this.map.get(n).map(i=>t+"="+this.encoder.encodeValue(i)).join("&")}).filter(n=>""!==n).join("&")}clone(n){const t=new nr({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(n),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(n=>this.map.set(n,this.cloneFrom.map.get(n))),this.updates.forEach(n=>{switch(n.op){case"a":case"s":const t=("a"===n.op?this.map.get(n.param):void 0)||[];t.push(Fu(n.value)),this.map.set(n.param,t);break;case"d":if(void 0===n.value){this.map.delete(n.param);break}{let i=this.map.get(n.param)||[];const r=i.indexOf(Fu(n.value));-1!==r&&i.splice(r,1),i.length>0?this.map.set(n.param,i):this.map.delete(n.param)}}}),this.cloneFrom=this.updates=null)}}class gB{constructor(){this.map=new Map}set(n,t){return this.map.set(n,t),this}get(n){return this.map.has(n)||this.map.set(n,n.defaultValue()),this.map.get(n)}delete(n){return this.map.delete(n),this}has(n){return this.map.has(n)}keys(){return this.map.keys()}}function tC(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function nC(e){return typeof Blob<"u"&&e instanceof Blob}function iC(e){return typeof FormData<"u"&&e instanceof FormData}class za{constructor(n,t,i,r){let o;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=n.toUpperCase(),function mB(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,o=r):o=i,o&&(this.reportProgress=!!o.reportProgress,this.withCredentials=!!o.withCredentials,o.responseType&&(this.responseType=o.responseType),o.headers&&(this.headers=o.headers),o.context&&(this.context=o.context),o.params&&(this.params=o.params)),this.headers||(this.headers=new pi),this.context||(this.context=new gB),this.params){const s=this.params.toString();if(0===s.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":ad.set(h,n.setHeaders[h]),l)),n.setParams&&(c=Object.keys(n.setParams).reduce((d,h)=>d.set(h,n.setParams[h]),c)),new za(t,i,o,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:s})}}var cs=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(cs||{});class Tg{constructor(n,t=200,i="OK"){this.headers=n.headers||new pi,this.status=void 0!==n.status?n.status:t,this.statusText=n.statusText||i,this.url=n.url||null,this.ok=this.status>=200&&this.status<300}}class Sg extends Tg{constructor(n={}){super(n),this.type=cs.ResponseHeader}clone(n={}){return new Sg({headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class us extends Tg{constructor(n={}){super(n),this.type=cs.Response,this.body=void 0!==n.body?n.body:null}clone(n={}){return new us({body:void 0!==n.body?n.body:this.body,headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class rC extends Tg{constructor(n){super(n,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${n.url||"(unknown url)"}`:`Http failure response for ${n.url||"(unknown url)"}: ${n.status} ${n.statusText}`,this.error=n.error||null}}function Mg(e,n){return{body:n,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}let Wa=(()=>{class e{constructor(t){this.handler=t}request(t,i,r={}){let o;if(t instanceof za)o=t;else{let l,c;l=r.headers instanceof pi?r.headers:new pi(r.headers),r.params&&(c=r.params instanceof nr?r.params:new nr({fromObject:r.params})),o=new za(t,i,void 0!==r.body?r.body:null,{headers:l,context:r.context,params:c,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials})}const s=J(o).pipe(ls(l=>this.handler.handle(l)));if(t instanceof za||"events"===r.observe)return s;const a=s.pipe(vt(l=>l instanceof us));switch(r.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return a.pipe(ae(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(ae(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(ae(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));default:return a.pipe(ae(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(t,i={}){return this.request("DELETE",t,i)}get(t,i={}){return this.request("GET",t,i)}head(t,i={}){return this.request("HEAD",t,i)}jsonp(t,i){return this.request("JSONP",t,{params:(new nr).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,i={}){return this.request("OPTIONS",t,i)}patch(t,i,r={}){return this.request("PATCH",t,Mg(r,i))}post(t,i,r={}){return this.request("POST",t,Mg(r,i))}put(t,i,r={}){return this.request("PUT",t,Mg(r,i))}static#e=this.\u0275fac=function(i){return new(i||e)(H(ku))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();function aC(e,n){return n(e)}function yB(e,n){return(t,i)=>n.intercept(t,{handle:r=>e(r,i)})}const DB=new z(""),qa=new z(""),lC=new z("");function wB(){let e=null;return(n,t)=>{null===e&&(e=(F(DB,{optional:!0})??[]).reduceRight(yB,aC));const i=F(fu),r=i.add();return e(n,t).pipe(Ga(()=>i.remove(r)))}}let cC=(()=>{class e extends ku{constructor(t,i){super(),this.backend=t,this.injector=i,this.chain=null,this.pendingTasks=F(fu)}handle(t){if(null===this.chain){const r=Array.from(new Set([...this.injector.get(qa),...this.injector.get(lC,[])]));this.chain=r.reduceRight((o,s)=>function bB(e,n,t){return(i,r)=>t.runInContext(()=>n(i,o=>e(o,r)))}(o,s,this.injector),aC)}const i=this.pendingTasks.add();return this.chain(t,r=>this.backend.handle(r)).pipe(Ga(()=>this.pendingTasks.remove(i)))}static#e=this.\u0275fac=function(i){return new(i||e)(H(Pu),H(zt))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();const SB=/^\)\]\}',?\n/;let dC=(()=>{class e{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new R(-2800,!1);const i=this.xhrFactory;return(i.\u0275loadImpl?pt(i.\u0275loadImpl()):J(null)).pipe(wn(()=>new Ce(o=>{const s=i.build();if(s.open(t.method,t.urlWithParams),t.withCredentials&&(s.withCredentials=!0),t.headers.forEach((y,D)=>s.setRequestHeader(y,D.join(","))),t.headers.has("Accept")||s.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const y=t.detectContentTypeHeader();null!==y&&s.setRequestHeader("Content-Type",y)}if(t.responseType){const y=t.responseType.toLowerCase();s.responseType="json"!==y?y:"text"}const a=t.serializeBody();let l=null;const c=()=>{if(null!==l)return l;const y=s.statusText||"OK",D=new pi(s.getAllResponseHeaders()),M=function MB(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(s)||t.url;return l=new Sg({headers:D,status:s.status,statusText:y,url:M}),l},u=()=>{let{headers:y,status:D,statusText:M,url:C}=c(),k=null;204!==D&&(k=typeof s.response>"u"?s.responseText:s.response),0===D&&(D=k?200:0);let P=D>=200&&D<300;if("json"===t.responseType&&"string"==typeof k){const G=k;k=k.replace(SB,"");try{k=""!==k?JSON.parse(k):null}catch(X){k=G,P&&(P=!1,k={error:X,text:k})}}P?(o.next(new us({body:k,headers:y,status:D,statusText:M,url:C||void 0})),o.complete()):o.error(new rC({error:k,headers:y,status:D,statusText:M,url:C||void 0}))},d=y=>{const{url:D}=c(),M=new rC({error:y,status:s.status||0,statusText:s.statusText||"Unknown Error",url:D||void 0});o.error(M)};let h=!1;const _=y=>{h||(o.next(c()),h=!0);let D={type:cs.DownloadProgress,loaded:y.loaded};y.lengthComputable&&(D.total=y.total),"text"===t.responseType&&s.responseText&&(D.partialText=s.responseText),o.next(D)},v=y=>{let D={type:cs.UploadProgress,loaded:y.loaded};y.lengthComputable&&(D.total=y.total),o.next(D)};return s.addEventListener("load",u),s.addEventListener("error",d),s.addEventListener("timeout",d),s.addEventListener("abort",d),t.reportProgress&&(s.addEventListener("progress",_),null!==a&&s.upload&&s.upload.addEventListener("progress",v)),s.send(a),o.next({type:cs.Sent}),()=>{s.removeEventListener("error",d),s.removeEventListener("abort",d),s.removeEventListener("load",u),s.removeEventListener("timeout",d),t.reportProgress&&(s.removeEventListener("progress",_),null!==a&&s.upload&&s.upload.removeEventListener("progress",v)),s.readyState!==s.DONE&&s.abort()}})))}static#e=this.\u0275fac=function(i){return new(i||e)(H(Aw))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();const Ig=new z("XSRF_ENABLED"),fC=new z("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),hC=new z("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class pC{}let OB=(()=>{class e{constructor(t,i,r){this.doc=t,this.platform=i,this.cookieName=r,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=Cw(t,this.cookieName),this.lastCookieString=t),this.lastToken}static#e=this.\u0275fac=function(i){return new(i||e)(H(ut),H(Tr),H(fC))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();function xB(e,n){const t=e.url.toLowerCase();if(!F(Ig)||"GET"===e.method||"HEAD"===e.method||t.startsWith("http://")||t.startsWith("https://"))return n(e);const i=F(pC).getToken(),r=F(hC);return null!=i&&!e.headers.has(r)&&(e=e.clone({headers:e.headers.set(r,i)})),n(e)}var ir=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(ir||{});function AB(...e){const n=[Wa,dC,cC,{provide:ku,useExisting:cC},{provide:Pu,useExisting:dC},{provide:qa,useValue:xB,multi:!0},{provide:Ig,useValue:!0},{provide:pC,useClass:OB}];for(const t of e)n.push(...t.\u0275providers);return function _h(e){return{\u0275providers:e}}(n)}const gC=new z("LEGACY_INTERCEPTOR_FN");function RB(){return function kr(e,n){return{\u0275kind:e,\u0275providers:n}}(ir.LegacyInterceptors,[{provide:gC,useFactory:wB},{provide:qa,useExisting:gC,multi:!0}])}let kB=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({providers:[AB(RB())]})}return e})();const{isArray:jB}=Array,{getPrototypeOf:HB,prototype:$B,keys:UB}=Object;function mC(e){if(1===e.length){const n=e[0];if(jB(n))return{args:n,keys:null};if(function GB(e){return e&&"object"==typeof e&&HB(e)===$B}(n)){const t=UB(n);return{args:t.map(i=>n[i]),keys:t}}}return{args:e,keys:null}}const{isArray:zB}=Array;function Ng(e){return ae(n=>function WB(e,n){return zB(n)?e(...n):e(n)}(e,n))}function _C(e,n){return e.reduce((t,i,r)=>(t[i]=n[r],t),{})}let vC=(()=>{class e{constructor(t,i){this._renderer=t,this._elementRef=i,this.onChange=r=>{},this.onTouched=()=>{}}setProperty(t,i){this._renderer.setProperty(this._elementRef.nativeElement,t,i)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}static#e=this.\u0275fac=function(i){return new(i||e)(b(hn),b(Se))};static#t=this.\u0275dir=L({type:e})}return e})(),Pr=(()=>{class e extends vC{static#e=this.\u0275fac=function(){let t;return function(r){return(t||(t=ot(e)))(r||e)}}();static#t=this.\u0275dir=L({type:e,features:[Me]})}return e})();const An=new z("NgValueAccessor"),ZB={provide:An,useExisting:le(()=>Ya),multi:!0},XB=new z("CompositionEventMode");let Ya=(()=>{class e extends vC{constructor(t,i,r){super(t,i),this._compositionMode=r,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function JB(){const e=er()?er().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(t){this.setProperty("value",t??"")}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}static#e=this.\u0275fac=function(i){return new(i||e)(b(hn),b(Se),b(XB,8))};static#t=this.\u0275dir=L({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(i,r){1&i&&Z("input",function(s){return r._handleInput(s.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(s){return r._compositionEnd(s.target.value)})},features:[Fe([ZB]),Me]})}return e})();const Ot=new z("NgValidators"),or=new z("NgAsyncValidators");function NC(e){return null!=e}function OC(e){return Sa(e)?pt(e):e}function xC(e){let n={};return e.forEach(t=>{n=null!=t?{...n,...t}:n}),0===Object.keys(n).length?null:n}function AC(e,n){return n.map(t=>t(e))}function RC(e){return e.map(n=>function KB(e){return!e.validate}(n)?n:t=>n.validate(t))}function Og(e){return null!=e?function kC(e){if(!e)return null;const n=e.filter(NC);return 0==n.length?null:function(t){return xC(AC(t,n))}}(RC(e)):null}function xg(e){return null!=e?function PC(e){if(!e)return null;const n=e.filter(NC);return 0==n.length?null:function(t){return function qB(...e){const n=Ul(e),{args:t,keys:i}=mC(e),r=new Ce(o=>{const{length:s}=t;if(!s)return void o.complete();const a=new Array(s);let l=s,c=s;for(let u=0;u{d||(d=!0,c--),a[u]=h},()=>l--,void 0,()=>{(!l||!d)&&(c||o.next(i?_C(i,a):a),o.complete())}))}});return n?r.pipe(Ng(n)):r}(AC(t,n).map(OC)).pipe(ae(xC))}}(RC(e)):null}function FC(e,n){return null===e?[n]:Array.isArray(e)?[...e,n]:[e,n]}function Ag(e){return e?Array.isArray(e)?e:[e]:[]}function Bu(e,n){return Array.isArray(e)?e.includes(n):e===n}function BC(e,n){const t=Ag(n);return Ag(e).forEach(r=>{Bu(t,r)||t.push(r)}),t}function jC(e,n){return Ag(n).filter(t=>!Bu(e,t))}class HC{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(n){this._rawValidators=n||[],this._composedValidatorFn=Og(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=xg(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(n){this._onDestroyCallbacks.push(n)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(n=>n()),this._onDestroyCallbacks=[]}reset(n=void 0){this.control&&this.control.reset(n)}hasError(n,t){return!!this.control&&this.control.hasError(n,t)}getError(n,t){return this.control?this.control.getError(n,t):null}}class Yt extends HC{get formDirective(){return null}get path(){return null}}class sr extends HC{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class $C{constructor(n){this._cd=n}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let Rg=(()=>{class e extends $C{constructor(t){super(t)}static#e=this.\u0275fac=function(i){return new(i||e)(b(sr,2))};static#t=this.\u0275dir=L({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(i,r){2&i&&ye("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)},features:[Me]})}return e})(),UC=(()=>{class e extends $C{constructor(t){super(t)}static#e=this.\u0275fac=function(i){return new(i||e)(b(Yt,10))};static#t=this.\u0275dir=L({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(i,r){2&i&&ye("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)("ng-submitted",r.isSubmitted)},features:[Me]})}return e})();const Za="VALID",Hu="INVALID",ds="PENDING",Ja="DISABLED";function Fg(e){return($u(e)?e.validators:e)||null}function Lg(e,n){return($u(n)?n.asyncValidators:e)||null}function $u(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}class qC{constructor(n,t){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(n),this._assignAsyncValidators(t)}get validator(){return this._composedValidatorFn}set validator(n){this._rawValidators=this._composedValidatorFn=n}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(n){this._rawAsyncValidators=this._composedAsyncValidatorFn=n}get parent(){return this._parent}get valid(){return this.status===Za}get invalid(){return this.status===Hu}get pending(){return this.status==ds}get disabled(){return this.status===Ja}get enabled(){return this.status!==Ja}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(n){this._assignValidators(n)}setAsyncValidators(n){this._assignAsyncValidators(n)}addValidators(n){this.setValidators(BC(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(BC(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(jC(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(jC(n,this._rawAsyncValidators))}hasValidator(n){return Bu(this._rawValidators,n)}hasAsyncValidator(n){return Bu(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){this.touched=!0,this._parent&&!n.onlySelf&&this._parent.markAsTouched(n)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(n=>n.markAllAsTouched())}markAsUntouched(n={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}markAsDirty(n={}){this.pristine=!1,this._parent&&!n.onlySelf&&this._parent.markAsDirty(n)}markAsPristine(n={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}markAsPending(n={}){this.status=ds,!1!==n.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!n.onlySelf&&this._parent.markAsPending(n)}disable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=Ja,this.errors=null,this._forEachChild(i=>{i.disable({...n,onlySelf:!0})}),this._updateValue(),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...n,skipPristineCheck:t}),this._onDisabledChange.forEach(i=>i(!0))}enable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=Za,this._forEachChild(i=>{i.enable({...n,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors({...n,skipPristineCheck:t}),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(n){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(n){this._parent=n}getRawValue(){return this.value}updateValueAndValidity(n={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Za||this.status===ds)&&this._runAsyncValidator(n.emitEvent)),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity(n)}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Ja:Za}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n){if(this.asyncValidator){this.status=ds,this._hasOwnPendingAsyncValidator=!0;const t=OC(this.asyncValidator(this));this._asyncValidationSubscription=t.subscribe(i=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(i,{emitEvent:n})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(n,t={}){this.errors=n,this._updateControlsErrors(!1!==t.emitEvent)}get(n){let t=n;return null==t||(Array.isArray(t)||(t=t.split(".")),0===t.length)?null:t.reduce((i,r)=>i&&i._find(r),this)}getError(n,t){const i=t?this.get(t):this;return i&&i.errors?i.errors[n]:null}hasError(n,t){return!!this.getError(n,t)}get root(){let n=this;for(;n._parent;)n=n._parent;return n}_updateControlsErrors(n){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(n)}_initObservables(){this.valueChanges=new Y,this.statusChanges=new Y}_calculateStatus(){return this._allControlsDisabled()?Ja:this.errors?Hu:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(ds)?ds:this._anyControlsHaveStatus(Hu)?Hu:Za}_anyControlsHaveStatus(n){return this._anyControls(t=>t.status===n)}_anyControlsDirty(){return this._anyControls(n=>n.dirty)}_anyControlsTouched(){return this._anyControls(n=>n.touched)}_updatePristine(n={}){this.pristine=!this._anyControlsDirty(),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}_updateTouched(n={}){this.touched=this._anyControlsTouched(),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){$u(n)&&null!=n.updateOn&&(this._updateOn=n.updateOn)}_parentMarkedDirty(n){return!n&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(n){return null}_assignValidators(n){this._rawValidators=Array.isArray(n)?n.slice():n,this._composedValidatorFn=function ij(e){return Array.isArray(e)?Og(e):e||null}(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=function rj(e){return Array.isArray(e)?xg(e):e||null}(this._rawAsyncValidators)}}class Vg extends qC{constructor(n,t,i){super(Fg(t),Lg(i,t)),this.controls=n,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(n,t){return this.controls[n]?this.controls[n]:(this.controls[n]=t,t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange),t)}addControl(n,t,i={}){this.registerControl(n,t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(n,t={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}setControl(n,t,i={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],t&&this.registerControl(n,t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(n){return this.controls.hasOwnProperty(n)&&this.controls[n].enabled}setValue(n,t={}){(function WC(e,n,t){e._forEachChild((i,r)=>{if(void 0===t[r])throw new R(1002,"")})})(this,0,n),Object.keys(n).forEach(i=>{(function zC(e,n,t){const i=e.controls;if(!(n?Object.keys(i):i).length)throw new R(1e3,"");if(!i[t])throw new R(1001,"")})(this,!0,i),this.controls[i].setValue(n[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(n,t={}){null!=n&&(Object.keys(n).forEach(i=>{const r=this.controls[i];r&&r.patchValue(n[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(n={},t={}){this._forEachChild((i,r)=>{i.reset(n?n[r]:null,{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}getRawValue(){return this._reduceChildren({},(n,t,i)=>(n[i]=t.getRawValue(),n))}_syncPendingControls(){let n=this._reduceChildren(!1,(t,i)=>!!i._syncPendingControls()||t);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){Object.keys(this.controls).forEach(t=>{const i=this.controls[t];i&&n(i,t)})}_setUpControls(){this._forEachChild(n=>{n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(n){for(const[t,i]of Object.entries(this.controls))if(this.contains(t)&&n(i))return!0;return!1}_reduceValue(){return this._reduceChildren({},(t,i,r)=>((i.enabled||this.disabled)&&(t[r]=i.value),t))}_reduceChildren(n,t){let i=n;return this._forEachChild((r,o)=>{i=t(i,r,o)}),i}_allControlsDisabled(){for(const n of Object.keys(this.controls))if(this.controls[n].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(n){return this.controls.hasOwnProperty(n)?this.controls[n]:null}}const Fr=new z("CallSetDisabledState",{providedIn:"root",factory:()=>Xa}),Xa="always";function Qa(e,n,t=Xa){Bg(e,n),n.valueAccessor.writeValue(e.value),(e.disabled||"always"===t)&&n.valueAccessor.setDisabledState?.(e.disabled),function aj(e,n){n.valueAccessor.registerOnChange(t=>{e._pendingValue=t,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&YC(e,n)})}(e,n),function cj(e,n){const t=(i,r)=>{n.valueAccessor.writeValue(i),r&&n.viewToModelUpdate(i)};e.registerOnChange(t),n._registerOnDestroy(()=>{e._unregisterOnChange(t)})}(e,n),function lj(e,n){n.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&YC(e,n),"submit"!==e.updateOn&&e.markAsTouched()})}(e,n),function sj(e,n){if(n.valueAccessor.setDisabledState){const t=i=>{n.valueAccessor.setDisabledState(i)};e.registerOnDisabledChange(t),n._registerOnDestroy(()=>{e._unregisterOnDisabledChange(t)})}}(e,n)}function zu(e,n){e.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(n)})}function Bg(e,n){const t=function LC(e){return e._rawValidators}(e);null!==n.validator?e.setValidators(FC(t,n.validator)):"function"==typeof t&&e.setValidators([t]);const i=function VC(e){return e._rawAsyncValidators}(e);null!==n.asyncValidator?e.setAsyncValidators(FC(i,n.asyncValidator)):"function"==typeof i&&e.setAsyncValidators([i]);const r=()=>e.updateValueAndValidity();zu(n._rawValidators,r),zu(n._rawAsyncValidators,r)}function YC(e,n){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}const pj={provide:Yt,useExisting:le(()=>qu)},Ka=(()=>Promise.resolve())();let qu=(()=>{class e extends Yt{constructor(t,i,r){super(),this.callSetDisabledState=r,this.submitted=!1,this._directives=new Set,this.ngSubmit=new Y,this.form=new Vg({},Og(t),xg(i))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){Ka.then(()=>{const i=this._findContainer(t.path);t.control=i.registerControl(t.name,t.control),Qa(t.control,t,this.callSetDisabledState),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){Ka.then(()=>{const i=this._findContainer(t.path);i&&i.removeControl(t.name),this._directives.delete(t)})}addFormGroup(t){Ka.then(()=>{const i=this._findContainer(t.path),r=new Vg({});(function ZC(e,n){Bg(e,n)})(r,t),i.registerControl(t.name,r),r.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){Ka.then(()=>{const i=this._findContainer(t.path);i&&i.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,i){Ka.then(()=>{this.form.get(t.path).setValue(i)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,function JC(e,n){e._syncPendingControls(),n.forEach(t=>{const i=t.control;"submit"===i.updateOn&&i._pendingChange&&(t.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}(this.form,this._directives),this.ngSubmit.emit(t),"dialog"===t?.target?.method}onReset(){this.resetForm()}resetForm(t=void 0){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}static#e=this.\u0275fac=function(i){return new(i||e)(b(Ot,10),b(or,10),b(Fr,8))};static#t=this.\u0275dir=L({type:e,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(i,r){1&i&&Z("submit",function(s){return r.onSubmit(s)})("reset",function(){return r.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Fe([pj]),Me]})}return e})();function XC(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function QC(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const KC=class extends qC{constructor(n=null,t,i){super(Fg(t),Lg(i,t)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(n),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),$u(t)&&(t.nonNullable||t.initialValueIsDefault)&&(this.defaultValue=QC(n)?n.value:n)}setValue(n,t={}){this.value=this._pendingValue=n,this._onChange.length&&!1!==t.emitModelToViewChange&&this._onChange.forEach(i=>i(this.value,!1!==t.emitViewToModelChange)),this.updateValueAndValidity(t)}patchValue(n,t={}){this.setValue(n,t)}reset(n=this.defaultValue,t={}){this._applyFormState(n),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1}_updateValue(){}_anyControls(n){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(n){this._onChange.push(n)}_unregisterOnChange(n){XC(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){XC(this._onDisabledChange,n)}_forEachChild(n){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(n){QC(n)?(this.value=this._pendingValue=n.value,n.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=n}},_j={provide:sr,useExisting:le(()=>Yu)},nE=(()=>Promise.resolve())();let Yu=(()=>{class e extends sr{constructor(t,i,r,o,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this.control=new KC,this._registered=!1,this.name="",this.update=new Y,this._parent=t,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=function $g(e,n){if(!n)return null;let t,i,r;return Array.isArray(n),n.forEach(o=>{o.constructor===Ya?t=o:function fj(e){return Object.getPrototypeOf(e.constructor)===Pr}(o)?i=o:r=o}),r||i||t||null}(0,o)}ngOnChanges(t){if(this._checkForErrors(),!this._registered||"name"in t){if(this._registered&&(this._checkName(),this.formDirective)){const i=t.name.previousValue;this.formDirective.removeControl({name:i,path:this._getPath(i)})}this._setUpControl()}"isDisabled"in t&&this._updateDisabled(t),function Hg(e,n){if(!e.hasOwnProperty("model"))return!1;const t=e.model;return!!t.isFirstChange()||!Object.is(n,t.currentValue)}(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){Qa(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){nE.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(t){const i=t.isDisabled.currentValue,r=0!==i&&function os(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}(i);nE.then(()=>{r&&!this.control.disabled?this.control.disable():!r&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(t){return this._parent?function Uu(e,n){return[...n.path,e]}(t,this._parent):[t]}static#e=this.\u0275fac=function(i){return new(i||e)(b(Yt,9),b(Ot,10),b(or,10),b(An,10),b(zn,8),b(Fr,8))};static#t=this.\u0275dir=L({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[Fe([_j]),Me,Mt]})}return e})(),iE=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275dir=L({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]})}return e})(),oE=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})();const Ug=new z("NgModelWithFormControlWarning");let wE=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({imports:[oE]})}return e})(),$j=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:Fr,useValue:t.callSetDisabledState??Xa}]}}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({imports:[wE]})}return e})(),Uj=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:Ug,useValue:t.warnOnNgModelWithFormControl??"always"},{provide:Fr,useValue:t.callSetDisabledState??Xa}]}}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({imports:[wE]})}return e})(),Zu=(()=>{class e{formatTransactionTime(t){const i=new Date(1e3*t);return"Invalid Date"===i.toString()?(console.error("Invalid Date Format:",t),"Invalid Date"):i.toLocaleDateString(void 0,{year:"numeric",month:"2-digit",day:"2-digit"})+", "+i.toLocaleTimeString()}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Ju=(()=>{class e{getTransactionType(t){return 0===t.inputs.length&&0===t.outputs.length&&console.log("Encrypted Message"),0===t.inputs.length&&1===t.outputs.length&&0===t.outputs[0]?.value?"Message":0===t.inputs.length&&t.outputs.length>=1&&t.outputs[0]?.value>0?"Coinbase":t.inputs.length>0&&t.outputs.length>1&&t.outputs[0]?.value>0?"Transfer":t.outputs.length>=2&&0===t.outputs[0]?.value?"Create Identity":(console.log("Unknown Transaction Type"),"Unknown Transaction Type")}isEncryptedMessageTransaction(t){return 0===t.inputs.length&&0===t.outputs.length}isMessageTransaction(t){return 0===t.inputs.length&&1===t.outputs.length&&0===t.outputs[0]?.value}isCoinbaseTransaction(t){return 0===t.inputs.length&&t.outputs.length>=1&&t.outputs[0]?.value>0}isTransferTransaction(t){return t.inputs.length>0&&t.outputs.length>1&&t.outputs[0]?.value>0}isCreateIdentityTransaction(t){return t.outputs.length>=2&&0===t.outputs[0]?.value}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Jg(...e){const n=Vs(e),t=Ul(e),{args:i,keys:r}=mC(e);if(0===i.length)return pt([],n);const o=new Ce(function zj(e,n,t=Pn){return i=>{CE(n,()=>{const{length:r}=e,o=new Array(r);let s=r,a=r;for(let l=0;l{const c=pt(e[l],n);let u=!1;c.subscribe(Ve(i,d=>{o[l]=d,u||(u=!0,a--),a||i.next(t(o.slice()))},()=>{--s||i.complete()}))},i)},i)}}(i,n,r?s=>_C(r,s):Pn));return t?o.pipe(Ng(t)):o}function CE(e,n,t){e?Di(t,e,n):n()}const Xu=Li(e=>function(){e(this),this.name="EmptyError",this.message="no elements in sequence"});function el(...e){return function Wj(){return lo(1)}()(pt(e,Vs(e)))}function EE(e){return new Ce(n=>{ft(e()).subscribe(n)})}function tl(e,n){const t=se(e)?e:()=>e,i=r=>r.error(t());return new Ce(n?r=>n.schedule(i,0,r):i)}function Xg(){return ze((e,n)=>{let t=null;e._refCount++;const i=Ve(n,void 0,void 0,void 0,()=>{if(!e||e._refCount<=0||0<--e._refCount)return void(t=null);const r=e._connection,o=t;t=null,r&&(!o||r===o)&&r.unsubscribe(),n.unsubscribe()});e.subscribe(i),i.closed||(t=e.connect())})}class TE extends Ce{constructor(n,t){super(),this.source=n,this.subjectFactory=t,this._subject=null,this._refCount=0,this._connection=null,Fs(n)&&(this.lift=n.lift)}_subscribe(n){return this.getSubject().subscribe(n)}getSubject(){const n=this._subject;return(!n||n.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:n}=this;this._subject=this._connection=null,n?.unsubscribe()}connect(){let n=this._connection;if(!n){n=this._connection=new tt;const t=this.getSubject();n.add(this.source.subscribe(Ve(t,void 0,()=>{this._teardown(),t.complete()},i=>{this._teardown(),t.error(i)},()=>this._teardown()))),n.closed&&(this._connection=null,n=tt.EMPTY)}return n}refCount(){return Xg()(this)}}function xt(e){return e<=0?()=>bn:ze((n,t)=>{let i=0;n.subscribe(Ve(t,r=>{++i<=e&&(t.next(r),e<=i&&t.complete())}))})}function Qu(e){return ze((n,t)=>{let i=!1;n.subscribe(Ve(t,r=>{i=!0,t.next(r)},()=>{i||t.next(e),t.complete()}))})}function ME(e=qj){return ze((n,t)=>{let i=!1;n.subscribe(Ve(t,r=>{i=!0,t.next(r)},()=>i?t.complete():t.error(e())))})}function qj(){return new Xu}function Vr(e,n){const t=arguments.length>=2;return i=>i.pipe(e?vt((r,o)=>e(r,o,i)):Pn,xt(1),t?Qu(n):ME(()=>new Xu))}function wt(e,n,t){const i=se(e)||n||t?{next:e,error:n,complete:t}:e;return i?ze((r,o)=>{var s;null===(s=i.subscribe)||void 0===s||s.call(i);let a=!0;r.subscribe(Ve(o,l=>{var c;null===(c=i.next)||void 0===c||c.call(i,l),o.next(l)},()=>{var l;a=!1,null===(l=i.complete)||void 0===l||l.call(i),o.complete()},l=>{var c;a=!1,null===(c=i.error)||void 0===c||c.call(i,l),o.error(l)},()=>{var l,c;a&&(null===(l=i.unsubscribe)||void 0===l||l.call(i)),null===(c=i.finalize)||void 0===c||c.call(i)}))}):Pn}function Br(e){return ze((n,t)=>{let o,i=null,r=!1;i=n.subscribe(Ve(t,void 0,void 0,s=>{o=ft(e(s,Br(e)(n))),i?(i.unsubscribe(),i=null,o.subscribe(t)):r=!0})),r&&(i.unsubscribe(),i=null,o.subscribe(t))})}function Qg(e){return e<=0?()=>bn:ze((n,t)=>{let i=[];n.subscribe(Ve(t,r=>{i.push(r),e{for(const r of i)t.next(r);t.complete()},void 0,()=>{i=null}))})}function Ke(e){return ze((n,t)=>{ft(e).subscribe(Ve(t,()=>t.complete(),pr)),!t.closed&&n.subscribe(t)})}const oe="primary",nl=Symbol("RouteTitle");class Xj{constructor(n){this.params=n||{}}has(n){return Object.prototype.hasOwnProperty.call(this.params,n)}get(n){if(this.has(n)){const t=this.params[n];return Array.isArray(t)?t[0]:t}return null}getAll(n){if(this.has(n)){const t=this.params[n];return Array.isArray(t)?t:[t]}return[]}get keys(){return Object.keys(this.params)}}function fs(e){return new Xj(e)}function Qj(e,n,t){const i=t.path.split("/");if(i.length>e.length||"full"===t.pathMatch&&(n.hasChildren()||i.lengthi[o]===r)}return e===n}function OE(e){return e.length>0?e[e.length-1]:null}function ar(e){return function Gj(e){return!!e&&(e instanceof Ce||se(e.lift)&&se(e.subscribe))}(e)?e:Sa(e)?pt(Promise.resolve(e)):J(e)}const e3={exact:function RE(e,n,t){if(!jr(e.segments,n.segments)||!Ku(e.segments,n.segments,t)||e.numberOfChildren!==n.numberOfChildren)return!1;for(const i in n.children)if(!e.children[i]||!RE(e.children[i],n.children[i],t))return!1;return!0},subset:kE},xE={exact:function t3(e,n){return gi(e,n)},subset:function n3(e,n){return Object.keys(n).length<=Object.keys(e).length&&Object.keys(n).every(t=>NE(e[t],n[t]))},ignored:()=>!0};function AE(e,n,t){return e3[t.paths](e.root,n.root,t.matrixParams)&&xE[t.queryParams](e.queryParams,n.queryParams)&&!("exact"===t.fragment&&e.fragment!==n.fragment)}function kE(e,n,t){return PE(e,n,n.segments,t)}function PE(e,n,t,i){if(e.segments.length>t.length){const r=e.segments.slice(0,t.length);return!(!jr(r,t)||n.hasChildren()||!Ku(r,t,i))}if(e.segments.length===t.length){if(!jr(e.segments,t)||!Ku(e.segments,t,i))return!1;for(const r in n.children)if(!e.children[r]||!kE(e.children[r],n.children[r],i))return!1;return!0}{const r=t.slice(0,e.segments.length),o=t.slice(e.segments.length);return!!(jr(e.segments,r)&&Ku(e.segments,r,i)&&e.children[oe])&&PE(e.children[oe],n,o,i)}}function Ku(e,n,t){return n.every((i,r)=>xE[t](e[r].parameters,i.parameters))}class hs{constructor(n=new Pe([],{}),t={},i=null){this.root=n,this.queryParams=t,this.fragment=i}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=fs(this.queryParams)),this._queryParamMap}toString(){return o3.serialize(this)}}class Pe{constructor(n,t){this.segments=n,this.children=t,this.parent=null,Object.values(t).forEach(i=>i.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return ed(this)}}class il{constructor(n,t){this.path=n,this.parameters=t}get parameterMap(){return this._parameterMap||(this._parameterMap=fs(this.parameters)),this._parameterMap}toString(){return VE(this)}}function jr(e,n){return e.length===n.length&&e.every((t,i)=>t.path===n[i].path)}let rl=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:function(){return new Kg},providedIn:"root"})}return e})();class Kg{parse(n){const t=new m3(n);return new hs(t.parseRootSegment(),t.parseQueryParams(),t.parseFragment())}serialize(n){const t=`/${ol(n.root,!0)}`,i=function l3(e){const n=Object.keys(e).map(t=>{const i=e[t];return Array.isArray(i)?i.map(r=>`${td(t)}=${td(r)}`).join("&"):`${td(t)}=${td(i)}`}).filter(t=>!!t);return n.length?`?${n.join("&")}`:""}(n.queryParams);return`${t}${i}${"string"==typeof n.fragment?`#${function s3(e){return encodeURI(e)}(n.fragment)}`:""}`}}const o3=new Kg;function ed(e){return e.segments.map(n=>VE(n)).join("/")}function ol(e,n){if(!e.hasChildren())return ed(e);if(n){const t=e.children[oe]?ol(e.children[oe],!1):"",i=[];return Object.entries(e.children).forEach(([r,o])=>{r!==oe&&i.push(`${r}:${ol(o,!1)}`)}),i.length>0?`${t}(${i.join("//")})`:t}{const t=function r3(e,n){let t=[];return Object.entries(e.children).forEach(([i,r])=>{i===oe&&(t=t.concat(n(r,i)))}),Object.entries(e.children).forEach(([i,r])=>{i!==oe&&(t=t.concat(n(r,i)))}),t}(e,(i,r)=>r===oe?[ol(e.children[oe],!1)]:[`${r}:${ol(i,!1)}`]);return 1===Object.keys(e.children).length&&null!=e.children[oe]?`${ed(e)}/${t[0]}`:`${ed(e)}/(${t.join("//")})`}}function FE(e){return encodeURIComponent(e).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function td(e){return FE(e).replace(/%3B/gi,";")}function em(e){return FE(e).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function nd(e){return decodeURIComponent(e)}function LE(e){return nd(e.replace(/\+/g,"%20"))}function VE(e){return`${em(e.path)}${function a3(e){return Object.keys(e).map(n=>`;${em(n)}=${em(e[n])}`).join("")}(e.parameters)}`}const c3=/^[^\/()?;#]+/;function tm(e){const n=e.match(c3);return n?n[0]:""}const u3=/^[^\/()?;=#]+/,f3=/^[^=?&#]+/,p3=/^[^&#]+/;class m3{constructor(n){this.url=n,this.remaining=n}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new Pe([],{}):new Pe([],this.parseChildren())}parseQueryParams(){const n={};if(this.consumeOptional("?"))do{this.parseQueryParam(n)}while(this.consumeOptional("&"));return n}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const n=[];for(this.peekStartsWith("(")||n.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),n.push(this.parseSegment());let t={};this.peekStartsWith("/(")&&(this.capture("/"),t=this.parseParens(!0));let i={};return this.peekStartsWith("(")&&(i=this.parseParens(!1)),(n.length>0||Object.keys(t).length>0)&&(i[oe]=new Pe(n,t)),i}parseSegment(){const n=tm(this.remaining);if(""===n&&this.peekStartsWith(";"))throw new R(4009,!1);return this.capture(n),new il(nd(n),this.parseMatrixParams())}parseMatrixParams(){const n={};for(;this.consumeOptional(";");)this.parseParam(n);return n}parseParam(n){const t=function d3(e){const n=e.match(u3);return n?n[0]:""}(this.remaining);if(!t)return;this.capture(t);let i="";if(this.consumeOptional("=")){const r=tm(this.remaining);r&&(i=r,this.capture(i))}n[nd(t)]=nd(i)}parseQueryParam(n){const t=function h3(e){const n=e.match(f3);return n?n[0]:""}(this.remaining);if(!t)return;this.capture(t);let i="";if(this.consumeOptional("=")){const s=function g3(e){const n=e.match(p3);return n?n[0]:""}(this.remaining);s&&(i=s,this.capture(i))}const r=LE(t),o=LE(i);if(n.hasOwnProperty(r)){let s=n[r];Array.isArray(s)||(s=[s],n[r]=s),s.push(o)}else n[r]=o}parseParens(n){const t={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const i=tm(this.remaining),r=this.remaining[i.length];if("/"!==r&&")"!==r&&";"!==r)throw new R(4010,!1);let o;i.indexOf(":")>-1?(o=i.slice(0,i.indexOf(":")),this.capture(o),this.capture(":")):n&&(o=oe);const s=this.parseChildren();t[o]=1===Object.keys(s).length?s[oe]:new Pe([],s),this.consumeOptional("//")}return t}peekStartsWith(n){return this.remaining.startsWith(n)}consumeOptional(n){return!!this.peekStartsWith(n)&&(this.remaining=this.remaining.substring(n.length),!0)}capture(n){if(!this.consumeOptional(n))throw new R(4011,!1)}}function BE(e){return e.segments.length>0?new Pe([],{[oe]:e}):e}function jE(e){const n={};for(const i of Object.keys(e.children)){const o=jE(e.children[i]);if(i===oe&&0===o.segments.length&&o.hasChildren())for(const[s,a]of Object.entries(o.children))n[s]=a;else(o.segments.length>0||o.hasChildren())&&(n[i]=o)}return function _3(e){if(1===e.numberOfChildren&&e.children[oe]){const n=e.children[oe];return new Pe(e.segments.concat(n.segments),n.children)}return e}(new Pe(e.segments,n))}function Hr(e){return e instanceof hs}function HE(e){let n;const r=BE(function t(o){const s={};for(const l of o.children){const c=t(l);s[l.outlet]=c}const a=new Pe(o.url,s);return o===e&&(n=a),a}(e.root));return n??r}function $E(e,n,t,i){let r=e;for(;r.parent;)r=r.parent;if(0===n.length)return nm(r,r,r,t,i);const o=function y3(e){if("string"==typeof e[0]&&1===e.length&&"/"===e[0])return new GE(!0,0,e);let n=0,t=!1;const i=e.reduce((r,o,s)=>{if("object"==typeof o&&null!=o){if(o.outlets){const a={};return Object.entries(o.outlets).forEach(([l,c])=>{a[l]="string"==typeof c?c.split("/"):c}),[...r,{outlets:a}]}if(o.segmentPath)return[...r,o.segmentPath]}return"string"!=typeof o?[...r,o]:0===s?(o.split("/").forEach((a,l)=>{0==l&&"."===a||(0==l&&""===a?t=!0:".."===a?n++:""!=a&&r.push(a))}),r):[...r,o]},[]);return new GE(t,n,i)}(n);if(o.toRoot())return nm(r,r,new Pe([],{}),t,i);const s=function b3(e,n,t){if(e.isAbsolute)return new rd(n,!0,0);if(!t)return new rd(n,!1,NaN);if(null===t.parent)return new rd(t,!0,0);const i=id(e.commands[0])?0:1;return function D3(e,n,t){let i=e,r=n,o=t;for(;o>r;){if(o-=r,i=i.parent,!i)throw new R(4005,!1);r=i.segments.length}return new rd(i,!1,r-o)}(t,t.segments.length-1+i,e.numberOfDoubleDots)}(o,r,e),a=s.processChildren?al(s.segmentGroup,s.index,o.commands):zE(s.segmentGroup,s.index,o.commands);return nm(r,s.segmentGroup,a,t,i)}function id(e){return"object"==typeof e&&null!=e&&!e.outlets&&!e.segmentPath}function sl(e){return"object"==typeof e&&null!=e&&e.outlets}function nm(e,n,t,i,r){let s,o={};i&&Object.entries(i).forEach(([l,c])=>{o[l]=Array.isArray(c)?c.map(u=>`${u}`):`${c}`}),s=e===n?t:UE(e,n,t);const a=BE(jE(s));return new hs(a,o,r)}function UE(e,n,t){const i={};return Object.entries(e.children).forEach(([r,o])=>{i[r]=o===n?t:UE(o,n,t)}),new Pe(e.segments,i)}class GE{constructor(n,t,i){if(this.isAbsolute=n,this.numberOfDoubleDots=t,this.commands=i,n&&i.length>0&&id(i[0]))throw new R(4003,!1);const r=i.find(sl);if(r&&r!==OE(i))throw new R(4004,!1)}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class rd{constructor(n,t,i){this.segmentGroup=n,this.processChildren=t,this.index=i}}function zE(e,n,t){if(e||(e=new Pe([],{})),0===e.segments.length&&e.hasChildren())return al(e,n,t);const i=function C3(e,n,t){let i=0,r=n;const o={match:!1,pathIndex:0,commandIndex:0};for(;r=t.length)return o;const s=e.segments[r],a=t[i];if(sl(a))break;const l=`${a}`,c=i0&&void 0===l)break;if(l&&c&&"object"==typeof c&&void 0===c.outlets){if(!qE(l,c,s))return o;i+=2}else{if(!qE(l,{},s))return o;i++}r++}return{match:!0,pathIndex:r,commandIndex:i}}(e,n,t),r=t.slice(i.commandIndex);if(i.match&&i.pathIndexo!==oe)&&e.children[oe]&&1===e.numberOfChildren&&0===e.children[oe].segments.length){const o=al(e.children[oe],n,t);return new Pe(e.segments,o.children)}return Object.entries(i).forEach(([o,s])=>{"string"==typeof s&&(s=[s]),null!==s&&(r[o]=zE(e.children[o],n,s))}),Object.entries(e.children).forEach(([o,s])=>{void 0===i[o]&&(r[o]=s)}),new Pe(e.segments,r)}}function im(e,n,t){const i=e.segments.slice(0,n);let r=0;for(;r{"string"==typeof i&&(i=[i]),null!==i&&(n[t]=im(new Pe([],{}),0,i))}),n}function WE(e){const n={};return Object.entries(e).forEach(([t,i])=>n[t]=`${i}`),n}function qE(e,n,t){return e==t.path&&gi(n,t.parameters)}const ll="imperative";class mi{constructor(n,t){this.id=n,this.url=t}}class od extends mi{constructor(n,t,i="imperative",r=null){super(n,t),this.type=0,this.navigationTrigger=i,this.restoredState=r}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class lr extends mi{constructor(n,t,i){super(n,t),this.urlAfterRedirects=i,this.type=1}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class cl extends mi{constructor(n,t,i,r){super(n,t),this.reason=i,this.code=r,this.type=2}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class ps extends mi{constructor(n,t,i,r){super(n,t),this.reason=i,this.code=r,this.type=16}}class sd extends mi{constructor(n,t,i,r){super(n,t),this.error=i,this.target=r,this.type=3}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class YE extends mi{constructor(n,t,i,r){super(n,t),this.urlAfterRedirects=i,this.state=r,this.type=4}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class T3 extends mi{constructor(n,t,i,r){super(n,t),this.urlAfterRedirects=i,this.state=r,this.type=7}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class S3 extends mi{constructor(n,t,i,r,o){super(n,t),this.urlAfterRedirects=i,this.state=r,this.shouldActivate=o,this.type=8}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class M3 extends mi{constructor(n,t,i,r){super(n,t),this.urlAfterRedirects=i,this.state=r,this.type=5}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class I3 extends mi{constructor(n,t,i,r){super(n,t),this.urlAfterRedirects=i,this.state=r,this.type=6}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class N3{constructor(n){this.route=n,this.type=9}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class O3{constructor(n){this.route=n,this.type=10}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class x3{constructor(n){this.snapshot=n,this.type=11}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class A3{constructor(n){this.snapshot=n,this.type=12}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class R3{constructor(n){this.snapshot=n,this.type=13}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class k3{constructor(n){this.snapshot=n,this.type=14}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class ZE{constructor(n,t,i){this.routerEvent=n,this.position=t,this.anchor=i,this.type=15}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}class rm{}class om{constructor(n){this.url=n}}class P3{constructor(){this.outlet=null,this.route=null,this.injector=null,this.children=new ul,this.attachRef=null}}let ul=(()=>{class e{constructor(){this.contexts=new Map}onChildOutletCreated(t,i){const r=this.getOrCreateContext(t);r.outlet=i,this.contexts.set(t,r)}onChildOutletDestroyed(t){const i=this.getContext(t);i&&(i.outlet=null,i.attachRef=null)}onOutletDeactivated(){const t=this.contexts;return this.contexts=new Map,t}onOutletReAttached(t){this.contexts=t}getOrCreateContext(t){let i=this.getContext(t);return i||(i=new P3,this.contexts.set(t,i)),i}getContext(t){return this.contexts.get(t)||null}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();class JE{constructor(n){this._root=n}get root(){return this._root.value}parent(n){const t=this.pathFromRoot(n);return t.length>1?t[t.length-2]:null}children(n){const t=sm(n,this._root);return t?t.children.map(i=>i.value):[]}firstChild(n){const t=sm(n,this._root);return t&&t.children.length>0?t.children[0].value:null}siblings(n){const t=am(n,this._root);return t.length<2?[]:t[t.length-2].children.map(r=>r.value).filter(r=>r!==n)}pathFromRoot(n){return am(n,this._root).map(t=>t.value)}}function sm(e,n){if(e===n.value)return n;for(const t of n.children){const i=sm(e,t);if(i)return i}return null}function am(e,n){if(e===n.value)return[n];for(const t of n.children){const i=am(e,t);if(i.length)return i.unshift(n),i}return[]}class ki{constructor(n,t){this.value=n,this.children=t}toString(){return`TreeNode(${this.value})`}}function gs(e){const n={};return e&&e.children.forEach(t=>n[t.value.outlet]=t),n}class XE extends JE{constructor(n,t){super(n),this.snapshot=t,lm(this,n)}toString(){return this.snapshot.toString()}}function QE(e,n){const t=function F3(e,n){const s=new ad([],{},{},"",{},oe,n,null,{});return new eT("",new ki(s,[]))}(0,n),i=new Dn([new il("",{})]),r=new Dn({}),o=new Dn({}),s=new Dn({}),a=new Dn(""),l=new $r(i,r,s,a,o,oe,n,t.root);return l.snapshot=t.root,new XE(new ki(l,[]),t)}class $r{constructor(n,t,i,r,o,s,a,l){this.urlSubject=n,this.paramsSubject=t,this.queryParamsSubject=i,this.fragmentSubject=r,this.dataSubject=o,this.outlet=s,this.component=a,this._futureSnapshot=l,this.title=this.dataSubject?.pipe(ae(c=>c[nl]))??J(void 0),this.url=n,this.params=t,this.queryParams=i,this.fragment=r,this.data=o}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=this.params.pipe(ae(n=>fs(n)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(ae(n=>fs(n)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function KE(e,n="emptyOnly"){const t=e.pathFromRoot;let i=0;if("always"!==n)for(i=t.length-1;i>=1;){const r=t[i],o=t[i-1];if(r.routeConfig&&""===r.routeConfig.path)i--;else{if(o.component)break;i--}}return function L3(e){return e.reduce((n,t)=>({params:{...n.params,...t.params},data:{...n.data,...t.data},resolve:{...t.data,...n.resolve,...t.routeConfig?.data,...t._resolvedData}}),{params:{},data:{},resolve:{}})}(t.slice(i))}class ad{get title(){return this.data?.[nl]}constructor(n,t,i,r,o,s,a,l,c){this.url=n,this.params=t,this.queryParams=i,this.fragment=r,this.data=o,this.outlet=s,this.component=a,this.routeConfig=l,this._resolve=c}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=fs(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=fs(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(i=>i.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class eT extends JE{constructor(n,t){super(t),this.url=n,lm(this,t)}toString(){return tT(this._root)}}function lm(e,n){n.value._routerState=e,n.children.forEach(t=>lm(e,t))}function tT(e){const n=e.children.length>0?` { ${e.children.map(tT).join(", ")} } `:"";return`${e.value}${n}`}function cm(e){if(e.snapshot){const n=e.snapshot,t=e._futureSnapshot;e.snapshot=t,gi(n.queryParams,t.queryParams)||e.queryParamsSubject.next(t.queryParams),n.fragment!==t.fragment&&e.fragmentSubject.next(t.fragment),gi(n.params,t.params)||e.paramsSubject.next(t.params),function Kj(e,n){if(e.length!==n.length)return!1;for(let t=0;tgi(t.parameters,n[i].parameters))}(e.url,n.url);return t&&!(!e.parent!=!n.parent)&&(!e.parent||um(e.parent,n.parent))}let nT=(()=>{class e{constructor(){this.activated=null,this._activatedRoute=null,this.name=oe,this.activateEvents=new Y,this.deactivateEvents=new Y,this.attachEvents=new Y,this.detachEvents=new Y,this.parentContexts=F(ul),this.location=F(Nn),this.changeDetector=F(zn),this.environmentInjector=F(zt),this.inputBinder=F(ld,{optional:!0}),this.supportsBindingToComponentInputs=!0}get activatedComponentRef(){return this.activated}ngOnChanges(t){if(t.name){const{firstChange:i,previousValue:r}=t.name;if(i)return;this.isTrackedInParentContexts(r)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(r)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(t){return this.parentContexts.getContext(t)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;const t=this.parentContexts.getContext(this.name);t?.route&&(t.attachRef?this.attach(t.attachRef,t.route):this.activateWith(t.route,t.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new R(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new R(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new R(4012,!1);this.location.detach();const t=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(t.instance),t}attach(t,i){this.activated=t,this._activatedRoute=i,this.location.insert(t.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(t.instance)}deactivate(){if(this.activated){const t=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(t)}}activateWith(t,i){if(this.isActivated)throw new R(4013,!1);this._activatedRoute=t;const r=this.location,s=t.snapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,l=new V3(t,a,r.injector);this.activated=r.createComponent(s,{index:r.length,injector:l,environmentInjector:i??this.environmentInjector}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275dir=L({type:e,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[Mt]})}return e})();class V3{constructor(n,t,i){this.route=n,this.childContexts=t,this.parent=i}get(n,t){return n===$r?this.route:n===ul?this.childContexts:this.parent.get(n,t)}}const ld=new z("");let iT=(()=>{class e{constructor(){this.outletDataSubscriptions=new Map}bindActivatedRouteToOutletComponent(t){this.unsubscribeFromRouteData(t),this.subscribeToRouteData(t)}unsubscribeFromRouteData(t){this.outletDataSubscriptions.get(t)?.unsubscribe(),this.outletDataSubscriptions.delete(t)}subscribeToRouteData(t){const{activatedRoute:i}=t,r=Jg([i.queryParams,i.params,i.data]).pipe(wn(([o,s,a],l)=>(a={...o,...s,...a},0===l?J(a):Promise.resolve(a)))).subscribe(o=>{if(!t.isActivated||!t.activatedComponentRef||t.activatedRoute!==i||null===i.component)return void this.unsubscribeFromRouteData(t);const s=function UF(e){const n=he(e);if(!n)return null;const t=new ba(n);return{get selector(){return t.selector},get type(){return t.componentType},get inputs(){return t.inputs},get outputs(){return t.outputs},get ngContentSelectors(){return t.ngContentSelectors},get isStandalone(){return n.standalone},get isSignal(){return n.signals}}}(i.component);if(s)for(const{templateName:a}of s.inputs)t.activatedComponentRef.setInput(a,o[a]);else this.unsubscribeFromRouteData(t)});this.outletDataSubscriptions.set(t,r)}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();function dl(e,n,t){if(t&&e.shouldReuseRoute(n.value,t.value.snapshot)){const i=t.value;i._futureSnapshot=n.value;const r=function j3(e,n,t){return n.children.map(i=>{for(const r of t.children)if(e.shouldReuseRoute(i.value,r.value.snapshot))return dl(e,i,r);return dl(e,i)})}(e,n,t);return new ki(i,r)}{if(e.shouldAttach(n.value)){const o=e.retrieve(n.value);if(null!==o){const s=o.route;return s.value._futureSnapshot=n.value,s.children=n.children.map(a=>dl(e,a)),s}}const i=function H3(e){return new $r(new Dn(e.url),new Dn(e.params),new Dn(e.queryParams),new Dn(e.fragment),new Dn(e.data),e.outlet,e.component,e)}(n.value),r=n.children.map(o=>dl(e,o));return new ki(i,r)}}const dm="ngNavigationCancelingError";function rT(e,n){const{redirectTo:t,navigationBehaviorOptions:i}=Hr(n)?{redirectTo:n,navigationBehaviorOptions:void 0}:n,r=oT(!1,0,n);return r.url=t,r.navigationBehaviorOptions=i,r}function oT(e,n,t){const i=new Error("NavigationCancelingError: "+(e||""));return i[dm]=!0,i.cancellationCode=n,t&&(i.url=t),i}function sT(e){return e&&e[dm]}let aT=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275cmp=Pt({type:e,selectors:[["ng-component"]],standalone:!0,features:[In],decls:1,vars:0,template:function(i,r){1&i&&Ae(0,"router-outlet")},dependencies:[nT],encapsulation:2})}return e})();function fm(e){const n=e.children&&e.children.map(fm),t=n?{...e,children:n}:{...e};return!t.component&&!t.loadComponent&&(n||t.loadChildren)&&t.outlet&&t.outlet!==oe&&(t.component=aT),t}function Jn(e){return e.outlet||oe}function fl(e){if(!e)return null;if(e.routeConfig?._injector)return e.routeConfig._injector;for(let n=e.parent;n;n=n.parent){const t=n.routeConfig;if(t?._loadedInjector)return t._loadedInjector;if(t?._injector)return t._injector}return null}class Z3{constructor(n,t,i,r,o){this.routeReuseStrategy=n,this.futureState=t,this.currState=i,this.forwardEvent=r,this.inputBindingEnabled=o}activate(n){const t=this.futureState._root,i=this.currState?this.currState._root:null;this.deactivateChildRoutes(t,i,n),cm(this.futureState.root),this.activateChildRoutes(t,i,n)}deactivateChildRoutes(n,t,i){const r=gs(t);n.children.forEach(o=>{const s=o.value.outlet;this.deactivateRoutes(o,r[s],i),delete r[s]}),Object.values(r).forEach(o=>{this.deactivateRouteAndItsChildren(o,i)})}deactivateRoutes(n,t,i){const r=n.value,o=t?t.value:null;if(r===o)if(r.component){const s=i.getContext(r.outlet);s&&this.deactivateChildRoutes(n,t,s.children)}else this.deactivateChildRoutes(n,t,i);else o&&this.deactivateRouteAndItsChildren(t,i)}deactivateRouteAndItsChildren(n,t){n.value.component&&this.routeReuseStrategy.shouldDetach(n.value.snapshot)?this.detachAndStoreRouteSubtree(n,t):this.deactivateRouteAndOutlet(n,t)}detachAndStoreRouteSubtree(n,t){const i=t.getContext(n.value.outlet),r=i&&n.value.component?i.children:t,o=gs(n);for(const s of Object.keys(o))this.deactivateRouteAndItsChildren(o[s],r);if(i&&i.outlet){const s=i.outlet.detach(),a=i.children.onOutletDeactivated();this.routeReuseStrategy.store(n.value.snapshot,{componentRef:s,route:n,contexts:a})}}deactivateRouteAndOutlet(n,t){const i=t.getContext(n.value.outlet),r=i&&n.value.component?i.children:t,o=gs(n);for(const s of Object.keys(o))this.deactivateRouteAndItsChildren(o[s],r);i&&(i.outlet&&(i.outlet.deactivate(),i.children.onOutletDeactivated()),i.attachRef=null,i.route=null)}activateChildRoutes(n,t,i){const r=gs(t);n.children.forEach(o=>{this.activateRoutes(o,r[o.value.outlet],i),this.forwardEvent(new k3(o.value.snapshot))}),n.children.length&&this.forwardEvent(new A3(n.value.snapshot))}activateRoutes(n,t,i){const r=n.value,o=t?t.value:null;if(cm(r),r===o)if(r.component){const s=i.getOrCreateContext(r.outlet);this.activateChildRoutes(n,t,s.children)}else this.activateChildRoutes(n,t,i);else if(r.component){const s=i.getOrCreateContext(r.outlet);if(this.routeReuseStrategy.shouldAttach(r.snapshot)){const a=this.routeReuseStrategy.retrieve(r.snapshot);this.routeReuseStrategy.store(r.snapshot,null),s.children.onOutletReAttached(a.contexts),s.attachRef=a.componentRef,s.route=a.route.value,s.outlet&&s.outlet.attach(a.componentRef,a.route.value),cm(a.route.value),this.activateChildRoutes(n,null,s.children)}else{const a=fl(r.snapshot);s.attachRef=null,s.route=r,s.injector=a,s.outlet&&s.outlet.activateWith(r,s.injector),this.activateChildRoutes(n,null,s.children)}}else this.activateChildRoutes(n,null,i)}}class lT{constructor(n){this.path=n,this.route=this.path[this.path.length-1]}}class cd{constructor(n,t){this.component=n,this.route=t}}function J3(e,n,t){const i=e._root;return hl(i,n?n._root:null,t,[i.value])}function ms(e,n){const t=Symbol(),i=n.get(e,t);return i===t?"function"!=typeof e||function aI(e){return null!==Wl(e)}(e)?n.get(e):e:i}function hl(e,n,t,i,r={canDeactivateChecks:[],canActivateChecks:[]}){const o=gs(n);return e.children.forEach(s=>{(function Q3(e,n,t,i,r={canDeactivateChecks:[],canActivateChecks:[]}){const o=e.value,s=n?n.value:null,a=t?t.getContext(e.value.outlet):null;if(s&&o.routeConfig===s.routeConfig){const l=function K3(e,n,t){if("function"==typeof t)return t(e,n);switch(t){case"pathParamsChange":return!jr(e.url,n.url);case"pathParamsOrQueryParamsChange":return!jr(e.url,n.url)||!gi(e.queryParams,n.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!um(e,n)||!gi(e.queryParams,n.queryParams);default:return!um(e,n)}}(s,o,o.routeConfig.runGuardsAndResolvers);l?r.canActivateChecks.push(new lT(i)):(o.data=s.data,o._resolvedData=s._resolvedData),hl(e,n,o.component?a?a.children:null:t,i,r),l&&a&&a.outlet&&a.outlet.isActivated&&r.canDeactivateChecks.push(new cd(a.outlet.component,s))}else s&&pl(n,a,r),r.canActivateChecks.push(new lT(i)),hl(e,null,o.component?a?a.children:null:t,i,r)})(s,o[s.value.outlet],t,i.concat([s.value]),r),delete o[s.value.outlet]}),Object.entries(o).forEach(([s,a])=>pl(a,t.getContext(s),r)),r}function pl(e,n,t){const i=gs(e),r=e.value;Object.entries(i).forEach(([o,s])=>{pl(s,r.component?n?n.children.getContext(o):null:n,t)}),t.canDeactivateChecks.push(new cd(r.component&&n&&n.outlet&&n.outlet.isActivated?n.outlet.component:null,r))}function gl(e){return"function"==typeof e}function cT(e){return e instanceof Xu||"EmptyError"===e?.name}const ud=Symbol("INITIAL_VALUE");function _s(){return wn(e=>Jg(e.map(n=>n.pipe(xt(1),function SE(...e){const n=Vs(e);return ze((t,i)=>{(n?el(e,t,n):el(e,t)).subscribe(i)})}(ud)))).pipe(ae(n=>{for(const t of n)if(!0!==t){if(t===ud)return ud;if(!1===t||t instanceof hs)return t}return!0}),vt(n=>n!==ud),xt(1)))}function uT(e){return function Fl(...e){return Ll(e)}(wt(n=>{if(Hr(n))throw rT(0,n)}),ae(n=>!0===n))}class dd{constructor(n){this.segmentGroup=n||null}}class dT{constructor(n){this.urlTree=n}}function vs(e){return tl(new dd(e))}function fT(e){return tl(new dT(e))}class yH{constructor(n,t){this.urlSerializer=n,this.urlTree=t}noMatchError(n){return new R(4002,!1)}lineralizeSegments(n,t){let i=[],r=t.root;for(;;){if(i=i.concat(r.segments),0===r.numberOfChildren)return J(i);if(r.numberOfChildren>1||!r.children[oe])return tl(new R(4e3,!1));r=r.children[oe]}}applyRedirectCommands(n,t,i){return this.applyRedirectCreateUrlTree(t,this.urlSerializer.parse(t),n,i)}applyRedirectCreateUrlTree(n,t,i,r){const o=this.createSegmentGroup(n,t.root,i,r);return new hs(o,this.createQueryParams(t.queryParams,this.urlTree.queryParams),t.fragment)}createQueryParams(n,t){const i={};return Object.entries(n).forEach(([r,o])=>{if("string"==typeof o&&o.startsWith(":")){const a=o.substring(1);i[r]=t[a]}else i[r]=o}),i}createSegmentGroup(n,t,i,r){const o=this.createSegments(n,t.segments,i,r);let s={};return Object.entries(t.children).forEach(([a,l])=>{s[a]=this.createSegmentGroup(n,l,i,r)}),new Pe(o,s)}createSegments(n,t,i,r){return t.map(o=>o.path.startsWith(":")?this.findPosParam(n,o,r):this.findOrReturn(o,i))}findPosParam(n,t,i){const r=i[t.path.substring(1)];if(!r)throw new R(4001,!1);return r}findOrReturn(n,t){let i=0;for(const r of t){if(r.path===n.path)return t.splice(i),r;i++}return n}}const hm={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function bH(e,n,t,i,r){const o=pm(e,n,t);return o.matched?(i=function U3(e,n){return e.providers&&!e._injector&&(e._injector=yp(e.providers,n,`Route: ${e.path}`)),e._injector??n}(n,i),function mH(e,n,t,i){const r=n.canMatch;return r&&0!==r.length?J(r.map(s=>{const a=ms(s,e);return ar(function oH(e){return e&&gl(e.canMatch)}(a)?a.canMatch(n,t):e.runInContext(()=>a(n,t)))})).pipe(_s(),uT()):J(!0)}(i,n,t).pipe(ae(s=>!0===s?o:{...hm}))):J(o)}function pm(e,n,t){if(""===n.path)return"full"===n.pathMatch&&(e.hasChildren()||t.length>0)?{...hm}:{matched:!0,consumedSegments:[],remainingSegments:t,parameters:{},positionalParamSegments:{}};const r=(n.matcher||Qj)(t,e,n);if(!r)return{...hm};const o={};Object.entries(r.posParams??{}).forEach(([a,l])=>{o[a]=l.path});const s=r.consumed.length>0?{...o,...r.consumed[r.consumed.length-1].parameters}:o;return{matched:!0,consumedSegments:r.consumed,remainingSegments:t.slice(r.consumed.length),parameters:s,positionalParamSegments:r.posParams??{}}}function hT(e,n,t,i){return t.length>0&&function CH(e,n,t){return t.some(i=>fd(e,n,i)&&Jn(i)!==oe)}(e,t,i)?{segmentGroup:new Pe(n,wH(i,new Pe(t,e.children))),slicedSegments:[]}:0===t.length&&function EH(e,n,t){return t.some(i=>fd(e,n,i))}(e,t,i)?{segmentGroup:new Pe(e.segments,DH(e,0,t,i,e.children)),slicedSegments:t}:{segmentGroup:new Pe(e.segments,e.children),slicedSegments:t}}function DH(e,n,t,i,r){const o={};for(const s of i)if(fd(e,t,s)&&!r[Jn(s)]){const a=new Pe([],{});o[Jn(s)]=a}return{...r,...o}}function wH(e,n){const t={};t[oe]=n;for(const i of e)if(""===i.path&&Jn(i)!==oe){const r=new Pe([],{});t[Jn(i)]=r}return t}function fd(e,n,t){return(!(e.hasChildren()||n.length>0)||"full"!==t.pathMatch)&&""===t.path}class IH{constructor(n,t,i,r,o,s,a){this.injector=n,this.configLoader=t,this.rootComponentType=i,this.config=r,this.urlTree=o,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.allowRedirects=!0,this.applyRedirects=new yH(this.urlSerializer,this.urlTree)}noMatchError(n){return new R(4002,!1)}recognize(){const n=hT(this.urlTree.root,[],[],this.config).segmentGroup;return this.processSegmentGroup(this.injector,this.config,n,oe).pipe(Br(t=>{if(t instanceof dT)return this.allowRedirects=!1,this.urlTree=t.urlTree,this.match(t.urlTree);throw t instanceof dd?this.noMatchError(t):t}),ae(t=>{const i=new ad([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,{},oe,this.rootComponentType,null,{}),r=new ki(i,t),o=new eT("",r),s=function v3(e,n,t=null,i=null){return $E(HE(e),n,t,i)}(i,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,o.url=this.urlSerializer.serialize(s),this.inheritParamsAndData(o._root),{state:o,tree:s}}))}match(n){return this.processSegmentGroup(this.injector,this.config,n.root,oe).pipe(Br(i=>{throw i instanceof dd?this.noMatchError(i):i}))}inheritParamsAndData(n){const t=n.value,i=KE(t,this.paramsInheritanceStrategy);t.params=Object.freeze(i.params),t.data=Object.freeze(i.data),n.children.forEach(r=>this.inheritParamsAndData(r))}processSegmentGroup(n,t,i,r){return 0===i.segments.length&&i.hasChildren()?this.processChildren(n,t,i):this.processSegment(n,t,i,i.segments,r,!0)}processChildren(n,t,i){const r=[];for(const o of Object.keys(i.children))"primary"===o?r.unshift(o):r.push(o);return pt(r).pipe(ls(o=>{const s=i.children[o],a=function q3(e,n){const t=e.filter(i=>Jn(i)===n);return t.push(...e.filter(i=>Jn(i)!==n)),t}(t,o);return this.processSegmentGroup(n,a,s,o)}),function Zj(e,n){return ze(function Yj(e,n,t,i,r){return(o,s)=>{let a=t,l=n,c=0;o.subscribe(Ve(s,u=>{const d=c++;l=a?e(l,u,d):(a=!0,u),i&&s.next(l)},r&&(()=>{a&&s.next(l),s.complete()})))}}(e,n,arguments.length>=2,!0))}((o,s)=>(o.push(...s),o)),Qu(null),function Jj(e,n){const t=arguments.length>=2;return i=>i.pipe(e?vt((r,o)=>e(r,o,i)):Pn,Qg(1),t?Qu(n):ME(()=>new Xu))}(),ht(o=>{if(null===o)return vs(i);const s=pT(o);return function NH(e){e.sort((n,t)=>n.value.outlet===oe?-1:t.value.outlet===oe?1:n.value.outlet.localeCompare(t.value.outlet))}(s),J(s)}))}processSegment(n,t,i,r,o,s){return pt(t).pipe(ls(a=>this.processSegmentAgainstRoute(a._injector??n,t,a,i,r,o,s).pipe(Br(l=>{if(l instanceof dd)return J(null);throw l}))),Vr(a=>!!a),Br(a=>{if(cT(a))return function SH(e,n,t){return 0===n.length&&!e.children[t]}(i,r,o)?J([]):vs(i);throw a}))}processSegmentAgainstRoute(n,t,i,r,o,s,a){return function TH(e,n,t,i){return!!(Jn(e)===i||i!==oe&&fd(n,t,e))&&("**"===e.path||pm(n,e,t).matched)}(i,r,o,s)?void 0===i.redirectTo?this.matchSegmentAgainstRoute(n,r,i,o,s,a):a&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(n,r,t,i,o,s):vs(r):vs(r)}expandSegmentAgainstRouteUsingRedirect(n,t,i,r,o,s){return"**"===r.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(n,i,r,s):this.expandRegularSegmentAgainstRouteUsingRedirect(n,t,i,r,o,s)}expandWildCardWithParamsAgainstRouteUsingRedirect(n,t,i,r){const o=this.applyRedirects.applyRedirectCommands([],i.redirectTo,{});return i.redirectTo.startsWith("/")?fT(o):this.applyRedirects.lineralizeSegments(i,o).pipe(ht(s=>{const a=new Pe(s,{});return this.processSegment(n,t,a,s,r,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(n,t,i,r,o,s){const{matched:a,consumedSegments:l,remainingSegments:c,positionalParamSegments:u}=pm(t,r,o);if(!a)return vs(t);const d=this.applyRedirects.applyRedirectCommands(l,r.redirectTo,u);return r.redirectTo.startsWith("/")?fT(d):this.applyRedirects.lineralizeSegments(r,d).pipe(ht(h=>this.processSegment(n,i,t,h.concat(c),s,!1)))}matchSegmentAgainstRoute(n,t,i,r,o,s){let a;if("**"===i.path){const l=r.length>0?OE(r).parameters:{};a=J({snapshot:new ad(r,l,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,gT(i),Jn(i),i.component??i._loadedComponent??null,i,mT(i)),consumedSegments:[],remainingSegments:[]}),t.children={}}else a=bH(t,i,r,n).pipe(ae(({matched:l,consumedSegments:c,remainingSegments:u,parameters:d})=>l?{snapshot:new ad(c,d,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,gT(i),Jn(i),i.component??i._loadedComponent??null,i,mT(i)),consumedSegments:c,remainingSegments:u}:null));return a.pipe(wn(l=>null===l?vs(t):this.getChildConfig(n=i._injector??n,i,r).pipe(wn(({routes:c})=>{const u=i._loadedInjector??n,{snapshot:d,consumedSegments:h,remainingSegments:_}=l,{segmentGroup:v,slicedSegments:y}=hT(t,h,_,c);if(0===y.length&&v.hasChildren())return this.processChildren(u,c,v).pipe(ae(M=>null===M?null:[new ki(d,M)]));if(0===c.length&&0===y.length)return J([new ki(d,[])]);const D=Jn(i)===o;return this.processSegment(u,c,v,y,D?oe:o,!0).pipe(ae(M=>[new ki(d,M)]))}))))}getChildConfig(n,t,i){return t.children?J({routes:t.children,injector:n}):t.loadChildren?void 0!==t._loadedRoutes?J({routes:t._loadedRoutes,injector:t._loadedInjector}):function gH(e,n,t,i){const r=n.canLoad;return void 0===r||0===r.length?J(!0):J(r.map(s=>{const a=ms(s,e);return ar(function tH(e){return e&&gl(e.canLoad)}(a)?a.canLoad(n,t):e.runInContext(()=>a(n,t)))})).pipe(_s(),uT())}(n,t,i).pipe(ht(r=>r?this.configLoader.loadChildren(n,t).pipe(wt(o=>{t._loadedRoutes=o.routes,t._loadedInjector=o.injector})):function vH(e){return tl(oT(!1,3))}())):J({routes:[],injector:n})}}function OH(e){const n=e.value.routeConfig;return n&&""===n.path}function pT(e){const n=[],t=new Set;for(const i of e){if(!OH(i)){n.push(i);continue}const r=n.find(o=>i.value.routeConfig===o.value.routeConfig);void 0!==r?(r.children.push(...i.children),t.add(r)):n.push(i)}for(const i of t){const r=pT(i.children);n.push(new ki(i.value,r))}return n.filter(i=>!t.has(i))}function gT(e){return e.data||{}}function mT(e){return e.resolve||{}}function AH(e,n){return ht(t=>{const{targetSnapshot:i,guards:{canActivateChecks:r}}=t;if(!r.length)return J(t);let o=0;return pt(r).pipe(ls(s=>function RH(e,n,t,i){const r=e.routeConfig,o=e._resolve;return void 0!==r?.title&&!_T(r)&&(o[nl]=r.title),function kH(e,n,t,i){const r=function PH(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e)]}(e);if(0===r.length)return J({});const o={};return pt(r).pipe(ht(s=>function FH(e,n,t,i){const r=fl(n)??i,o=ms(e,r);return ar(o.resolve?o.resolve(n,t):r.runInContext(()=>o(n,t)))}(e[s],n,t,i).pipe(Vr(),wt(a=>{o[s]=a}))),Qg(1),function IE(e){return ae(()=>e)}(o),Br(s=>cT(s)?bn:tl(s)))}(o,e,n,i).pipe(ae(s=>(e._resolvedData=s,e.data=KE(e,t).resolve,r&&_T(r)&&(e.data[nl]=r.title),null)))}(s.route,i,e,n)),wt(()=>o++),Qg(1),ht(s=>o===r.length?J(t):bn))})}function _T(e){return"string"==typeof e.title||null===e.title}function gm(e){return wn(n=>{const t=e(n);return t?pt(t).pipe(ae(()=>n)):J(n)})}const ys=new z("ROUTES");let mm=(()=>{class e{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=F(ID)}loadComponent(t){if(this.componentLoaders.get(t))return this.componentLoaders.get(t);if(t._loadedComponent)return J(t._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(t);const i=ar(t.loadComponent()).pipe(ae(vT),wt(o=>{this.onLoadEndListener&&this.onLoadEndListener(t),t._loadedComponent=o}),Ga(()=>{this.componentLoaders.delete(t)})),r=new TE(i,()=>new Ee).pipe(Xg());return this.componentLoaders.set(t,r),r}loadChildren(t,i){if(this.childrenLoaders.get(i))return this.childrenLoaders.get(i);if(i._loadedRoutes)return J({routes:i._loadedRoutes,injector:i._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(i);const o=function LH(e,n,t,i){return ar(e.loadChildren()).pipe(ae(vT),ht(r=>r instanceof Vb||Array.isArray(r)?J(r):pt(n.compileModuleAsync(r))),ae(r=>{i&&i(e);let o,s,a=!1;return Array.isArray(r)?(s=r,!0):(o=r.create(t).injector,s=o.get(ys,[],{optional:!0,self:!0}).flat()),{routes:s.map(fm),injector:o}}))}(i,this.compiler,t,this.onLoadEndListener).pipe(Ga(()=>{this.childrenLoaders.delete(i)})),s=new TE(o,()=>new Ee).pipe(Xg());return this.childrenLoaders.set(i,s),s}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function vT(e){return function VH(e){return e&&"object"==typeof e&&"default"in e}(e)?e.default:e}let hd=(()=>{class e{get hasRequestedNavigation(){return 0!==this.navigationId}constructor(){this.currentNavigation=null,this.currentTransition=null,this.lastSuccessfulNavigation=null,this.events=new Ee,this.transitionAbortSubject=new Ee,this.configLoader=F(mm),this.environmentInjector=F(zt),this.urlSerializer=F(rl),this.rootContexts=F(ul),this.inputBindingEnabled=null!==F(ld,{optional:!0}),this.navigationId=0,this.afterPreactivation=()=>J(void 0),this.rootComponentType=null,this.configLoader.onLoadEndListener=r=>this.events.next(new O3(r)),this.configLoader.onLoadStartListener=r=>this.events.next(new N3(r))}complete(){this.transitions?.complete()}handleNavigationRequest(t){const i=++this.navigationId;this.transitions?.next({...this.transitions.value,...t,id:i})}setupNavigations(t,i,r){return this.transitions=new Dn({id:0,currentUrlTree:i,currentRawUrl:i,currentBrowserUrl:i,extractedUrl:t.urlHandlingStrategy.extract(i),urlAfterRedirects:t.urlHandlingStrategy.extract(i),rawUrl:i,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:ll,restoredState:null,currentSnapshot:r.snapshot,targetSnapshot:null,currentRouterState:r,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe(vt(o=>0!==o.id),ae(o=>({...o,extractedUrl:t.urlHandlingStrategy.extract(o.rawUrl)})),wn(o=>{this.currentTransition=o;let s=!1,a=!1;return J(o).pipe(wt(l=>{this.currentNavigation={id:l.id,initialUrl:l.rawUrl,extractedUrl:l.extractedUrl,trigger:l.source,extras:l.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null}}),wn(l=>{const c=l.currentBrowserUrl.toString(),u=!t.navigated||l.extractedUrl.toString()!==c||c!==l.currentUrlTree.toString();if(!u&&"reload"!==(l.extras.onSameUrlNavigation??t.onSameUrlNavigation)){const h="";return this.events.next(new ps(l.id,this.urlSerializer.serialize(l.rawUrl),h,0)),l.resolve(null),bn}if(t.urlHandlingStrategy.shouldProcessUrl(l.rawUrl))return J(l).pipe(wn(h=>{const _=this.transitions?.getValue();return this.events.next(new od(h.id,this.urlSerializer.serialize(h.extractedUrl),h.source,h.restoredState)),_!==this.transitions?.getValue()?bn:Promise.resolve(h)}),function xH(e,n,t,i,r,o){return ht(s=>function MH(e,n,t,i,r,o,s="emptyOnly"){return new IH(e,n,t,i,r,s,o).recognize()}(e,n,t,i,s.extractedUrl,r,o).pipe(ae(({state:a,tree:l})=>({...s,targetSnapshot:a,urlAfterRedirects:l}))))}(this.environmentInjector,this.configLoader,this.rootComponentType,t.config,this.urlSerializer,t.paramsInheritanceStrategy),wt(h=>{o.targetSnapshot=h.targetSnapshot,o.urlAfterRedirects=h.urlAfterRedirects,this.currentNavigation={...this.currentNavigation,finalUrl:h.urlAfterRedirects};const _=new YE(h.id,this.urlSerializer.serialize(h.extractedUrl),this.urlSerializer.serialize(h.urlAfterRedirects),h.targetSnapshot);this.events.next(_)}));if(u&&t.urlHandlingStrategy.shouldProcessUrl(l.currentRawUrl)){const{id:h,extractedUrl:_,source:v,restoredState:y,extras:D}=l,M=new od(h,this.urlSerializer.serialize(_),v,y);this.events.next(M);const C=QE(0,this.rootComponentType).snapshot;return this.currentTransition=o={...l,targetSnapshot:C,urlAfterRedirects:_,extras:{...D,skipLocationChange:!1,replaceUrl:!1}},J(o)}{const h="";return this.events.next(new ps(l.id,this.urlSerializer.serialize(l.extractedUrl),h,1)),l.resolve(null),bn}}),wt(l=>{const c=new T3(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects),l.targetSnapshot);this.events.next(c)}),ae(l=>(this.currentTransition=o={...l,guards:J3(l.targetSnapshot,l.currentSnapshot,this.rootContexts)},o)),function aH(e,n){return ht(t=>{const{targetSnapshot:i,currentSnapshot:r,guards:{canActivateChecks:o,canDeactivateChecks:s}}=t;return 0===s.length&&0===o.length?J({...t,guardsResult:!0}):function lH(e,n,t,i){return pt(e).pipe(ht(r=>function pH(e,n,t,i,r){const o=n&&n.routeConfig?n.routeConfig.canDeactivate:null;return o&&0!==o.length?J(o.map(a=>{const l=fl(n)??r,c=ms(a,l);return ar(function rH(e){return e&&gl(e.canDeactivate)}(c)?c.canDeactivate(e,n,t,i):l.runInContext(()=>c(e,n,t,i))).pipe(Vr())})).pipe(_s()):J(!0)}(r.component,r.route,t,n,i)),Vr(r=>!0!==r,!0))}(s,i,r,e).pipe(ht(a=>a&&function eH(e){return"boolean"==typeof e}(a)?function cH(e,n,t,i){return pt(n).pipe(ls(r=>el(function dH(e,n){return null!==e&&n&&n(new x3(e)),J(!0)}(r.route.parent,i),function uH(e,n){return null!==e&&n&&n(new R3(e)),J(!0)}(r.route,i),function hH(e,n,t){const i=n[n.length-1],o=n.slice(0,n.length-1).reverse().map(s=>function X3(e){const n=e.routeConfig?e.routeConfig.canActivateChild:null;return n&&0!==n.length?{node:e,guards:n}:null}(s)).filter(s=>null!==s).map(s=>EE(()=>J(s.guards.map(l=>{const c=fl(s.node)??t,u=ms(l,c);return ar(function iH(e){return e&&gl(e.canActivateChild)}(u)?u.canActivateChild(i,e):c.runInContext(()=>u(i,e))).pipe(Vr())})).pipe(_s())));return J(o).pipe(_s())}(e,r.path,t),function fH(e,n,t){const i=n.routeConfig?n.routeConfig.canActivate:null;if(!i||0===i.length)return J(!0);const r=i.map(o=>EE(()=>{const s=fl(n)??t,a=ms(o,s);return ar(function nH(e){return e&&gl(e.canActivate)}(a)?a.canActivate(n,e):s.runInContext(()=>a(n,e))).pipe(Vr())}));return J(r).pipe(_s())}(e,r.route,t))),Vr(r=>!0!==r,!0))}(i,o,e,n):J(a)),ae(a=>({...t,guardsResult:a})))})}(this.environmentInjector,l=>this.events.next(l)),wt(l=>{if(o.guardsResult=l.guardsResult,Hr(l.guardsResult))throw rT(0,l.guardsResult);const c=new S3(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects),l.targetSnapshot,!!l.guardsResult);this.events.next(c)}),vt(l=>!!l.guardsResult||(this.cancelNavigationTransition(l,"",3),!1)),gm(l=>{if(l.guards.canActivateChecks.length)return J(l).pipe(wt(c=>{const u=new M3(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(u)}),wn(c=>{let u=!1;return J(c).pipe(AH(t.paramsInheritanceStrategy,this.environmentInjector),wt({next:()=>u=!0,complete:()=>{u||this.cancelNavigationTransition(c,"",2)}}))}),wt(c=>{const u=new I3(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(u)}))}),gm(l=>{const c=u=>{const d=[];u.routeConfig?.loadComponent&&!u.routeConfig._loadedComponent&&d.push(this.configLoader.loadComponent(u.routeConfig).pipe(wt(h=>{u.component=h}),ae(()=>{})));for(const h of u.children)d.push(...c(h));return d};return Jg(c(l.targetSnapshot.root)).pipe(Qu(),xt(1))}),gm(()=>this.afterPreactivation()),ae(l=>{const c=function B3(e,n,t){const i=dl(e,n._root,t?t._root:void 0);return new XE(i,n)}(t.routeReuseStrategy,l.targetSnapshot,l.currentRouterState);return this.currentTransition=o={...l,targetRouterState:c},o}),wt(()=>{this.events.next(new rm)}),((e,n,t,i)=>ae(r=>(new Z3(n,r.targetRouterState,r.currentRouterState,t,i).activate(e),r)))(this.rootContexts,t.routeReuseStrategy,l=>this.events.next(l),this.inputBindingEnabled),xt(1),wt({next:l=>{s=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new lr(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects))),t.titleStrategy?.updateTitle(l.targetRouterState.snapshot),l.resolve(!0)},complete:()=>{s=!0}}),Ke(this.transitionAbortSubject.pipe(wt(l=>{throw l}))),Ga(()=>{s||a||this.cancelNavigationTransition(o,"",1),this.currentNavigation?.id===o.id&&(this.currentNavigation=null)}),Br(l=>{if(a=!0,sT(l))this.events.next(new cl(o.id,this.urlSerializer.serialize(o.extractedUrl),l.message,l.cancellationCode)),function $3(e){return sT(e)&&Hr(e.url)}(l)?this.events.next(new om(l.url)):o.resolve(!1);else{this.events.next(new sd(o.id,this.urlSerializer.serialize(o.extractedUrl),l,o.targetSnapshot??void 0));try{o.resolve(t.errorHandler(l))}catch(c){o.reject(c)}}return bn}))}))}cancelNavigationTransition(t,i,r){const o=new cl(t.id,this.urlSerializer.serialize(t.extractedUrl),i,r);this.events.next(o),t.resolve(!1)}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function yT(e){return e!==ll}let bT=(()=>{class e{buildTitle(t){let i,r=t.root;for(;void 0!==r;)i=this.getResolvedTitleForRoute(r)??i,r=r.children.find(o=>o.outlet===oe);return i}getResolvedTitleForRoute(t){return t.data[nl]}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:function(){return F(BH)},providedIn:"root"})}return e})(),BH=(()=>{class e extends bT{constructor(t){super(),this.title=t}updateTitle(t){const i=this.buildTitle(t);void 0!==i&&this.title.setTitle(i)}static#e=this.\u0275fac=function(i){return new(i||e)(H(Jw))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),jH=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:function(){return F($H)},providedIn:"root"})}return e})();class HH{shouldDetach(n){return!1}store(n,t){}shouldAttach(n){return!1}retrieve(n){return null}shouldReuseRoute(n,t){return n.routeConfig===t.routeConfig}}let $H=(()=>{class e extends HH{static#e=this.\u0275fac=function(){let t;return function(r){return(t||(t=ot(e)))(r||e)}}();static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const pd=new z("",{providedIn:"root",factory:()=>({})});let UH=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:function(){return F(GH)},providedIn:"root"})}return e})(),GH=(()=>{class e{shouldProcessUrl(t){return!0}extract(t){return t}merge(t,i){return t}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var ml=function(e){return e[e.COMPLETE=0]="COMPLETE",e[e.FAILED=1]="FAILED",e[e.REDIRECTING=2]="REDIRECTING",e}(ml||{});function DT(e,n){e.events.pipe(vt(t=>t instanceof lr||t instanceof cl||t instanceof sd||t instanceof ps),ae(t=>t instanceof lr||t instanceof ps?ml.COMPLETE:t instanceof cl&&(0===t.code||1===t.code)?ml.REDIRECTING:ml.FAILED),vt(t=>t!==ml.REDIRECTING),xt(1)).subscribe(()=>{n()})}function zH(e){throw e}function WH(e,n,t){return n.parse("/")}const qH={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},YH={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let Rn=(()=>{class e{get navigationId(){return this.navigationTransitions.navigationId}get browserPageId(){return"computed"!==this.canceledNavigationResolution?this.currentPageId:this.location.getState()?.\u0275routerPageId??this.currentPageId}get events(){return this._events}constructor(){this.disposed=!1,this.currentPageId=0,this.console=F(MD),this.isNgZoneEnabled=!1,this._events=new Ee,this.options=F(pd,{optional:!0})||{},this.pendingTasks=F(fu),this.errorHandler=this.options.errorHandler||zH,this.malformedUriErrorHandler=this.options.malformedUriErrorHandler||WH,this.navigated=!1,this.lastSuccessfulId=-1,this.urlHandlingStrategy=F(UH),this.routeReuseStrategy=F(jH),this.titleStrategy=F(bT),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.config=F(ys,{optional:!0})?.flat()??[],this.navigationTransitions=F(hd),this.urlSerializer=F(rl),this.location=F(Kp),this.componentInputBindingEnabled=!!F(ld,{optional:!0}),this.eventsSubscription=new tt,this.isNgZoneEnabled=F(fe)instanceof fe&&fe.isInAngularZone(),this.resetConfig(this.config),this.currentUrlTree=new hs,this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.routerState=QE(0,null),this.navigationTransitions.setupNavigations(this,this.currentUrlTree,this.routerState).subscribe(t=>{this.lastSuccessfulId=t.id,this.currentPageId=this.browserPageId},t=>{this.console.warn(`Unhandled Navigation Error: ${t}`)}),this.subscribeToNavigationEvents()}subscribeToNavigationEvents(){const t=this.navigationTransitions.events.subscribe(i=>{try{const{currentTransition:r}=this.navigationTransitions;if(null===r)return void(wT(i)&&this._events.next(i));if(i instanceof od)yT(r.source)&&(this.browserUrlTree=r.extractedUrl);else if(i instanceof ps)this.rawUrlTree=r.rawUrl;else if(i instanceof YE){if("eager"===this.urlUpdateStrategy){if(!r.extras.skipLocationChange){const o=this.urlHandlingStrategy.merge(r.urlAfterRedirects,r.rawUrl);this.setBrowserUrl(o,r)}this.browserUrlTree=r.urlAfterRedirects}}else if(i instanceof rm)this.currentUrlTree=r.urlAfterRedirects,this.rawUrlTree=this.urlHandlingStrategy.merge(r.urlAfterRedirects,r.rawUrl),this.routerState=r.targetRouterState,"deferred"===this.urlUpdateStrategy&&(r.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,r),this.browserUrlTree=r.urlAfterRedirects);else if(i instanceof cl)0!==i.code&&1!==i.code&&(this.navigated=!0),(3===i.code||2===i.code)&&this.restoreHistory(r);else if(i instanceof om){const o=this.urlHandlingStrategy.merge(i.url,r.currentRawUrl),s={skipLocationChange:r.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy||yT(r.source)};this.scheduleNavigation(o,ll,null,s,{resolve:r.resolve,reject:r.reject,promise:r.promise})}i instanceof sd&&this.restoreHistory(r,!0),i instanceof lr&&(this.navigated=!0),wT(i)&&this._events.next(i)}catch(r){this.navigationTransitions.transitionAbortSubject.next(r)}});this.eventsSubscription.add(t)}resetRootComponentType(t){this.routerState.root.component=t,this.navigationTransitions.rootComponentType=t}initialNavigation(){if(this.setUpLocationChangeListener(),!this.navigationTransitions.hasRequestedNavigation){const t=this.location.getState();this.navigateToSyncWithBrowser(this.location.path(!0),ll,t)}}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(t=>{const i="popstate"===t.type?"popstate":"hashchange";"popstate"===i&&setTimeout(()=>{this.navigateToSyncWithBrowser(t.url,i,t.state)},0)}))}navigateToSyncWithBrowser(t,i,r){const o={replaceUrl:!0},s=r?.navigationId?r:null;if(r){const l={...r};delete l.navigationId,delete l.\u0275routerPageId,0!==Object.keys(l).length&&(o.state=l)}const a=this.parseUrl(t);this.scheduleNavigation(a,i,s,o)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(t){this.config=t.map(fm),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(t,i={}){const{relativeTo:r,queryParams:o,fragment:s,queryParamsHandling:a,preserveFragment:l}=i,c=l?this.currentUrlTree.fragment:s;let d,u=null;switch(a){case"merge":u={...this.currentUrlTree.queryParams,...o};break;case"preserve":u=this.currentUrlTree.queryParams;break;default:u=o||null}null!==u&&(u=this.removeEmptyProps(u));try{d=HE(r?r.snapshot:this.routerState.snapshot.root)}catch{("string"!=typeof t[0]||!t[0].startsWith("/"))&&(t=[]),d=this.currentUrlTree.root}return $E(d,t,u,c??null)}navigateByUrl(t,i={skipLocationChange:!1}){const r=Hr(t)?t:this.parseUrl(t),o=this.urlHandlingStrategy.merge(r,this.rawUrlTree);return this.scheduleNavigation(o,ll,null,i)}navigate(t,i={skipLocationChange:!1}){return function ZH(e){for(let n=0;n{const o=t[r];return null!=o&&(i[r]=o),i},{})}scheduleNavigation(t,i,r,o,s){if(this.disposed)return Promise.resolve(!1);let a,l,c;s?(a=s.resolve,l=s.reject,c=s.promise):c=new Promise((d,h)=>{a=d,l=h});const u=this.pendingTasks.add();return DT(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(u))}),this.navigationTransitions.handleNavigationRequest({source:i,restoredState:r,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,currentBrowserUrl:this.browserUrlTree,rawUrl:t,extras:o,resolve:a,reject:l,promise:c,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),c.catch(d=>Promise.reject(d))}setBrowserUrl(t,i){const r=this.urlSerializer.serialize(t);if(this.location.isCurrentPathEqualTo(r)||i.extras.replaceUrl){const s={...i.extras.state,...this.generateNgRouterState(i.id,this.browserPageId)};this.location.replaceState(r,"",s)}else{const o={...i.extras.state,...this.generateNgRouterState(i.id,this.browserPageId+1)};this.location.go(r,"",o)}}restoreHistory(t,i=!1){if("computed"===this.canceledNavigationResolution){const o=this.currentPageId-this.browserPageId;0!==o?this.location.historyGo(o):this.currentUrlTree===this.getCurrentNavigation()?.finalUrl&&0===o&&(this.resetState(t),this.browserUrlTree=t.currentUrlTree,this.resetUrlToCurrentUrlTree())}else"replace"===this.canceledNavigationResolution&&(i&&this.resetState(t),this.resetUrlToCurrentUrlTree())}resetState(t){this.routerState=t.currentRouterState,this.currentUrlTree=t.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,t.rawUrl)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(t,i){return"computed"===this.canceledNavigationResolution?{navigationId:t,\u0275routerPageId:i}:{navigationId:t}}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function wT(e){return!(e instanceof rm||e instanceof om)}class CT{}let QH=(()=>{class e{constructor(t,i,r,o,s){this.router=t,this.injector=r,this.preloadingStrategy=o,this.loader=s}setUpPreloading(){this.subscription=this.router.events.pipe(vt(t=>t instanceof lr),ls(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(t,i){const r=[];for(const o of i){o.providers&&!o._injector&&(o._injector=yp(o.providers,t,`Route: ${o.path}`));const s=o._injector??t,a=o._loadedInjector??s;(o.loadChildren&&!o._loadedRoutes&&void 0===o.canLoad||o.loadComponent&&!o._loadedComponent)&&r.push(this.preloadConfig(s,o)),(o.children||o._loadedRoutes)&&r.push(this.processRoutes(a,o.children??o._loadedRoutes))}return pt(r).pipe(lo())}preloadConfig(t,i){return this.preloadingStrategy.preload(i,()=>{let r;r=i.loadChildren&&void 0===i.canLoad?this.loader.loadChildren(t,i):J(null);const o=r.pipe(ht(s=>null===s?J(void 0):(i._loadedRoutes=s.routes,i._loadedInjector=s.injector,this.processRoutes(s.injector??t,s.routes))));return i.loadComponent&&!i._loadedComponent?pt([o,this.loader.loadComponent(i)]).pipe(lo()):o})}static#e=this.\u0275fac=function(i){return new(i||e)(H(Rn),H(ID),H(zt),H(CT),H(mm))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const vm=new z("");let ET=(()=>{class e{constructor(t,i,r,o,s={}){this.urlSerializer=t,this.transitions=i,this.viewportScroller=r,this.zone=o,this.options=s,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},s.scrollPositionRestoration=s.scrollPositionRestoration||"disabled",s.anchorScrolling=s.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(t=>{t instanceof od?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=t.navigationTrigger,this.restoredId=t.restoredState?t.restoredState.navigationId:0):t instanceof lr?(this.lastId=t.id,this.scheduleScrollEvent(t,this.urlSerializer.parse(t.urlAfterRedirects).fragment)):t instanceof ps&&0===t.code&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(t,this.urlSerializer.parse(t.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(t=>{t instanceof ZE&&(t.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(t.position):t.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(t.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(t,i){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new ZE(t,"popstate"===this.lastSource?this.store[this.restoredId]:null,i))})},0)})}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}static#e=this.\u0275fac=function(i){!function S0(){throw new Error("invalid")}()};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();function Pi(e,n){return{\u0275kind:e,\u0275providers:n}}function ST(){const e=F(Nt);return n=>{const t=e.get(Ki);if(n!==t.components[0])return;const i=e.get(Rn),r=e.get(MT);1===e.get(ym)&&i.initialNavigation(),e.get(IT,null,ce.Optional)?.setUpPreloading(),e.get(vm,null,ce.Optional)?.init(),i.resetRootComponentType(t.componentTypes[0]),r.closed||(r.next(),r.complete(),r.unsubscribe())}}const MT=new z("",{factory:()=>new Ee}),ym=new z("",{providedIn:"root",factory:()=>1}),IT=new z("");function n$(e){return Pi(0,[{provide:IT,useExisting:QH},{provide:CT,useExisting:e}])}const NT=new z("ROUTER_FORROOT_GUARD"),r$=[Kp,{provide:rl,useClass:Kg},Rn,ul,{provide:$r,useFactory:function TT(e){return e.routerState.root},deps:[Rn]},mm,[]];function o$(){return new PD("Router",Rn)}let OT=(()=>{class e{constructor(t){}static forRoot(t,i){return{ngModule:e,providers:[r$,[],{provide:ys,multi:!0,useValue:t},{provide:NT,useFactory:c$,deps:[[Rn,new gc,new mc]]},{provide:pd,useValue:i||{}},i?.useHash?{provide:Rr,useClass:YF}:{provide:Rr,useClass:dw},{provide:vm,useFactory:()=>{const e=F(dV),n=F(fe),t=F(pd),i=F(hd),r=F(rl);return t.scrollOffset&&e.setOffset(t.scrollOffset),new ET(r,i,e,n,t)}},i?.preloadingStrategy?n$(i.preloadingStrategy).\u0275providers:[],{provide:PD,multi:!0,useFactory:o$},i?.initialNavigation?u$(i):[],i?.bindToComponentInputs?Pi(8,[iT,{provide:ld,useExisting:iT}]).\u0275providers:[],[{provide:xT,useFactory:ST},{provide:$p,multi:!0,useExisting:xT}]]}}static forChild(t){return{ngModule:e,providers:[{provide:ys,multi:!0,useValue:t}]}}static#e=this.\u0275fac=function(i){return new(i||e)(H(NT,8))};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})();function c$(e){return"guarded"}function u$(e){return["disabled"===e.initialNavigation?Pi(3,[{provide:kp,multi:!0,useFactory:()=>{const n=F(Rn);return()=>{n.setUpLocationChangeListener()}}},{provide:ym,useValue:2}]).\u0275providers:[],"enabledBlocking"===e.initialNavigation?Pi(2,[{provide:ym,useValue:0},{provide:kp,multi:!0,deps:[Nt],useFactory:n=>{const t=n.get(WF,Promise.resolve());return()=>t.then(()=>new Promise(i=>{const r=n.get(Rn),o=n.get(MT);DT(r,()=>{i(!0)}),n.get(hd).afterPreactivation=()=>(i(!0),o.closed?J(void 0):o),r.initialNavigation()}))}}]).\u0275providers:[]]}const xT=new z("");class AT{constructor(n={}){this.term=n.term||""}}function f$(e,n){if(1&e&&(p(0,"li")(1,"a",12),m(2),f()()),2&e){const t=n.$implicit;g(1),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id)}}function h$(e,n){if(1&e&&(p(0,"div",25)(1,"ul"),I(2,f$,3,2,"li",4),f()()),2&e){const t=T(3).$implicit;g(2),S("ngForOf",t.inputs)}}function p$(e,n){if(1&e&&(p(0,"div")(1,"div",26)(2,"p",21)(3,"a",12),m(4),f(),p(5,"button",22),m(6),f()()()()),2&e){const t=n.$implicit;g(3),U("href","/explorer?term=",t.to,"",W),g(1),A(t.to),g(2),V("",t.value.toFixed(6)," YDA")}}function g$(e,n){if(1&e){const t=st();p(0,"div")(1,"div",11)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",12),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",12),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Fee: "),f(),m(15),f(),p(16,"div",13)(17,"div",14)(18,"p")(19,"strong"),m(20,"Inputs:"),f(),m(21),f(),p(22,"div",15)(23,"button",16),Z("click",function(){return Je(t),Xe(T(3).toggleAccordion("inputsAccordion"))}),m(24,"Show Inputs"),f(),I(25,h$,3,1,"div",17),f(),p(26,"p")(27,"strong"),m(28,"Outputs:"),f(),m(29),f()()(),p(30,"div",18)(31,"div",19)(32,"div",20)(33,"p",21)(34,"a",12),m(35),f(),p(36,"button",22),m(37),f()()()(),p(38,"div",23),Ae(39,"img",24),f(),p(40,"div",19),I(41,p$,7,3,"div",4),f()()()()}if(2&e){const t=T(2).$implicit,i=T();g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V("",t.fee," YDA"),g(6),V(" ",t.inputs.length,""),g(4),S("ngIf","inputsAccordion"===i.showAccordion),g(4),V(" ",t.outputs.length,""),g(5),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to),g(2),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function m$(e,n){if(1&e&&(p(0,"div")(1,"div",11)(2,"p",27)(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",12),m(6),f()(),p(7,"p",27)(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",12),m(11),f()(),p(12,"p",27)(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",28)(17,"h4",29),m(18,"Relationship DATA:"),f(),p(19,"textarea",30),m(20),f()(),p(21,"div",31)(22,"div",26)(23,"button",32),m(24,"Newly created Address"),f(),p(25,"p",33)(26,"a",12),m(27),f()()()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship),g(6),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function _$(e,n){if(1&e&&(p(0,"div")(1,"div",11)(2,"p",27)(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",12),m(6),f()(),p(7,"p",27)(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",12),m(11),f()(),p(12,"p",27)(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",28)(17,"h4",29),m(18,"Relationship DATA:"),f(),p(19,"textarea",30),m(20),f()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship)}}function v$(e,n){if(1&e&&(p(0,"div")(1,"div",11)(2,"p",27)(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",12),m(6),f()(),p(7,"p",27)(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",12),m(11),f()(),p(12,"p",27)(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",28)(17,"h4",29),m(18,"Relationship DATA:"),f(),p(19,"textarea",30),m(20),f()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship)}}function y$(e,n){if(1&e&&(p(0,"tr",8)(1,"td",9),I(2,g$,42,12,"div",10),I(3,m$,28,8,"div",10),I(4,_$,21,6,"div",10),I(5,v$,21,6,"div",10),f()()),2&e){const t=T().$implicit,i=T();g(2),S("ngIf",i.transactionUtilsService.isTransferTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCreateIdentityTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isEncryptedMessageTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isMessageTransaction(t))}}const b$=function(e,n,t,i,r){return{coinbase:e,transfer:n,"create-identity":t,"encrypted-message":i,message:r}};function D$(e,n){if(1&e){const t=st();Zi(0),p(1,"tr",5),Z("click",function(){const o=Je(t).$implicit;return Xe(T().toggleDetails(o))}),p(2,"td"),m(3),f(),p(4,"td",3),m(5),f(),p(6,"td"),m(7),f(),p(8,"td")(9,"button",6),m(10),f()()(),I(11,y$,6,4,"tr",7),Ji()}if(2&e){const t=n.$implicit,i=T();g(3),A(i.dateFormatService.formatTransactionTime(t.time)),g(2),A(t.hash),g(2),up("",t.inputs.length," / ",t.outputs.length,""),g(2),S("ngClass",ns(7,b$,i.transactionUtilsService.isCoinbaseTransaction(t),i.transactionUtilsService.isTransferTransaction(t),i.transactionUtilsService.isCreateIdentityTransaction(t),i.transactionUtilsService.isEncryptedMessageTransaction(t),i.transactionUtilsService.isMessageTransaction(t))),g(1),V(" ",i.transactionUtilsService.getTransactionType(t)," "),g(1),S("ngIf",i.expandedTransaction&&i.expandedTransaction.id===t.id)}}let RT=(()=>{class e{constructor(t,i,r){this.httpClient=t,this.dateFormatService=i,this.transactionUtilsService=r,this.mempoolData=[],this.expandedTransaction=null,this.showAccordion=null}ngOnInit(){this.httpClient.get("/explorer-mempool").subscribe(t=>{this.mempoolData=t.result||[]},t=>{console.error("Error fetching mempool data:",t)})}toggleDetails(t){this.expandedTransaction=this.expandedTransaction===t?null:t}toggleAccordion(t){this.showAccordion=this.showAccordion===t?null:t}getTotalValue(t){return t.reduce((i,r)=>i+r.value,0)}static#e=this.\u0275fac=function(i){return new(i||e)(b(Wa),b(Zu),b(Ju))};static#t=this.\u0275cmp=Pt({type:e,selectors:[["app-mempool"]],decls:16,vars:1,consts:[[2,"text-transform","uppercase","margin","10px","margin-top","20px"],[1,"blocks-container"],[1,"blocks-table"],[1,"hash-column"],[4,"ngFor","ngForOf"],[3,"click"],[1,"transaction-type-button",3,"ngClass"],["class","expanded-row",4,"ngIf"],[1,"expanded-row"],["colspan","4"],[4,"ngIf"],[1,"transaction-details"],[3,"href"],[1,"row"],[1,"col-md-12"],[1,"input-section",2,"width","100%","display","inline-block","margin-top","5px"],[1,"accordion",3,"click"],["class","panel",4,"ngIf"],[1,"row","in-section",2,"margin-top","5px"],[1,"col-md-5"],[1,"transfer-in-info-box"],[2,"margin-left","10px"],[1,"transaction-value-button"],[1,"col-md-2","text-center"],["src","yadacoinstatic/explorer/assets/arrow-right.png","alt","Arrow Right",1,"arrow-icon"],[1,"panel"],[1,"transfer-out-info-box"],[1,"col-12"],[1,"relationship-data-box"],[2,"text-transform","uppercase","margin","10px"],["rows","4","readonly","",2,"width","98%"],[1,"in-section","col-md-5",2,"margin-top","5px"],[1,"transaction-type-button","create-identity"],[2,"margin-left","15px"]],template:function(i,r){1&i&&(p(0,"h2",0),m(1,"Mempool"),f(),p(2,"div",1)(3,"table",2)(4,"thead")(5,"tr")(6,"th"),m(7,"Time"),f(),p(8,"th",3),m(9,"Transaction Hash"),f(),p(10,"th"),m(11,"in/out"),f(),p(12,"th"),m(13,"Type"),f()()(),p(14,"tbody"),I(15,D$,12,13,"ng-container",4),f()()()),2&i&&(g(15),S("ngForOf",r.mempoolData))},dependencies:[Ou,qn,Yn]})}return e})();function w$(e,n){1&e&&(p(0,"div",9)(1,"strong"),m(2,"Loading..."),f()())}function C$(e,n){if(1&e&&(p(0,"div",10)(1,"strong"),m(2,"Your Balance:"),f(),m(3),f()),2&e){const t=T();g(3),V(" ",t.balance," ")}}let kT=(()=>{class e{constructor(t){this.httpClient=t,this.address="",this.balance=0,this.loading=!1}getBalance(){this.address&&(this.loading=!0,this.httpClient.get(`/explorer-get-balance?address=${this.address}`).subscribe(t=>{this.balance=t.balance,this.loading=!1},t=>{alert("Something went wrong while fetching the balance."),this.loading=!1}))}static#e=this.\u0275fac=function(i){return new(i||e)(b(Wa))};static#t=this.\u0275cmp=Pt({type:e,selectors:[["app-address-balance"]],decls:15,vars:5,consts:[[1,"button",2,"text-transform","uppercase","margin","10px","margin-top","20px"],[1,"address-balance-container"],["for","addressInput"],[2,"display","flex"],["id","addressInput","type","text",1,"search-container",3,"ngModel","ngModelChange"],[1,"button","btn-success",3,"disabled","click"],[2,"margin-top","10px"],["class","loading-message",4,"ngIf"],["class","result",4,"ngIf"],[1,"loading-message"],[1,"result"]],template:function(i,r){1&i&&(p(0,"h2",0),m(1,"Address Balance"),f(),p(2,"div",1)(3,"label",2),m(4,"Enter Your Wallet Address:"),f(),p(5,"div",3)(6,"input",4),Z("ngModelChange",function(s){return r.address=s}),f(),p(7,"button",5),Z("click",function(){return r.getBalance()}),m(8,"Get balance"),f()(),p(9,"div",6)(10,"strong"),m(11,"Your Address:"),f(),m(12),f(),I(13,w$,3,0,"div",7),I(14,C$,4,1,"div",8),f()),2&i&&(g(6),S("ngModel",r.address),g(1),S("disabled",r.loading),g(5),V(" ",r.address," "),g(1),S("ngIf",r.loading),g(1),S("ngIf",!r.loading&&null!==r.balance))},dependencies:[Yn,Ya,Rg,Yu],styles:[".address-balance-container[_ngcontent-%COMP%]{margin:10px;padding:20px;background-color:#424242;border-radius:5px;color:#fff}label[_ngcontent-%COMP%]{display:block;margin-bottom:10px}input[_ngcontent-%COMP%]{flex:1;padding:10px;margin-bottom:10px;margin-right:10px}button.btn-success[_ngcontent-%COMP%]{background-color:green;color:#fff;padding:8px 20px;border:none;cursor:pointer;transition:background .3s ease;border-radius:5px;height:40px}.loading-message[_ngcontent-%COMP%], .result[_ngcontent-%COMP%]{margin-top:10px}"]})}return e})();function E$(e,n){if(1&e&&(p(0,"li")(1,"a",11),m(2),f()()),2&e){const t=n.$implicit;g(1),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id)}}function T$(e,n){if(1&e&&(p(0,"div",27)(1,"ul"),I(2,E$,3,2,"li",4),f()()),2&e){const t=T(3).$implicit;g(2),S("ngForOf",t.inputs)}}function S$(e,n){if(1&e&&(p(0,"div")(1,"div",28)(2,"p",22)(3,"a",11),m(4),f(),p(5,"button",23),m(6),f()()()()),2&e){const t=n.$implicit;g(3),U("href","/explorer?term=",t.to,"",W),g(1),A(t.to),g(2),V("",t.value.toFixed(6)," YDA")}}function M$(e,n){if(1&e){const t=st();p(0,"div")(1,"div",15)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",11),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",11),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Fee: "),f(),m(15),f(),p(16,"p")(17,"strong"),m(18,"Inputs:"),f(),m(19),f(),p(20,"div",16)(21,"button",17),Z("click",function(){return Je(t),Xe(T(5).toggleAccordion("inputsAccordion"))}),m(22,"Show Inputs"),f(),I(23,T$,3,1,"div",18),f(),p(24,"p")(25,"strong"),m(26,"Outputs:"),f(),m(27),f(),p(28,"div",19)(29,"div",20)(30,"div",21)(31,"p",22)(32,"a",11),m(33),f(),p(34,"button",23),m(35),f()()()(),p(36,"div",24),Ae(37,"img",25),f(),p(38,"div",26),I(39,S$,7,3,"div",4),f()()()()}if(2&e){const t=T(2).$implicit,i=T(3);g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.fee," YDA"),g(4),V(" ",t.inputs.length,""),g(4),S("ngIf","inputsAccordion"===i.showAccordion),g(4),V(" ",t.outputs.length,""),g(5),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to),g(2),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function I$(e,n){if(1&e&&(p(0,"div"),I(1,M$,40,12,"div",14),f()),2&e){const t=T().index,i=T(2).index,r=T();g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function N$(e,n){if(1&e&&(p(0,"div")(1,"div",28)(2,"p",22)(3,"a",11),m(4),f(),p(5,"button",23),m(6),f()()()()),2&e){const t=n.$implicit;g(3),U("href","/explorer?term=",t.to,"",W),g(1),A(t.to),g(2),V("",t.value.toFixed(6)," YDA")}}function O$(e,n){if(1&e&&(p(0,"div")(1,"div",15)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",11),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",11),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Outputs:"),f(),m(15),f(),p(16,"div",19)(17,"div",20)(18,"div",21)(19,"p",22),m(20," (Newly Generated Coins) "),p(21,"button",23),m(22),f()()()(),p(23,"div",24),Ae(24,"img",25),f(),p(25,"div",26),I(26,N$,7,3,"div",4),f()()()()),2&e){const t=T(2).$implicit,i=T(3);g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.outputs.length,""),g(7),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function x$(e,n){if(1&e&&(p(0,"div"),I(1,O$,27,7,"div",14),f()),2&e){const t=T().index,i=T(2).index,r=T();g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function A$(e,n){if(1&e&&(p(0,"div")(1,"div",15)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",11),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",11),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",29)(17,"h4",30),m(18,"Relationship DATA:"),f(),p(19,"textarea",31),m(20),f()(),p(21,"div",20)(22,"div",28)(23,"button",32),m(24,"Newly created Address"),f(),p(25,"p",33)(26,"a",11),m(27),f()()()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship),g(6),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function R$(e,n){if(1&e&&(p(0,"div"),I(1,A$,28,8,"div",14),f()),2&e){const t=T().index,i=T(2).index,r=T();g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function k$(e,n){if(1&e&&(p(0,"div")(1,"div",15)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",11),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",11),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",29)(17,"h4",30),m(18,"Relationship DATA:"),f(),p(19,"textarea",31),m(20),f()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship)}}function P$(e,n){if(1&e&&(p(0,"div"),I(1,k$,21,6,"div",14),f()),2&e){const t=T().index,i=T(2).index,r=T();g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function F$(e,n){if(1&e&&(p(0,"div")(1,"div",15)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",11),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",11),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",29)(17,"h4",30),m(18,"Relationship DATA:"),f(),p(19,"textarea",31),m(20),f()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship)}}function L$(e,n){if(1&e&&(p(0,"div"),I(1,F$,21,6,"div",14),f()),2&e){const t=T().index,i=T(2).index,r=T();g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}const V$=function(e,n,t,i,r){return{coinbase:e,transfer:n,"create-identity":t,"encrypted-message":i,message:r}};function B$(e,n){if(1&e){const t=st();p(0,"li")(1,"button",13),Z("click",function(){const o=Je(t).index,s=T(2).index;return Xe(T().showTransactionDetails(s,o))}),m(2),f(),I(3,I$,2,1,"div",14),I(4,x$,2,1,"div",14),I(5,R$,2,1,"div",14),I(6,P$,2,1,"div",14),I(7,L$,2,1,"div",14),f()}if(2&e){const t=n.$implicit,i=T(3);g(1),S("ngClass",ns(7,V$,i.transactionUtilsService.isCoinbaseTransaction(t),i.transactionUtilsService.isTransferTransaction(t),i.transactionUtilsService.isCreateIdentityTransaction(t),i.transactionUtilsService.isEncryptedMessageTransaction(t),i.transactionUtilsService.isMessageTransaction(t))),g(1),V(" ",i.transactionUtilsService.getTransactionType(t)," "),g(1),S("ngIf",i.transactionUtilsService.isTransferTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCoinbaseTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCreateIdentityTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isEncryptedMessageTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isMessageTransaction(t))}}function j$(e,n){if(1&e&&(p(0,"tr",7)(1,"td",8)(2,"div",9)(3,"h2",10),m(4,"Block Details"),f(),p(5,"p")(6,"strong"),m(7,"Index: "),f(),p(8,"a",11),m(9),f()(),p(10,"p")(11,"strong"),m(12,"Time:"),f(),m(13),f(),p(14,"p")(15,"strong"),m(16,"Hash: "),f(),p(17,"a",11),m(18),f()(),p(19,"p")(20,"strong"),m(21,"Previous Hash: "),f(),p(22,"a",11),m(23),f()(),p(24,"p")(25,"strong"),m(26,"Nonce:"),f(),m(27),f(),p(28,"p")(29,"strong"),m(30,"Target:"),f(),m(31),f(),p(32,"p")(33,"strong"),m(34,"ID: "),f(),p(35,"a",11),m(36),f()(),p(37,"h3",12),m(38,"Transactions"),f(),p(39,"ul"),I(40,B$,8,13,"li",4),f()()()()),2&e){const t=T().$implicit,i=T();g(8),U("href","/explorer?term=",t.index,"",W),g(1),A(t.index),g(4),V(" ",i.dateFormatService.formatTransactionTime(t.time),""),g(4),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.prevHash,"",W),g(1),A(t.prevHash),g(4),V(" ",t.nonce,""),g(4),V(" ",t.target,""),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),S("ngForOf",t.transactions)}}function H$(e,n){if(1&e){const t=st();Zi(0),p(1,"tr",5),Z("click",function(){const o=Je(t).$implicit;return Xe(T().toggleDetails(o))}),p(2,"td"),m(3),f(),p(4,"td"),m(5),f(),p(6,"td"),m(7),f(),p(8,"td",3),m(9),f(),p(10,"td"),m(11),f()(),I(12,j$,41,12,"tr",6),Ji()}if(2&e){const t=n.$implicit,i=T();g(3),A(t.index),g(2),A(i.dateFormatService.formatTransactionTime(t.time)),g(2),A(i.calculateAge(t.time)),g(2),A(t.hash),g(2),A(t.transactions.length),g(1),S("ngIf",t.expanded)}}let $$=(()=>{class e{constructor(t,i,r){this.httpClient=t,this.dateFormatService=i,this.transactionUtilsService=r,this.blocks=[],this.showBlockTransactions=!1,this.showBlockTransactionDetails=[],this.searching=!1,this.showAccordion=null}ngOnInit(){this.loadLatestBlocks()}loadLatestBlocks(){this.httpClient.get("/explorer-latest").subscribe(t=>{this.blocks=t.result||[],this.searching=!1},t=>{console.error("Error fetching latest blocks:",t),alert("Something went wrong while fetching latest blocks!")})}showBlockDetails(t){console.log("Clicked block:",t),this.selectedBlock=t}toggleDetails(t){if(t.expanded)t.expanded=!1;else{this.blocks.forEach(r=>r.expanded=!1),t.expanded=!0;const i=this.blocks.indexOf(t);this.showBlockTransactionDetails[i]=[],this.selectedBlock=t}}showTransactions(){this.showBlockTransactions=!this.showBlockTransactions,this.showBlockTransactionDetails=[]}showTransactionDetails(t,i){console.log("Clicked transaction:",t,i),this.showBlockTransactionDetails[t][i]=!this.showBlockTransactionDetails[t][i]}numberWithCommas(t){return t.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")}formatHashrate(t){return t<1e3?`${t.toFixed(0)} h/s`:t<1e6?`${(t/1e3).toFixed(2)} kh/s`:`${(t/1e6).toFixed(2)} mh/s`}calculateAge(t){const i=(new Date).getTime(),r=new Date(1e3*t).getTime();console.log("Current Time:",new Date(i)),console.log("Block Time:",new Date(r));const o=i-r,s=Math.floor(o/6e4);return console.log("Difference:",o),console.log("Age in Minutes:",s),s<60?`${s} minutes ago`:`${Math.floor(s/60)} hours ago`}getTotalValue(t){return t.reduce((i,r)=>i+r.value,0)}toggleAccordion(t){this.showAccordion=this.showAccordion===t?null:t}static#e=this.\u0275fac=function(i){return new(i||e)(b(Wa),b(Zu),b(Ju))};static#t=this.\u0275cmp=Pt({type:e,selectors:[["app-latest-blocks"]],decls:18,vars:1,consts:[[2,"text-transform","uppercase","margin","10px","margin-top","20px"],[1,"blocks-container"],[1,"blocks-table"],[1,"hash-column"],[4,"ngFor","ngForOf"],[3,"click"],["class","expanded-row",4,"ngIf"],[1,"expanded-row"],["colspan","5"],[2,"word-break","break-word"],[2,"text-transform","uppercase","margin","20px","margin-top","10px"],[3,"href"],[2,"text-transform","uppercase","margin","20px","margin-top","20px"],[1,"transaction-type-button",3,"ngClass","click"],[4,"ngIf"],[1,"transaction-details"],[1,"input-section",2,"margin-top","5px"],[1,"accordion",3,"click"],["class","panel",4,"ngIf"],[1,"row","in-section"],[1,"in-section","col-md-5",2,"margin-top","5px"],[1,"transfer-in-info-box"],[2,"margin-left","10px"],[1,"transaction-value-button"],[1,"col-md-2","text-center"],["src","yadacoinstatic/explorer/assets/arrow-right.png","alt","Arrow Right",1,"arrow-icon"],[1,"out-section","col-md-5",2,"margin-top","5px"],[1,"panel"],[1,"transfer-out-info-box"],[1,"relationship-data-box"],[2,"text-transform","uppercase","margin","10px"],["rows","4","readonly","",2,"width","98%"],[1,"transaction-type-button","create-identity"],[2,"margin-left","15px"]],template:function(i,r){1&i&&(p(0,"h2",0),m(1,"Latest 10 Blocks"),f(),p(2,"div",1)(3,"table",2)(4,"thead")(5,"tr")(6,"th"),m(7,"Index"),f(),p(8,"th"),m(9,"Time"),f(),p(10,"th"),m(11,"Age"),f(),p(12,"th",3),m(13,"Hash"),f(),p(14,"th"),m(15,"Transactions"),f()()(),p(16,"tbody"),I(17,H$,13,6,"ng-container",4),f()()()),2&i&&(g(17),S("ngForOf",r.blocks))},dependencies:[Ou,qn,Yn]})}return e})(),U$=(()=>{class e{transform(t){return"string"==typeof t?t.replace(/,/g," "):t.toString().replace(/,/g," ")}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275pipe=Bt({name:"replaceComma",type:e,pure:!0})}return e})();function G$(e,n){1&e&&(p(0,"div")(1,"h1",24),m(2,"This is the alpha version of the Yadacoin block explorer."),f(),p(3,"h1",24),m(4,"Most functions should be operational. Please feel free to report any bugs or provide suggestions."),f(),p(5,"h1",24),m(6,"Thank you!"),f()())}function z$(e,n){1&e&&(Zi(0),p(1,"div",25)(2,"h2",26),m(3,"No results for searched phrase"),f()(),Ji())}function W$(e,n){1&e&&(p(0,"a",37),Ae(1,"i",38),m(2," Previous Block "),f()),2&e&&U("href","/explorer?term=",T().$implicit.index-1,"",W)}function q$(e,n){1&e&&(p(0,"a",39),m(1," Next Block "),Ae(2,"i",40),f()),2&e&&U("href","/explorer?term=",T().$implicit.index+1,"",W)}function Y$(e,n){if(1&e&&(p(0,"li")(1,"a",35),m(2),f()()),2&e){const t=n.$implicit;g(1),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id)}}function Z$(e,n){if(1&e&&(p(0,"div",55)(1,"ul"),I(2,Y$,3,2,"li",30),f()()),2&e){const t=T(3).$implicit;g(2),S("ngForOf",t.inputs)}}function J$(e,n){if(1&e&&(p(0,"div")(1,"div",56)(2,"p",51)(3,"a",35),m(4),f(),p(5,"button",52),m(6),f()()()()),2&e){const t=n.$implicit;g(3),U("href","/explorer?term=",t.to,"",W),g(1),A(t.to),g(2),V("",t.value.toFixed(6)," YDA")}}function X$(e,n){if(1&e){const t=st();p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",35),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",35),m(11),f()(),p(12,"div",15)(13,"div",44)(14,"p")(15,"strong"),m(16,"Inputs:"),f(),m(17),f(),p(18,"div",45)(19,"button",46),Z("click",function(){return Je(t),Xe(T(6).toggleAccordion("inputsAccordion"))}),m(20,"Show Inputs"),f(),I(21,Z$,3,1,"div",47),f(),p(22,"p")(23,"strong"),m(24,"Outputs:"),f(),m(25),f()()(),p(26,"div",48)(27,"div",49)(28,"div",50)(29,"p",51)(30,"a",35),m(31),f(),p(32,"button",52),m(33),f()()()(),p(34,"div",53),Ae(35,"img",54),f(),p(36,"div",49),I(37,J$,7,3,"div",30),f()()()()}if(2&e){const t=T(2).$implicit,i=T(4);g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(6),V(" ",t.inputs.length,""),g(4),S("ngIf","inputsAccordion"===i.showAccordion),g(4),V(" ",t.outputs.length,""),g(5),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to),g(2),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function Q$(e,n){if(1&e&&(p(0,"div"),I(1,X$,38,11,"div",22),f()),2&e){const t=T().index,i=T().index,r=T(3);g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function K$(e,n){if(1&e&&(p(0,"div")(1,"div",56)(2,"p",51)(3,"a",35),m(4),f(),p(5,"button",52),m(6),f()()()()),2&e){const t=n.$implicit;g(3),U("href","/explorer?term=",t.to,"",W),g(1),A(t.to),g(2),V("",t.value.toFixed(6)," YDA")}}function e4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",35),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",35),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Outputs:"),f(),m(15),f(),p(16,"div",48)(17,"div",49)(18,"div",50)(19,"p",51),m(20," (Newly Generated Coins) "),p(21,"button",52),m(22),f()()()(),p(23,"div",53),Ae(24,"img",54),f(),p(25,"div",49),I(26,K$,7,3,"div",30),f()()()()),2&e){const t=T(2).$implicit,i=T(4);g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.outputs.length,""),g(7),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function t4(e,n){if(1&e&&(p(0,"div"),I(1,e4,27,7,"div",22),f()),2&e){const t=T().index,i=T().index,r=T(3);g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function n4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",35),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",35),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",57)(17,"h4",58),m(18,"Relationship DATA:"),f(),p(19,"textarea",59),m(20),f()(),p(21,"div",48)(22,"div",60)(23,"div",56)(24,"button",61),m(25,"Newly created Address"),f(),p(26,"p",62)(27,"a",35),m(28),f()()()()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship),g(7),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function i4(e,n){if(1&e&&(p(0,"div"),I(1,n4,29,8,"div",22),f()),2&e){const t=T().index,i=T().index,r=T(3);g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function r4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",35),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",35),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",57)(17,"h4",58),m(18,"Relationship DATA:"),f(),p(19,"textarea",59),m(20),f()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship)}}function o4(e,n){if(1&e&&(p(0,"div"),I(1,r4,21,6,"div",22),f()),2&e){const t=T().index,i=T().index,r=T(3);g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function s4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",35),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",35),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",57)(17,"h4",58),m(18,"Relationship DATA:"),f(),p(19,"textarea",59),m(20),f()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship)}}function a4(e,n){if(1&e&&(p(0,"div"),I(1,s4,21,6,"div",22),f()),2&e){const t=T().index,i=T().index,r=T(3);g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}const bm=function(e,n,t,i,r){return{coinbase:e,transfer:n,"create-identity":t,"encrypted-message":i,message:r}};function l4(e,n){if(1&e){const t=st();p(0,"li")(1,"div",41)(2,"button",42),Z("click",function(){const o=Je(t).index,s=T().index;return Xe(T(3).showTransactionDetails(s,o))}),m(3),f(),I(4,Q$,2,1,"div",22),I(5,t4,2,1,"div",22),I(6,i4,2,1,"div",22),I(7,o4,2,1,"div",22),I(8,a4,2,1,"div",22),f()()}if(2&e){const t=n.$implicit,i=T(4);g(2),S("ngClass",ns(7,bm,i.transactionUtilsService.isCoinbaseTransaction(t),i.transactionUtilsService.isTransferTransaction(t),i.transactionUtilsService.isCreateIdentityTransaction(t),i.transactionUtilsService.isEncryptedMessageTransaction(t),i.transactionUtilsService.isMessageTransaction(t))),g(1),V(" ",i.transactionUtilsService.getTransactionType(t)," "),g(1),S("ngIf",i.transactionUtilsService.isTransferTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCoinbaseTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCreateIdentityTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isEncryptedMessageTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isMessageTransaction(t))}}function c4(e,n){if(1&e&&(p(0,"li")(1,"div",31),I(2,W$,3,1,"a",32),I(3,q$,3,1,"a",33),f(),p(4,"div",25)(5,"h2",34),m(6,"Block Details"),f(),p(7,"p")(8,"strong"),m(9,"Index: "),f(),p(10,"a",35),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Time:"),f(),m(15),f(),p(16,"p")(17,"strong"),m(18,"Hash: "),f(),p(19,"a",35),m(20),f()(),p(21,"p")(22,"strong"),m(23,"Previous Hash: "),f(),p(24,"a",35),m(25),f()(),p(26,"p")(27,"strong"),m(28,"Nonce:"),f(),m(29),f(),p(30,"p")(31,"strong"),m(32,"Target:"),f(),m(33),f(),p(34,"p")(35,"strong"),m(36,"ID: "),f(),p(37,"a",35),m(38),f()(),p(39,"h3",36),m(40,"Transactions"),f(),p(41,"ul"),I(42,l4,9,13,"li",30),f()()()),2&e){const t=n.$implicit,i=T(3);g(2),S("ngIf",0!==t.index),g(1),S("ngIf",t.index!==i.current_height),g(7),U("href","/explorer?term=",t.index,"",W),g(1),A(t.index),g(4),V(" ",t.time,""),g(4),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.prevHash,"",W),g(1),A(t.prevHash),g(4),V(" ",t.nonce,""),g(4),V(" ",t.target,""),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),S("ngForOf",t.transactions)}}function u4(e,n){if(1&e&&(p(0,"div")(1,"div",25)(2,"h3",27),m(3),f(),p(4,"h2",28),m(5),f()(),p(6,"ul",29),I(7,c4,43,14,"li",30),f()()),2&e){const t=T(2);g(3),V(" search result for ","block_height"===t.resultType?"block index":"block_hash"===t.resultType?"block hash":"block_id"===t.resultType?"block id":"",": "),g(2),V(" ","block_height"===t.resultType?t.result[0].index:"block_hash"===t.resultType?t.result[0].hash:"block_id"===t.resultType?t.result[0].id:""," "),g(2),S("ngForOf",t.result)}}const bs=function(e){return{"searched-item":e}};function d4(e,n){if(1&e&&(p(0,"li")(1,"a",71),m(2),f()()),2&e){const t=n.$implicit,i=T(7);g(1),U("href","/explorer?term=",t.id,"",W),S("ngClass",$n(3,bs,i.isSearchedItem(t.id))),g(1),A(t.id)}}function f4(e,n){if(1&e&&(p(0,"div",55)(1,"ul"),I(2,d4,3,5,"li",30),f()()),2&e){const t=T(3).$implicit;g(2),S("ngForOf",t.inputs)}}function h4(e,n){if(1&e&&(p(0,"div")(1,"div",56)(2,"p",51)(3,"a",35),m(4),f(),p(5,"button",52),m(6),f()()()()),2&e){const t=n.$implicit;g(3),U("href","/explorer?term=",t.to,"",W),g(1),A(t.to),g(2),V("",t.value.toFixed(6)," YDA")}}function p4(e,n){if(1&e){const t=st();p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Inputs:"),f(),m(5),f(),p(6,"div",72)(7,"button",46),Z("click",function(){return Je(t),Xe(T(5).toggleAccordion("inputsAccordion"))}),m(8,"Show Inputs"),f(),I(9,f4,3,1,"div",47),f(),p(10,"p")(11,"strong"),m(12,"Outputs:"),f(),m(13),f(),p(14,"div",73)(15,"div",49)(16,"div",50)(17,"p",51)(18,"a",35),m(19),f(),p(20,"button",52),m(21),f()()()(),p(22,"div",53),Ae(23,"img",54),f(),p(24,"div",49),I(25,h4,7,3,"div",30),f()()()()}if(2&e){const t=T(2).$implicit,i=T(3);g(5),V(" ",t.inputs.length,""),g(4),S("ngIf","inputsAccordion"===i.showAccordion),g(4),V(" ",t.outputs.length,""),g(5),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to),g(2),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function g4(e,n){if(1&e&&(p(0,"div")(1,"div",56)(2,"p",51)(3,"a",35),m(4),f(),p(5,"button",52),m(6),f()()()()),2&e){const t=n.$implicit;g(3),U("href","/explorer?term=",t.to,"",W),g(1),A(t.to),g(2),V("",t.value.toFixed(6)," YDA")}}function m4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Outputs:"),f(),m(5),f(),p(6,"div",73)(7,"div",49)(8,"div",50)(9,"p",51),m(10," (Newly Generated Coins) "),p(11,"button",52),m(12),f()()()(),p(13,"div",53),Ae(14,"img",54),f(),p(15,"div",49),I(16,g4,7,3,"div",30),f()()()()),2&e){const t=T(2).$implicit,i=T(3);g(5),V(" ",t.outputs.length,""),g(7),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function _4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Relationship Identifier:"),f(),m(5),f(),p(6,"div",57)(7,"h4",58),m(8,"Relationship DATA:"),f(),p(9,"textarea",59),m(10),f()(),p(11,"div",73)(12,"div",60)(13,"div",56)(14,"button",74),m(15,"Newly created Address"),f(),p(16,"p",62)(17,"a",35),m(18),f()()()()()()()),2&e){const t=T(2).$implicit;g(5),V(" ",t.rid,""),g(5),A(t.relationship),g(7),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function v4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Relationship Identifier:"),f(),m(5),f(),p(6,"div",57)(7,"h4",58),m(8,"Relationship DATA:"),f(),p(9,"textarea",59),m(10),f()()()()),2&e){const t=T(2).$implicit;g(5),V(" ",t.rid,""),g(5),A(t.relationship)}}function y4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Relationship Identifier:"),f(),m(5),f(),p(6,"div",57)(7,"h4",58),m(8,"Relationship DATA:"),f(),p(9,"textarea",59),m(10),f()()()()),2&e){const t=T(2).$implicit;g(5),V(" ",t.rid,""),g(5),A(t.relationship)}}function b4(e,n){if(1&e&&(p(0,"tr",68)(1,"td",69)(2,"div")(3,"h3",70),m(4,"included in the block"),f(),p(5,"p")(6,"strong"),m(7,"Index: "),f(),p(8,"a",35),m(9),f()(),p(10,"p")(11,"strong"),m(12,"Hash: "),f(),p(13,"a",35),m(14),f()(),p(15,"div",43)(16,"p")(17,"strong"),m(18,"Transaction Hash: "),f(),p(19,"a",71),m(20),f()(),p(21,"p")(22,"strong"),m(23,"Transaction ID: "),f(),p(24,"a",71),m(25),f()(),p(26,"p")(27,"strong"),m(28,"Time: "),f(),m(29),f(),p(30,"p")(31,"strong"),m(32,"Fee: "),f(),m(33),f(),I(34,p4,26,7,"div",22),I(35,m4,17,3,"div",22),I(36,_4,19,4,"div",22),I(37,v4,11,2,"div",22),I(38,y4,11,2,"div",22),f()()()()),2&e){const t=T().$implicit,i=T(3);g(8),U("href","/explorer?term=",t.blockIndex,"",W),g(1),A(t.blockIndex),g(4),U("href","/explorer?term=",t.blockHash,"",W),g(1),A(t.blockHash),g(5),U("href","/explorer?term=",t.hash,"",W),S("ngClass",$n(17,bs,i.isSearchedItem(t.hash))),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),S("ngClass",$n(19,bs,i.isSearchedItem(t.id))),g(1),A(t.id),g(4),V(" ",i.dateFormatService.formatTransactionTime(t.time),""),g(4),V(" ",t.fee," YDA"),g(1),S("ngIf",i.transactionUtilsService.isTransferTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCoinbaseTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCreateIdentityTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isEncryptedMessageTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isMessageTransaction(t))}}function D4(e,n){if(1&e){const t=st();Zi(0),p(1,"tr",65),Z("click",function(){const o=Je(t).$implicit;return Xe(T(3).toggleDetails(o))}),p(2,"td"),m(3),f(),p(4,"td",64),m(5),f(),p(6,"td"),m(7),f(),p(8,"td"),m(9),f(),p(10,"td")(11,"button",66),m(12),f()()(),I(13,b4,39,21,"tr",67),Ji()}if(2&e){const t=n.$implicit,i=T(3);g(3),A(i.dateFormatService.formatTransactionTime(t.time)),g(2),A(t.hash),g(2),A(t.inputs.length),g(2),A(t.outputs.length),g(2),S("ngClass",ns(7,bm,i.transactionUtilsService.isCoinbaseTransaction(t),i.transactionUtilsService.isTransferTransaction(t),i.transactionUtilsService.isCreateIdentityTransaction(t),i.transactionUtilsService.isEncryptedMessageTransaction(t),i.transactionUtilsService.isMessageTransaction(t))),g(1),V(" ",i.transactionUtilsService.getTransactionType(t)," "),g(1),S("ngIf",t.expanded)}}function w4(e,n){if(1&e&&(p(0,"div")(1,"div",25)(2,"h3",27),m(3),f(),p(4,"h2",28),m(5),f()(),p(6,"div",25)(7,"table",63)(8,"thead")(9,"tr")(10,"th"),m(11,"Time"),f(),p(12,"th",64),m(13,"Hash"),f(),p(14,"th"),m(15,"Inputs"),f(),p(16,"th"),m(17,"Outputs"),f(),p(18,"th"),m(19,"Type"),f()()(),p(20,"tbody"),I(21,D4,14,13,"ng-container",30),f()()()()),2&e){const t=T(2);g(3),V(" search result for ","txn_id"===t.resultType?"transaction id":"txn_hash"===t.resultType?"transaction hash":"",": "),g(2),V(" ",t.searchedId," "),g(16),S("ngForOf",t.result)}}function C4(e,n){if(1&e&&(p(0,"li")(1,"a",35),m(2),f()()),2&e){const t=n.$implicit;g(1),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id)}}function E4(e,n){if(1&e&&(p(0,"div",55)(1,"ul"),I(2,C4,3,2,"li",30),f()()),2&e){const t=T(2).$implicit;g(2),S("ngForOf",t.inputs)}}function T4(e,n){if(1&e&&(p(0,"div")(1,"div",56)(2,"p",51)(3,"a",71),m(4),f(),p(5,"button",52),m(6),f()()()()),2&e){const t=n.$implicit,i=T(7);g(3),U("href","/explorer?term=",t.to,"",W),S("ngClass",$n(4,bs,i.isSearchedItem(t.to))),g(1),V(" ",t.to," "),g(2),V("",t.value.toFixed(6)," YDA")}}function S4(e,n){if(1&e){const t=st();p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Inputs:"),f(),m(5),f(),p(6,"div",72)(7,"button",46),Z("click",function(){return Je(t),Xe(T(6).toggleAccordion("inputsAccordion"))}),m(8,"Show Inputs"),f(),I(9,E4,3,1,"div",47),f(),p(10,"p")(11,"strong"),m(12,"Outputs:"),f(),m(13),f(),p(14,"div",73)(15,"div",49)(16,"div",50)(17,"p",51)(18,"a",71),m(19),f(),p(20,"button",52),m(21),f()()()(),p(22,"div",53),Ae(23,"img",54),f(),p(24,"div",49),I(25,T4,7,6,"div",30),f()()()()}if(2&e){const t=T().$implicit,i=T(5);g(5),V(" ",t.inputs.length,""),g(4),S("ngIf","inputsAccordion"===i.showAccordion),g(4),V(" ",t.outputs.length,""),g(5),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),S("ngClass",$n(8,bs,i.isSearchedItem(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to))),g(1),V(" ",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to," "),g(2),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function M4(e,n){if(1&e&&(p(0,"div")(1,"div",56)(2,"p",51)(3,"a",71),m(4),f(),p(5,"button",52),m(6),f()()()()),2&e){const t=n.$implicit,i=T(7);g(3),U("href","/explorer?term=",t.to,"",W),S("ngClass",$n(4,bs,i.isSearchedItem(t.to))),g(1),V(" ",t.to," "),g(2),V("",t.value.toFixed(6)," YDA")}}function I4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Outputs:"),f(),m(5),f(),p(6,"div",73)(7,"div",49)(8,"div",50)(9,"p",51),m(10," (Newly Generated Coins) "),p(11,"button",52),m(12),f()()()(),p(13,"div",53),Ae(14,"img",54),f(),p(15,"div",49),I(16,M4,7,6,"div",30),f()()()()),2&e){const t=T().$implicit,i=T(5);g(5),V(" ",t.outputs.length,""),g(7),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function N4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Relationship Identifier:"),f(),m(5),f(),p(6,"div",57)(7,"h4",58),m(8,"Relationship DATA:"),f(),p(9,"textarea",59),m(10),f()(),p(11,"div",73)(12,"div",77)(13,"div",56)(14,"button",74),m(15,"Newly created Address"),f(),p(16,"p",62)(17,"a",35),m(18),f()()()()()()()),2&e){const t=T().$implicit;g(5),V(" ",t.rid,""),g(5),A(t.relationship),g(7),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function O4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Relationship Identifier:"),f(),m(5),f(),p(6,"div",57)(7,"h4",58),m(8,"Relationship DATA:"),f(),p(9,"textarea",59),m(10),f()()()()),2&e){const t=T().$implicit;g(5),V(" ",t.rid,""),g(5),A(t.relationship)}}function x4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Relationship Identifier:"),f(),m(5),f(),p(6,"div",57)(7,"h4",58),m(8,"Relationship DATA:"),f(),p(9,"textarea",59),m(10),f()()()()),2&e){const t=T().$implicit;g(5),V(" ",t.rid,""),g(5),A(t.relationship)}}function A4(e,n){if(1&e&&(p(0,"div",43)(1,"p")(2,"strong"),m(3,"Transaction Hash: "),f(),p(4,"a",35),m(5),f()(),p(6,"p")(7,"strong"),m(8,"Transaction ID: "),f(),p(9,"a",35),m(10),f()(),p(11,"p")(12,"strong"),m(13,"Time: "),f(),m(14),f(),p(15,"p")(16,"strong"),m(17,"Fee: "),f(),m(18),f(),I(19,S4,26,10,"div",22),I(20,I4,17,3,"div",22),I(21,N4,19,4,"div",22),I(22,O4,11,2,"div",22),I(23,x4,11,2,"div",22),f()),2&e){const t=n.$implicit,i=T(5);g(4),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",i.dateFormatService.formatTransactionTime(t.time),""),g(4),V(" ",t.fee," YDA"),g(1),S("ngIf",i.transactionUtilsService.isTransferTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCoinbaseTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCreateIdentityTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isEncryptedMessageTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isMessageTransaction(t))}}function R4(e,n){if(1&e&&(p(0,"tr",68)(1,"td",75)(2,"h2",34),m(3,"Transactions in Block "),p(4,"a",35),m(5),f()(),I(6,A4,24,11,"div",76),f()()),2&e){const t=T().$implicit;g(4),U("href","/explorer?term=",t.index,"",W),g(1),A(t.index),g(1),S("ngForOf",t.transactions)}}function k4(e,n){if(1&e){const t=st();Zi(0),p(1,"tr",65),Z("click",function(){const o=Je(t).$implicit;return Xe(T(3).toggleDetails(o))}),p(2,"td"),m(3),f(),p(4,"td"),m(5),f(),p(6,"td",64),m(7),f(),p(8,"td")(9,"button",66),m(10),f()()(),I(11,R4,7,3,"tr",67),Ji()}if(2&e){const t=n.$implicit,i=T(3);g(3),A(t.index),g(2),A(i.dateFormatService.formatTransactionTime(t.time)),g(2),A(t.hash),g(2),S("ngClass",ns(6,bm,i.transactionUtilsService.isCoinbaseTransaction(t.transactions[0]),i.transactionUtilsService.isTransferTransaction(t.transactions[0]),i.transactionUtilsService.isCreateIdentityTransaction(t.transactions[0]),i.transactionUtilsService.isEncryptedMessageTransaction(t.transactions[0]),i.transactionUtilsService.isMessageTransaction(t.transactions[0]))),g(1),V(" ",i.transactionUtilsService.getTransactionType(t.transactions[0])," "),g(1),S("ngIf",t.expanded)}}function P4(e,n){if(1&e&&(p(0,"div")(1,"div",25)(2,"h3",27),m(3),f(),p(4,"h2",28),m(5),f()(),p(6,"div",25)(7,"table",63)(8,"thead")(9,"tr")(10,"th"),m(11,"Block Index"),f(),p(12,"th"),m(13,"Time"),f(),p(14,"th",64),m(15,"Hash"),f(),p(16,"th"),m(17,"Type"),f()()(),p(18,"tbody"),I(19,k4,12,12,"ng-container",30),f()()()()),2&e){const t=T(2);g(3),V(" Search result for ","txn_outputs_to"===t.resultType?"transaction outputs to":"",": "),g(2),V(" ",t.searchedId," "),g(14),S("ngForOf",t.result)}}function F4(e,n){if(1&e&&(p(0,"div"),I(1,z$,4,0,"ng-container",22),I(2,u4,8,3,"div",22),I(3,w4,22,3,"div",22),I(4,P4,20,3,"div",22),f()),2&e){const t=T();g(1),S("ngIf",!t.result||t.result&&0===t.result.length),g(1),S("ngIf",("block_height"===t.resultType||"block_hash"===t.resultType||"block_id"===t.resultType)&&t.result&&t.result.length>0),g(1),S("ngIf",("txn_id"===t.resultType||"txn_hash"===t.resultType)&&t.result&&t.result.length>0),g(1),S("ngIf","txn_outputs_to"===t.resultType&&t.result&&t.result.length>0)}}function L4(e,n){1&e&&Ae(0,"app-latest-blocks")}function V4(e,n){1&e&&Ae(0,"app-address-balance")}function B4(e,n){1&e&&Ae(0,"app-mempool")}let PT=(()=>{class e{constructor(t,i,r,o){this.httpClient=t,this.route=i,this.dateFormatService=r,this.transactionUtilsService=o,this.title="explorer",this.model=new AT,this.result=[],this.searchedId="",this.searchedHash="",this.blocks=[],this.showBlockTransactions=!1,this.showBlockTransactionDetails=[[]],this.resultType="",this.balance=0,this.searching=!1,this.submitted=!1,this.current_height="",this.circulating="",this.hashrate="",this.difficulty="",this.selectedOption="Main Page",this.showAccordion=null,this.isCollapsed=!0,this.httpClient.get("/api-stats").subscribe(s=>{this.difficulty=this.numberWithCommas(s.stats.difficulty),this.hashrate=this.formatHashrate(s.stats.network_hash_rate),this.current_height=this.numberWithCommas(s.stats.height),this.circulating=this.numberWithCommas(s.stats.circulating)},s=>{console.error("Error fetching API stats:",s),alert("Something went wrong while fetching API stats!")}),this.route.queryParams.subscribe(s=>{const a=s.term;a&&(this.model=new AT({term:a}),this.onSubmit(),this.selectedOption="SearchResults")}),window.location.search&&(this.searching=!0,this.submitted=!0,this.httpClient.get("/explorer-search"+window.location.search).subscribe(s=>{this.result=s.result||[],this.resultType=s.resultType,this.balance=s.balance,this.searchedId=s.searchedId,this.searchedHash=s.searchedHash,this.searching=!1,this.selectedOption="SearchResults"},s=>{console.error("Error fetching explorer search:",s),alert("Something went wrong while fetching explorer search results!")}))}ngOnInit(){}onSubmit(){this.searching=!0,this.submitted=!0;const i=`/explorer-search?term=${encodeURIComponent(this.model.term)}`;this.httpClient.get(i).subscribe(r=>{this.result=r.result||[],this.resultType=r.resultType,this.balance=r.balance,this.searchedId=r.searchedId,this.searchedHash=r.searchedHash,this.searching=!1,this.selectedOption="SearchResults"},r=>{console.error("Error fetching explorer search:",r),alert("Something went wrong while fetching explorer search results!"),this.searching=!1})}showBlockDetails(t){console.log("Clicked block:",t),this.selectedBlock=t}toggleAccordion(t){this.showAccordion=this.showAccordion===t?null:t}toggleDetails(t){if(t.expanded)t.expanded=!1;else{this.blocks.forEach(r=>r.expanded=!1),t.expanded=!0;const i=this.blocks.indexOf(t);this.showBlockTransactionDetails[i]=this.showBlockTransactionDetails[i]||[],this.selectedBlock=t}}showTransactions(){this.showBlockTransactions=!this.showBlockTransactions,this.showBlockTransactionDetails=[]}showTransactionDetails(t,i){console.log("Clicked transaction:",t,i),this.showBlockTransactionDetails[t]||(this.showBlockTransactionDetails[t]=[]),this.showBlockTransactionDetails[t][i]=!this.showBlockTransactionDetails[t][i]}numberWithCommas(t){return t.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")}formatHashrate(t){return t<1e3?`${t.toFixed(0)} h/s`:t<1e6?`${(t/1e3).toFixed(2)} kh/s`:`${(t/1e6).toFixed(2)} mh/s`}calculateAge(t){const i=(new Date).getTime(),r=new Date(1e3*t).getTime();console.log("Current Time:",new Date(i)),console.log("Block Time:",new Date(r));const o=i-r,s=Math.floor(o/6e4);return console.log("Difference:",o),console.log("Age in Minutes:",s),s<60?`${s} minutes ago`:`${Math.floor(s/60)} hours ago`}getTotalValue(t){return t.reduce((i,r)=>i+r.value,0)}selectOption(t){this.selectedOption=t}logButtonClick(){console.log("Button clicked!")}isSearchedItem(t){return t.toLowerCase()===this.searchedId.toLowerCase()}static#e=this.\u0275fac=function(i){return new(i||e)(b(Wa),b($r),b(Zu),b(Ju))};static#t=this.\u0275cmp=Pt({type:e,selectors:[["app-root"]],decls:67,vars:16,consts:[[1,"content"],[1,"navbar","navbar-expand-lg","navbar-dark","bg-dark"],["src","yadacoinstatic/explorer/assets/yadalogo.png","alt","Yadacoin Logo",1,"logo"],["href","#",1,"navbar-brand",3,"click"],["type","button","data-toggle","collapse","data-target","#navbarNav","aria-controls","navbarNav","aria-expanded","false","aria-label","Toggle navigation",1,"navbar-toggler",3,"click"],[1,"navbar-toggler-icon"],["id","navbarNav",1,"collapse","navbar-collapse"],[1,"navbar-nav"],[1,"nav-item"],["href","#",1,"nav-link",3,"click"],[1,"form-inline","ml-auto",3,"ngSubmit"],["searchForm","ngForm"],["name","term","placeholder","Wallet address, Transaction Id, Block height, Block hash...",1,"form-control",3,"ngModel","ngModelChange"],["type","submit",1,"btn","btn-success"],[1,"container-fluid"],[1,"row"],[1,"col-12","col-md-6","col-lg-3"],[1,"result-box"],["src","yadacoinstatic/explorer/assets/network-height.png","alt","Network Height",1,"watermark"],["src","yadacoinstatic/explorer/assets/hashrate.png","alt","Network Hashrate",1,"watermark"],["src","yadacoinstatic/explorer/assets/difficulty.png","alt","Network Difficulty",1,"watermark"],["src","yadacoinstatic/explorer/assets/circulating-supply.png","alt","Circulating Supply",1,"watermark"],[4,"ngIf"],[1,"footer","fixed-bottom"],[2,"text-transform","uppercase","margin","20px","margin-top","25px","text-align","center"],[1,"blocks-container"],[2,"text-transform","uppercase","margin","20px","margin-top","25px","color","red"],[2,"text-transform","uppercase","margin","20px","margin-top","25px"],[2,"margin","20px","margin-top","10px","word-break","break-word"],[2,"list-style-type","none","padding","0","margin","0"],[4,"ngFor","ngForOf"],[1,"block-details"],["class","previous-button",3,"href",4,"ngIf"],["class","next-button",3,"href",4,"ngIf"],[2,"text-transform","uppercase","margin","20px","margin-top","10px"],[3,"href"],[2,"text-transform","uppercase","margin","20px","margin-top","20px"],[1,"previous-button",3,"href"],[1,"bi","bi-arrow-left"],[1,"next-button",3,"href"],[1,"bi","bi-arrow-right"],[1,"transaction-container"],[1,"transaction-type-button",3,"ngClass","click"],[1,"transaction-details"],[1,"col-md-12"],[1,"input-section",2,"width","100%","display","inline-block","margin-top","5px"],[1,"accordion",3,"click"],["class","panel",4,"ngIf"],[1,"row","in-section",2,"margin-top","5px"],[1,"col-md-5"],[1,"transfer-in-info-box"],[2,"margin-left","10px"],[1,"transaction-value-button"],[1,"col-md-2","text-center"],["src","yadacoinstatic/explorer/assets/arrow-right.png","alt","Arrow Right",1,"arrow-icon"],[1,"panel"],[1,"transfer-out-info-box"],[1,"relationship-data-box"],[2,"text-transform","uppercase","margin","10px"],["rows","4","readonly","",2,"width","98%"],[1,"col-md-6"],[1,"transaction-type-button","create-identity"],[2,"margin-left","15px"],[1,"blocks-table"],[1,"hash-column"],[3,"click"],[1,"transaction-type-button",3,"ngClass"],["class","expanded-row",4,"ngIf"],[1,"expanded-row"],["colspan","5"],[2,"text-transform","uppercase","margin-top","10px"],[3,"ngClass","href"],[1,"input-section"],[1,"row","in-section"],[1,"transaction-type-button","create-identity",2,"margin-bottom","10px","margin-left","10px"],["colspan","4"],["class","transaction-details",4,"ngFor","ngForOf"],[1,"col-md-4"]],template:function(i,r){1&i&&(p(0,"body")(1,"div",0)(2,"nav",1),Ae(3,"img",2),p(4,"a",3),Z("click",function(){return r.selectOption("Main Page")}),m(5,"Yadacoin Explorer"),f(),p(6,"button",4),Z("click",function(){return r.logButtonClick()}),Ae(7,"span",5),f(),p(8,"div",6)(9,"ul",7)(10,"li",8)(11,"a",9),Z("click",function(){return r.selectOption("Latest Blocks")}),m(12,"Latest Blocks"),f()(),p(13,"li",8)(14,"a",9),Z("click",function(){return r.selectOption("Mempool")}),m(15,"Mempool"),f()(),p(16,"li",8)(17,"a",9),Z("click",function(){return r.selectOption("Address Balance")}),m(18,"Address Balance"),f()()(),p(19,"form",10,11),Z("ngSubmit",function(){return r.onSubmit()}),p(21,"input",12),Z("ngModelChange",function(s){return r.model.term=s}),f(),p(22,"button",13),m(23,"Search"),f()()()(),p(24,"div",14)(25,"div",15)(26,"div",16)(27,"div",17),Ae(28,"img",18),p(29,"h5"),m(30,"Network Height"),f(),p(31,"h3"),m(32),au(33,"replaceComma"),f()()(),p(34,"div",16)(35,"div",17),Ae(36,"img",19),p(37,"h5"),m(38,"Network Hashrate"),f(),p(39,"h3"),m(40),f()()(),p(41,"div",16)(42,"div",17),Ae(43,"img",20),p(44,"h5"),m(45,"Network Difficulty"),f(),p(46,"h3"),m(47),au(48,"replaceComma"),f()()(),p(49,"div",16)(50,"div",17),Ae(51,"img",21),p(52,"h5"),m(53,"Circulating Supply"),f(),p(54,"h3"),m(55),au(56,"replaceComma"),f()()()()(),I(57,G$,7,0,"div",22),I(58,F4,5,4,"div",22),I(59,L4,1,0,"app-latest-blocks",22),I(60,V4,1,0,"app-address-balance",22),I(61,B4,1,0,"app-mempool",22),f(),p(62,"footer",23)(63,"p"),m(64,"YdaCoin Explorer v0.2.0 dev | by Rakni for YadaCoin 2024"),f(),p(65,"p"),m(66,"Donation Address YADA: 1Hx9hETwiuwFnXQ715bMBTahcjgF6DNhHL"),f()()()),2&i&&(g(21),S("ngModel",r.model.term),g(11),A(lu(33,10,r.current_height)),g(8),A(r.hashrate),g(7),A(lu(48,12,r.difficulty)),g(8),V("",lu(56,14,r.circulating)," YDA"),g(2),S("ngIf","Main Page"===r.selectedOption),g(1),S("ngIf","SearchResults"===r.selectedOption),g(1),S("ngIf","Latest Blocks"===r.selectedOption),g(1),S("ngIf","Address Balance"===r.selectedOption),g(1),S("ngIf","Mempool"===r.selectedOption))},dependencies:[Ou,qn,Yn,iE,Ya,Rg,UC,Yu,qu,RT,kT,$$,U$],styles:["body[_ngcontent-%COMP%]{background-color:silver;margin:30px 5%;color:#303030}.logo[_ngcontent-%COMP%]{width:50px;height:auto;margin-right:10px;margin-left:10px}.form-inline[_ngcontent-%COMP%]{width:100%;display:flex;justify-content:space-between;margin-left:10px;margin-top:5px}.form-control[_ngcontent-%COMP%]{flex:1}.btn[_ngcontent-%COMP%]{margin-left:10px;margin-right:20px}.navbar-nav[_ngcontent-%COMP%] .nav-item[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}.navbar-nav[_ngcontent-%COMP%]{margin-left:auto}.navbar-nav[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]{padding:.5rem 1rem}.navbar-nav[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]:hover{background-color:#ffffff1a}.navbar-toggler[_ngcontent-%COMP%]{margin-right:15px}.result-box[_ngcontent-%COMP%]{padding:10px;margin-right:10px;margin-top:20px;border-radius:5px;color:#fff;text-align:left;position:relative;background-color:#343a40}.result-box[_ngcontent-%COMP%] h5[_ngcontent-%COMP%], .result-box[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:10px;text-transform:uppercase;position:relative;z-index:1}.result-box[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-size:24px;font-weight:700}.watermark[_ngcontent-%COMP%]{width:auto;height:95%;object-fit:contain;position:absolute;top:0;right:0;z-index:0}.footer[_ngcontent-%COMP%]{background-color:#1f2428;color:#fff;padding:2px;text-align:center;position:fixed;bottom:0;font-size:12px}.footer[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:2px 0}"]})}return e})();const j4=[{path:"",component:PT},{path:"mempool",component:RT},{path:"address-balance",component:kT},{path:"**",redirectTo:"/"}];let H4=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({imports:[OT.forRoot(j4),OT]})}return e})();const $4=["addListener","removeListener"],U4=["addEventListener","removeEventListener"],G4=["on","off"];function At(e,n,t,i){if(se(t)&&(i=t,t=void 0),i)return At(e,n,t).pipe(Ng(i));const[r,o]=function q4(e){return se(e.addEventListener)&&se(e.removeEventListener)}(e)?U4.map(s=>a=>e[s](n,a,t)):function z4(e){return se(e.addListener)&&se(e.removeListener)}(e)?$4.map(FT(e,n)):function W4(e){return se(e.on)&&se(e.off)}(e)?G4.map(FT(e,n)):[];if(!r&&tf(e))return ht(s=>At(s,n,t))(ft(e));if(!r)throw new TypeError("Invalid event target");return new Ce(s=>{const a=(...l)=>s.next(1o(a)})}function FT(e,n){return t=>i=>e[t](n,i)}class Y4 extends tt{constructor(n,t){super()}schedule(n,t=0){return this}}const gd={setInterval(e,n,...t){const{delegate:i}=gd;return i?.setInterval?i.setInterval(e,n,...t):setInterval(e,n,...t)},clearInterval(e){const{delegate:n}=gd;return(n?.clearInterval||clearInterval)(e)},delegate:void 0},LT={now:()=>(LT.delegate||Date).now(),delegate:void 0};class _l{constructor(n,t=_l.now){this.schedulerActionCtor=n,this.now=t}schedule(n,t=0,i){return new this.schedulerActionCtor(this,n).schedule(i,t)}}_l.now=LT.now;const X4=new class J4 extends _l{constructor(n,t=_l.now){super(n,t),this.actions=[],this._active=!1}flush(n){const{actions:t}=this;if(this._active)return void t.push(n);let i;this._active=!0;do{if(i=n.execute(n.state,n.delay))break}while(n=t.shift());if(this._active=!1,i){for(;n=t.shift();)n.unsubscribe();throw i}}}(class Z4 extends Y4{constructor(n,t){super(n,t),this.scheduler=n,this.work=t,this.pending=!1}schedule(n,t=0){var i;if(this.closed)return this;this.state=n;const r=this.id,o=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(o,r,t)),this.pending=!0,this.delay=t,this.id=null!==(i=this.id)&&void 0!==i?i:this.requestAsyncId(o,this.id,t),this}requestAsyncId(n,t,i=0){return gd.setInterval(n.flush.bind(n,this),i)}recycleAsyncId(n,t,i=0){if(null!=i&&this.delay===i&&!1===this.pending)return t;null!=t&&gd.clearInterval(t)}execute(n,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(n,t);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(n,t){let r,i=!1;try{this.work(n)}catch(o){i=!0,r=o||new Error("Scheduled action threw falsy error")}if(i)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){const{id:n,scheduler:t}=this,{actions:i}=t;this.work=this.state=this.scheduler=null,this.pending=!1,Vi(i,this),null!=n&&(this.id=this.recycleAsyncId(t,n,null)),this.delay=null,super.unsubscribe()}}});const{isArray:K4}=Array;function jT(e){return 1===e.length&&K4(e[0])?e[0]:e}function Dm(...e){const n=Ul(e),t=jT(e);return t.length?new Ce(i=>{let r=t.map(()=>[]),o=t.map(()=>!1);i.add(()=>{r=o=null});for(let s=0;!i.closed&&s{if(r[s].push(a),r.every(l=>l.length)){const l=r.map(c=>c.shift());i.next(n?n(...l):l),r.some((c,u)=>!c.length&&o[u])&&i.complete()}},()=>{o[s]=!0,!r[s].length&&i.complete()}));return()=>{r=o=null}}):bn}function wm(...e){const n=Ul(e);return ze((t,i)=>{const r=e.length,o=new Array(r);let s=e.map(()=>!1),a=!1;for(let l=0;l{o[l]=c,!a&&!s[l]&&(s[l]=!0,(a=s.every(Pn))&&(s=null))},pr));t.subscribe(Ve(i,l=>{if(a){const c=[l,...o];i.next(n?n(...c):c)}}))})}Math,Math,Math;const xU=["*"],a8=["dialog"];function zr(e){return"string"==typeof e}function Wr(e){return null!=e}function Ss(e){return(e||document.body).getBoundingClientRect()}const yS={animation:!0,transitionTimerDelayMs:5},K8=()=>{},{transitionTimerDelayMs:eG}=yS,Tl=new Map,an=(e,n,t,i)=>{let r=i.context||{};const o=Tl.get(n);if(o)switch(i.runningTransition){case"continue":return bn;case"stop":e.run(()=>o.transition$.complete()),r=Object.assign(o.context,r),Tl.delete(n)}const s=t(n,i.animation,r)||K8;if(!i.animation||"none"===window.getComputedStyle(n).transitionProperty)return e.run(()=>s()),J(void 0).pipe(function X8(e){return n=>new Ce(t=>n.subscribe({next:s=>e.run(()=>t.next(s)),error:s=>e.run(()=>t.error(s)),complete:()=>e.run(()=>t.complete())}))}(e));const a=new Ee,l=new Ee,c=a.pipe(function t5(...e){return n=>el(n,J(...e))}(!0));Tl.set(n,{transition$:a,complete:()=>{l.next(),l.complete()},context:r});const u=function Q8(e){const{transitionDelay:n,transitionDuration:t}=window.getComputedStyle(e);return 1e3*(parseFloat(n)+parseFloat(t))}(n);return e.runOutsideAngular(()=>{const d=At(n,"transitionend").pipe(Ke(c),vt(({target:_})=>_===n));(function HT(...e){return 1===(e=jT(e)).length?ft(e[0]):new Ce(function e5(e){return n=>{let t=[];for(let i=0;t&&!n.closed&&i{if(t){for(let o=0;o{let o=function Q4(e){return e instanceof Date&&!isNaN(e)}(e)?+e-t.now():e;o<0&&(o=0);let s=0;return t.schedule(function(){r.closed||(r.next(s++),0<=i?this.schedule(void 0,i):r.complete())},o)})}(u+eG).pipe(Ke(c)),d,l).pipe(Ke(c)).subscribe(()=>{Tl.delete(n),e.run(()=>{s(),a.next(),a.complete()})})}),a.asObservable()};let Cd=(()=>{class e{constructor(){this.animation=yS.animation}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),IS=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})(),NS=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})(),AS=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})(),$m=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})();var Le=function(e){return e[e.Tab=9]="Tab",e[e.Enter=13]="Enter",e[e.Escape=27]="Escape",e[e.Space=32]="Space",e[e.PageUp=33]="PageUp",e[e.PageDown=34]="PageDown",e[e.End=35]="End",e[e.Home=36]="Home",e[e.ArrowLeft=37]="ArrowLeft",e[e.ArrowUp=38]="ArrowUp",e[e.ArrowRight=39]="ArrowRight",e[e.ArrowDown=40]="ArrowDown",e}(Le||{});typeof navigator<"u"&&navigator.userAgent&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||/Macintosh/.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2||/Android/.test(navigator.userAgent));const BS=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");function jS(e){const n=Array.from(e.querySelectorAll(BS)).filter(t=>-1!==t.tabIndex);return[n[0],n[n.length-1]]}new Date(1882,10,12),new Date(2174,10,25);let KS=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})(),nM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})();class Xr{constructor(n,t,i){this.nodes=n,this.viewRef=t,this.componentRef=i}}let KG=(()=>{class e{constructor(t,i){this._el=t,this._zone=i}ngOnInit(){this._zone.onStable.asObservable().pipe(xt(1)).subscribe(()=>{an(this._zone,this._el.nativeElement,(t,i)=>{i&&Ss(t),t.classList.add("show")},{animation:this.animation,runningTransition:"continue"})})}hide(){return an(this._zone,this._el.nativeElement,({classList:t})=>t.remove("show"),{animation:this.animation,runningTransition:"stop"})}static#e=this.\u0275fac=function(i){return new(i||e)(b(Se),b(fe))};static#t=this.\u0275cmp=Pt({type:e,selectors:[["ngb-modal-backdrop"]],hostAttrs:[2,"z-index","1055"],hostVars:6,hostBindings:function(i,r){2&i&&(Ir("modal-backdrop"+(r.backdropClass?" "+r.backdropClass:"")),ye("show",!r.animation)("fade",r.animation))},inputs:{animation:"animation",backdropClass:"backdropClass"},standalone:!0,features:[In],decls:0,vars:0,template:function(i,r){},encapsulation:2})}return e})();class iM{update(n){}close(n){}dismiss(n){}}const e6=["animation","ariaLabelledBy","ariaDescribedBy","backdrop","centered","fullscreen","keyboard","scrollable","size","windowClass","modalDialogClass"],t6=["animation","backdropClass"];class n6{_applyWindowOptions(n,t){e6.forEach(i=>{Wr(t[i])&&(n[i]=t[i])})}_applyBackdropOptions(n,t){t6.forEach(i=>{Wr(t[i])&&(n[i]=t[i])})}update(n){this._applyWindowOptions(this._windowCmptRef.instance,n),this._backdropCmptRef&&this._backdropCmptRef.instance&&this._applyBackdropOptions(this._backdropCmptRef.instance,n)}get componentInstance(){if(this._contentRef&&this._contentRef.componentRef)return this._contentRef.componentRef.instance}get closed(){return this._closed.asObservable().pipe(Ke(this._hidden))}get dismissed(){return this._dismissed.asObservable().pipe(Ke(this._hidden))}get hidden(){return this._hidden.asObservable()}get shown(){return this._windowCmptRef.instance.shown.asObservable()}constructor(n,t,i,r){this._windowCmptRef=n,this._contentRef=t,this._backdropCmptRef=i,this._beforeDismiss=r,this._closed=new Ee,this._dismissed=new Ee,this._hidden=new Ee,n.instance.dismissEvent.subscribe(o=>{this.dismiss(o)}),this.result=new Promise((o,s)=>{this._resolve=o,this._reject=s}),this.result.then(null,()=>{})}close(n){this._windowCmptRef&&(this._closed.next(n),this._resolve(n),this._removeModalElements())}_dismiss(n){this._dismissed.next(n),this._reject(n),this._removeModalElements()}dismiss(n){if(this._windowCmptRef)if(this._beforeDismiss){const t=this._beforeDismiss();!function mS(e){return e&&e.then}(t)?!1!==t&&this._dismiss(n):t.then(i=>{!1!==i&&this._dismiss(n)},()=>{})}else this._dismiss(n)}_removeModalElements(){const n=this._windowCmptRef.instance.hide(),t=this._backdropCmptRef?this._backdropCmptRef.instance.hide():J(void 0);n.subscribe(()=>{const{nativeElement:i}=this._windowCmptRef.location;i.parentNode.removeChild(i),this._windowCmptRef.destroy(),this._contentRef&&this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._windowCmptRef=null,this._contentRef=null}),t.subscribe(()=>{if(this._backdropCmptRef){const{nativeElement:i}=this._backdropCmptRef.location;i.parentNode.removeChild(i),this._backdropCmptRef.destroy(),this._backdropCmptRef=null}}),Dm(n,t).subscribe(()=>{this._hidden.next(),this._hidden.complete()})}}var Xm=function(e){return e[e.BACKDROP_CLICK=0]="BACKDROP_CLICK",e[e.ESC=1]="ESC",e}(Xm||{});let i6=(()=>{class e{constructor(t,i,r){this._document=t,this._elRef=i,this._zone=r,this._closed$=new Ee,this._elWithFocus=null,this.backdrop=!0,this.keyboard=!0,this.dismissEvent=new Y,this.shown=new Ee,this.hidden=new Ee}get fullscreenClass(){return!0===this.fullscreen?" modal-fullscreen":zr(this.fullscreen)?` modal-fullscreen-${this.fullscreen}-down`:""}dismiss(t){this.dismissEvent.emit(t)}ngOnInit(){this._elWithFocus=this._document.activeElement,this._zone.onStable.asObservable().pipe(xt(1)).subscribe(()=>{this._show()})}ngOnDestroy(){this._disableEventHandling()}hide(){const{nativeElement:t}=this._elRef,i={animation:this.animation,runningTransition:"stop"},s=Dm(an(this._zone,t,()=>t.classList.remove("show"),i),an(this._zone,this._dialogEl.nativeElement,()=>{},i));return s.subscribe(()=>{this.hidden.next(),this.hidden.complete()}),this._disableEventHandling(),this._restoreFocus(),s}_show(){const t={animation:this.animation,runningTransition:"continue"};Dm(an(this._zone,this._elRef.nativeElement,(o,s)=>{s&&Ss(o),o.classList.add("show")},t),an(this._zone,this._dialogEl.nativeElement,()=>{},t)).subscribe(()=>{this.shown.next(),this.shown.complete()}),this._enableEventHandling(),this._setFocus()}_enableEventHandling(){const{nativeElement:t}=this._elRef;this._zone.runOutsideAngular(()=>{At(t,"keydown").pipe(Ke(this._closed$),vt(r=>r.which===Le.Escape)).subscribe(r=>{this.keyboard?requestAnimationFrame(()=>{r.defaultPrevented||this._zone.run(()=>this.dismiss(Xm.ESC))}):"static"===this.backdrop&&this._bumpBackdrop()});let i=!1;At(this._dialogEl.nativeElement,"mousedown").pipe(Ke(this._closed$),wt(()=>i=!1),wn(()=>At(t,"mouseup").pipe(Ke(this._closed$),xt(1))),vt(({target:r})=>t===r)).subscribe(()=>{i=!0}),At(t,"click").pipe(Ke(this._closed$)).subscribe(({target:r})=>{t===r&&("static"===this.backdrop?this._bumpBackdrop():!0===this.backdrop&&!i&&this._zone.run(()=>this.dismiss(Xm.BACKDROP_CLICK))),i=!1})})}_disableEventHandling(){this._closed$.next()}_setFocus(){const{nativeElement:t}=this._elRef;if(!t.contains(document.activeElement)){const i=t.querySelector("[ngbAutofocus]"),r=jS(t)[0];(i||r||t).focus()}}_restoreFocus(){const t=this._document.body,i=this._elWithFocus;let r;r=i&&i.focus&&t.contains(i)?i:t,this._zone.runOutsideAngular(()=>{setTimeout(()=>r.focus()),this._elWithFocus=null})}_bumpBackdrop(){"static"===this.backdrop&&an(this._zone,this._elRef.nativeElement,({classList:t})=>(t.add("modal-static"),()=>t.remove("modal-static")),{animation:this.animation,runningTransition:"continue"})}static#e=this.\u0275fac=function(i){return new(i||e)(b(ut),b(Se),b(fe))};static#t=this.\u0275cmp=Pt({type:e,selectors:[["ngb-modal-window"]],viewQuery:function(i,r){if(1&i&&xr(a8,7),2&i){let o;Re(o=function ke(){return function hP(e,n){return e[ri].queries[n].queryList}(O(),Ev())}())&&(r._dialogEl=o.first)}},hostAttrs:["role","dialog","tabindex","-1"],hostVars:7,hostBindings:function(i,r){2&i&&(Ie("aria-modal",!0)("aria-labelledby",r.ariaLabelledBy)("aria-describedby",r.ariaDescribedBy),Ir("modal d-block"+(r.windowClass?" "+r.windowClass:"")),ye("fade",r.animation))},inputs:{animation:"animation",ariaLabelledBy:"ariaLabelledBy",ariaDescribedBy:"ariaDescribedBy",backdrop:"backdrop",centered:"centered",fullscreen:"fullscreen",keyboard:"keyboard",scrollable:"scrollable",size:"size",windowClass:"windowClass",modalDialogClass:"modalDialogClass"},outputs:{dismissEvent:"dismiss"},standalone:!0,features:[In],ngContentSelectors:xU,decls:4,vars:2,consts:[["role","document"],["dialog",""],[1,"modal-content"]],template:function(i,r){1&i&&(function w1(e){const n=O()[rt][Ft];if(!n.projection){const i=n.projection=ia(e?e.length:1,null),r=i.slice();let o=n.child;for(;null!==o;){const s=e?LR(o,e):0;null!==s&&(r[s]?r[s].projectionNext=o:i[s]=o,r[s]=o),o=o.next}}}(),p(0,"div",0,1)(2,"div",2),function C1(e,n=0,t){const i=O(),r=pe(),o=Uo(r,ue+e,16,null,t||null);null===o.projection&&(o.projection=n),Af(),(!i[Ei]||yo())&&32!=(32&o.flags)&&function VO(e,n,t){Sy(n[ne],0,n,t,oh(e,t,n),by(t.parent||n[Ft],t,n))}(r,i,o)}(3),f()()),2&i&&Ir("modal-dialog"+(r.size?" modal-"+r.size:"")+(r.centered?" modal-dialog-centered":"")+r.fullscreenClass+(r.scrollable?" modal-dialog-scrollable":"")+(r.modalDialogClass?" "+r.modalDialogClass:""))},styles:["ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}\n"],encapsulation:2})}return e})(),r6=(()=>{class e{constructor(t){this._document=t}hide(){const t=Math.abs(window.innerWidth-this._document.documentElement.clientWidth),i=this._document.body,r=i.style,{overflow:o,paddingRight:s}=r;if(t>0){const a=parseFloat(window.getComputedStyle(i).paddingRight);r.paddingRight=`${a+t}px`}return r.overflow="hidden",()=>{t>0&&(r.paddingRight=s),r.overflow=o}}static#e=this.\u0275fac=function(i){return new(i||e)(H(ut))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),o6=(()=>{class e{constructor(t,i,r,o,s,a,l){this._applicationRef=t,this._injector=i,this._environmentInjector=r,this._document=o,this._scrollBar=s,this._rendererFactory=a,this._ngZone=l,this._activeWindowCmptHasChanged=new Ee,this._ariaHiddenValues=new Map,this._scrollBarRestoreFn=null,this._modalRefs=[],this._windowCmpts=[],this._activeInstances=new Y,this._activeWindowCmptHasChanged.subscribe(()=>{if(this._windowCmpts.length){const c=this._windowCmpts[this._windowCmpts.length-1];((e,n,t,i=!1)=>{e.runOutsideAngular(()=>{const r=At(n,"focusin").pipe(Ke(t),ae(o=>o.target));At(n,"keydown").pipe(Ke(t),vt(o=>o.which===Le.Tab),wm(r)).subscribe(([o,s])=>{const[a,l]=jS(n);(s===a||s===n)&&o.shiftKey&&(l.focus(),o.preventDefault()),s===l&&!o.shiftKey&&(a.focus(),o.preventDefault())}),i&&At(n,"click").pipe(Ke(t),wm(r),ae(o=>o[1])).subscribe(o=>o.focus())})})(this._ngZone,c.location.nativeElement,this._activeWindowCmptHasChanged),this._revertAriaHidden(),this._setAriaHidden(c.location.nativeElement)}})}_restoreScrollBar(){const t=this._scrollBarRestoreFn;t&&(this._scrollBarRestoreFn=null,t())}_hideScrollBar(){this._scrollBarRestoreFn||(this._scrollBarRestoreFn=this._scrollBar.hide())}open(t,i,r){const o=r.container instanceof HTMLElement?r.container:Wr(r.container)?this._document.querySelector(r.container):this._document.body,s=this._rendererFactory.createRenderer(null,null);if(!o)throw new Error(`The specified modal container "${r.container||"body"}" was not found in the DOM.`);this._hideScrollBar();const a=new iM,l=(t=r.injector||t).get(zt,null)||this._environmentInjector,c=this._getContentRef(t,l,i,a,r);let u=!1!==r.backdrop?this._attachBackdrop(o):void 0,d=this._attachWindowComponent(o,c.nodes),h=new n6(d,c,u,r.beforeDismiss);return this._registerModalRef(h),this._registerWindowCmpt(d),h.hidden.pipe(xt(1)).subscribe(()=>Promise.resolve(!0).then(()=>{this._modalRefs.length||(s.removeClass(this._document.body,"modal-open"),this._restoreScrollBar(),this._revertAriaHidden())})),a.close=_=>{h.close(_)},a.dismiss=_=>{h.dismiss(_)},a.update=_=>{h.update(_)},h.update(r),1===this._modalRefs.length&&s.addClass(this._document.body,"modal-open"),u&&u.instance&&u.changeDetectorRef.detectChanges(),d.changeDetectorRef.detectChanges(),h}get activeInstances(){return this._activeInstances}dismissAll(t){this._modalRefs.forEach(i=>i.dismiss(t))}hasOpenModals(){return this._modalRefs.length>0}_attachBackdrop(t){let i=Zp(KG,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector});return this._applicationRef.attachView(i.hostView),t.appendChild(i.location.nativeElement),i}_attachWindowComponent(t,i){let r=Zp(i6,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector,projectableNodes:i});return this._applicationRef.attachView(r.hostView),t.appendChild(r.location.nativeElement),r}_getContentRef(t,i,r,o,s){return r?r instanceof qe?this._createFromTemplateRef(r,o):zr(r)?this._createFromString(r):this._createFromComponent(t,i,r,o,s):new Xr([])}_createFromTemplateRef(t,i){const o=t.createEmbeddedView({$implicit:i,close(s){i.close(s)},dismiss(s){i.dismiss(s)}});return this._applicationRef.attachView(o),new Xr([o.rootNodes],o)}_createFromString(t){const i=this._document.createTextNode(`${t}`);return new Xr([[i]])}_createFromComponent(t,i,r,o,s){const l=Zp(r,{environmentInjector:i,elementInjector:Nt.create({providers:[{provide:iM,useValue:o}],parent:t})}),c=l.location.nativeElement;return s.scrollable&&c.classList.add("component-host-scrollable"),this._applicationRef.attachView(l.hostView),new Xr([[c]],l.hostView,l)}_setAriaHidden(t){const i=t.parentElement;i&&t!==this._document.body&&(Array.from(i.children).forEach(r=>{r!==t&&"SCRIPT"!==r.nodeName&&(this._ariaHiddenValues.set(r,r.getAttribute("aria-hidden")),r.setAttribute("aria-hidden","true"))}),this._setAriaHidden(i))}_revertAriaHidden(){this._ariaHiddenValues.forEach((t,i)=>{t?i.setAttribute("aria-hidden",t):i.removeAttribute("aria-hidden")}),this._ariaHiddenValues.clear()}_registerModalRef(t){const i=()=>{const r=this._modalRefs.indexOf(t);r>-1&&(this._modalRefs.splice(r,1),this._activeInstances.emit(this._modalRefs))};this._modalRefs.push(t),this._activeInstances.emit(this._modalRefs),t.result.then(i,i)}_registerWindowCmpt(t){this._windowCmpts.push(t),this._activeWindowCmptHasChanged.next(),t.onDestroy(()=>{const i=this._windowCmpts.indexOf(t);i>-1&&(this._windowCmpts.splice(i,1),this._activeWindowCmptHasChanged.next())})}static#e=this.\u0275fac=function(i){return new(i||e)(H(Ki),H(Nt),H(zt),H(ut),H(r6),H(kh),H(fe))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),s6=(()=>{class e{constructor(t){this._ngbConfig=t,this.backdrop=!0,this.fullscreen=!1,this.keyboard=!0}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(t){this._animation=t}static#e=this.\u0275fac=function(i){return new(i||e)(H(Cd))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),a6=(()=>{class e{constructor(t,i,r){this._injector=t,this._modalStack=i,this._config=r}open(t,i={}){const r={...this._config,animation:this._config.animation,...i};return this._modalStack.open(this._injector,t,r)}get activeInstances(){return this._modalStack.activeInstances}dismissAll(t){this._modalStack.dismissAll(t)}hasOpenModals(){return this._modalStack.hasOpenModals()}static#e=this.\u0275fac=function(i){return new(i||e)(H(Nt),H(o6),H(s6))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),rM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({providers:[a6]})}return e})(),aM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})(),gM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})(),mM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})(),_M=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})(),vM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})(),yM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})(),bM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})(),DM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})(),wM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})();new z("live announcer delay",{providedIn:"root",factory:function w6(){return 100}});let CM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})(),EM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({})}return e})();const E6=[IS,NS,AS,$m,KS,nM,rM,aM,EM,gM,mM,_M,vM,yM,bM,DM,wM,CM];let T6=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=_e({imports:[E6,IS,NS,AS,$m,KS,nM,rM,aM,EM,gM,mM,_M,vM,yM,bM,DM,wM,CM]})}return e})(),S6=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e,bootstrap:[PT]});static#n=this.\u0275inj=_e({providers:[Zu,Ju],imports:[rB,kB,$j,H4,Uj,T6,$m]})}return e})();nB().bootstrapModule(S6).catch(e=>console.error(e))},614:()=>{const se=":";const $l=function(E,...w){if($l.translate){const x=$l.translate(E,w);E=x[0],w=x[1]}let N=Xd(E[0],E.raw[0]);for(let x=1;x{var Li=Vi=>se(se.s=Vi);Li(614),Li(75)}]); \ No newline at end of file +"use strict";(self.webpackChunkexplorer=self.webpackChunkexplorer||[]).push([[179],{75:()=>{function se(e){return"function"==typeof e}function Li(e){const t=e(i=>{Error.call(i),i.stack=(new Error).stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}const fr=Li(e=>function(t){e(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((i,r)=>`${r+1}) ${i.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t});function Vi(e,n){if(e){const t=e.indexOf(n);0<=t&&e.splice(t,1)}}class nt{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;const{_parentage:t}=this;if(t)if(this._parentage=null,Array.isArray(t))for(const o of t)o.remove(this);else t.remove(this);const{initialTeardown:i}=this;if(se(i))try{i()}catch(o){n=o instanceof fr?o.errors:[o]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const o of r)try{hr(o)}catch(s){n=n??[],s instanceof fr?n=[...n,...s.errors]:n.push(s)}}if(n)throw new fr(n)}}add(n){var t;if(n&&n!==this)if(this.closed)hr(n);else{if(n instanceof nt){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=null!==(t=this._finalizers)&&void 0!==t?t:[]).push(n)}}_hasParent(n){const{_parentage:t}=this;return t===n||Array.isArray(t)&&t.includes(n)}_addParent(n){const{_parentage:t}=this;this._parentage=Array.isArray(t)?(t.push(n),t):t?[t,n]:n}_removeParent(n){const{_parentage:t}=this;t===n?this._parentage=null:Array.isArray(t)&&Vi(t,n)}remove(n){const{_finalizers:t}=this;t&&Vi(t,n),n instanceof nt&&n._removeParent(this)}}nt.EMPTY=(()=>{const e=new nt;return e.closed=!0,e})();const xs=nt.EMPTY;function Al(e){return e instanceof nt||e&&"closed"in e&&se(e.remove)&&se(e.add)&&se(e.unsubscribe)}function hr(e){se(e)?e():e.unsubscribe()}const Bi={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},io={setTimeout(e,n,...t){const{delegate:i}=io;return i?.setTimeout?i.setTimeout(e,n,...t):setTimeout(e,n,...t)},clearTimeout(e){const{delegate:n}=io;return(n?.clearTimeout||clearTimeout)(e)},delegate:void 0};function $d(e){io.setTimeout(()=>{const{onUnhandledError:n}=Bi;if(!n)throw e;n(e)})}function pr(){}const Ud=As("C",void 0,void 0);function As(e,n,t){return{kind:e,value:n,error:t}}let yi=null;function ni(e){if(Bi.useDeprecatedSynchronousErrorHandling){const n=!yi;if(n&&(yi={errorThrown:!1,error:null}),e(),n){const{errorThrown:t,error:i}=yi;if(yi=null,t)throw i}}else e()}class ro extends nt{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,Al(n)&&n.add(this)):this.destination=Ps}static create(n,t,i){return new bi(n,t,i)}next(n){this.isStopped?Rs(function zd(e){return As("N",e,void 0)}(n),this):this._next(n)}error(n){this.isStopped?Rs(function Gd(e){return As("E",void 0,e)}(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?Rs(Ud,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(n){this.destination.next(n)}_error(n){try{this.destination.error(n)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const Rl=Function.prototype.bind;function oo(e,n){return Rl.call(e,n)}class Pl{constructor(n){this.partialObserver=n}next(n){const{partialObserver:t}=this;if(t.next)try{t.next(n)}catch(i){ln(i)}}error(n){const{partialObserver:t}=this;if(t.error)try{t.error(n)}catch(i){ln(i)}else ln(n)}complete(){const{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(t){ln(t)}}}class bi extends ro{constructor(n,t,i){let r;if(super(),se(n)||!n)r={next:n??void 0,error:t??void 0,complete:i??void 0};else{let o;this&&Bi.useDeprecatedNextContext?(o=Object.create(n),o.unsubscribe=()=>this.unsubscribe(),r={next:n.next&&oo(n.next,o),error:n.error&&oo(n.error,o),complete:n.complete&&oo(n.complete,o)}):r=n}this.destination=new Pl(r)}}function ln(e){Bi.useDeprecatedSynchronousErrorHandling?function Wd(e){Bi.useDeprecatedSynchronousErrorHandling&&yi&&(yi.errorThrown=!0,yi.error=e)}(e):$d(e)}function Rs(e,n){const{onStoppedNotification:t}=Bi;t&&io.setTimeout(()=>t(e,n))}const Ps={closed:!0,next:pr,error:function kl(e){throw e},complete:pr},ks="function"==typeof Symbol&&Symbol.observable||"@@observable";function kn(e){return e}function Ll(e){return 0===e.length?kn:1===e.length?e[0]:function(t){return e.reduce((i,r)=>r(i),t)}}let Ce=(()=>{class e{constructor(t){t&&(this._subscribe=t)}lift(t){const i=new e;return i.source=this,i.operator=t,i}subscribe(t,i,r){const o=function Yd(e){return e&&e instanceof ro||function qd(e){return e&&se(e.next)&&se(e.error)&&se(e.complete)}(e)&&Al(e)}(t)?t:new bi(t,i,r);return ni(()=>{const{operator:s,source:a}=this;o.add(s?s.call(o,a):a?this._subscribe(o):this._trySubscribe(o))}),o}_trySubscribe(t){try{return this._subscribe(t)}catch(i){t.error(i)}}forEach(t,i){return new(i=Vl(i))((r,o)=>{const s=new bi({next:a=>{try{t(a)}catch(l){o(l),s.unsubscribe()}},error:o,complete:r});this.subscribe(s)})}_subscribe(t){var i;return null===(i=this.source)||void 0===i?void 0:i.subscribe(t)}[ks](){return this}pipe(...t){return Ll(t)(this)}toPromise(t){return new(t=Vl(t))((i,r)=>{let o;this.subscribe(s=>o=s,s=>r(s),()=>i(o))})}}return e.create=n=>new e(n),e})();function Vl(e){var n;return null!==(n=e??Bi.Promise)&&void 0!==n?n:Promise}const Zd=Li(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let Ee=(()=>{class e extends Ce{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const i=new Bl(this,this);return i.operator=t,i}_throwIfClosed(){if(this.closed)throw new Zd}next(t){ni(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const i of this.currentObservers)i.next(t)}})}error(t){ni(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;const{observers:i}=this;for(;i.length;)i.shift().error(t)}})}complete(){ni(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:t}=this;for(;t.length;)t.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){const{hasError:i,isStopped:r,observers:o}=this;return i||r?xs:(this.currentObservers=null,o.push(t),new nt(()=>{this.currentObservers=null,Vi(o,t)}))}_checkFinalizedStatuses(t){const{hasError:i,thrownError:r,isStopped:o}=this;i?t.error(r):o&&t.complete()}asObservable(){const t=new Ce;return t.source=this,t}}return e.create=(n,t)=>new Bl(n,t),e})();class Bl extends Ee{constructor(n,t){super(),this.destination=n,this.source=t}next(n){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===i||i.call(t,n)}error(n){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===i||i.call(t,n)}complete(){var n,t;null===(t=null===(n=this.destination)||void 0===n?void 0:n.complete)||void 0===t||t.call(n)}_subscribe(n){var t,i;return null!==(i=null===(t=this.source)||void 0===t?void 0:t.subscribe(n))&&void 0!==i?i:xs}}function Fs(e){return se(e?.lift)}function qe(e){return n=>{if(Fs(n))return n.lift(function(t){try{return e(t,this)}catch(i){this.error(i)}});throw new TypeError("Unable to lift unknown Observable type")}}function Ve(e,n,t,i,r){return new Jd(e,n,t,i,r)}class Jd extends ro{constructor(n,t,i,r,o,s){super(n),this.onFinalize=o,this.shouldUnsubscribe=s,this._next=t?function(a){try{t(a)}catch(l){n.error(l)}}:super._next,this._error=r?function(a){try{r(a)}catch(l){n.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=i?function(){try{i()}catch(a){n.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:t}=this;super.unsubscribe(),!t&&(null===(n=this.onFinalize)||void 0===n||n.call(this))}}}function ae(e,n){return qe((t,i)=>{let r=0;t.subscribe(Ve(i,o=>{i.next(e.call(n,o,r++))}))})}function Jt(e){return this instanceof Jt?(this.v=e,this):new Jt(e)}function Xt(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=function it(e){var n="function"==typeof Symbol&&Symbol.iterator,t=n&&e[n],i=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(o){t[o]=e[o]&&function(s){return new Promise(function(a,l){!function r(o,s,a,l){Promise.resolve(l).then(function(c){o({value:c,done:a})},s)}(a,l,(s=e[o](s)).done,s.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const nf=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function c_(e){return se(e?.then)}function u_(e){return se(e[ks])}function d_(e){return Symbol.asyncIterator&&se(e?.[Symbol.asyncIterator])}function f_(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const h_=function VM(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function p_(e){return se(e?.[h_])}function g_(e){return function gr(e,n,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,i=t.apply(e,n||[]),o=[];return r={},s("next"),s("throw"),s("return"),r[Symbol.asyncIterator]=function(){return this},r;function s(h){i[h]&&(r[h]=function(_){return new Promise(function(v,y){o.push([h,_,v,y])>1||a(h,_)})})}function a(h,_){try{!function l(h){h.value instanceof Jt?Promise.resolve(h.value.v).then(c,u):d(o[0][2],h)}(i[h](_))}catch(v){d(o[0][3],v)}}function c(h){a("next",h)}function u(h){a("throw",h)}function d(h,_){h(_),o.shift(),o.length&&a(o[0][0],o[0][1])}}(this,arguments,function*(){const t=e.getReader();try{for(;;){const{value:i,done:r}=yield Jt(t.read());if(r)return yield Jt(void 0);yield yield Jt(i)}}finally{t.releaseLock()}})}function m_(e){return se(e?.getReader)}function ft(e){if(e instanceof Ce)return e;if(null!=e){if(u_(e))return function BM(e){return new Ce(n=>{const t=e[ks]();if(se(t.subscribe))return t.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(nf(e))return function jM(e){return new Ce(n=>{for(let t=0;t{e.then(t=>{n.closed||(n.next(t),n.complete())},t=>n.error(t)).then(null,$d)})}(e);if(d_(e))return __(e);if(p_(e))return function $M(e){return new Ce(n=>{for(const t of e)if(n.next(t),n.closed)return;n.complete()})}(e);if(m_(e))return function UM(e){return __(g_(e))}(e)}throw f_(e)}function __(e){return new Ce(n=>{(function GM(e,n){var t,i,r,o;return function N(e,n,t,i){return new(t||(t=Promise))(function(o,s){function a(u){try{c(i.next(u))}catch(d){s(d)}}function l(u){try{c(i.throw(u))}catch(d){s(d)}}function c(u){u.done?o(u.value):function r(o){return o instanceof t?o:new t(function(s){s(o)})}(u.value).then(a,l)}c((i=i.apply(e,n||[])).next())})}(this,void 0,void 0,function*(){try{for(t=Xt(e);!(i=yield t.next()).done;)if(n.next(i.value),n.closed)return}catch(s){r={error:s}}finally{try{i&&!i.done&&(o=t.return)&&(yield o.call(t))}finally{if(r)throw r.error}}n.complete()})})(e,n).catch(t=>n.error(t))})}function Di(e,n,t,i=0,r=!1){const o=n.schedule(function(){t(),r?e.add(this.schedule(null,i)):this.unsubscribe()},i);if(e.add(o),!r)return o}function ht(e,n,t=1/0){return se(n)?ht((i,r)=>ae((o,s)=>n(i,o,r,s))(ft(e(i,r))),t):("number"==typeof n&&(t=n),qe((i,r)=>function zM(e,n,t,i,r,o,s,a){const l=[];let c=0,u=0,d=!1;const h=()=>{d&&!l.length&&!c&&n.complete()},_=y=>c{o&&n.next(y),c++;let D=!1;ft(t(y,u++)).subscribe(Ve(n,M=>{r?.(M),o?_(M):n.next(M)},()=>{D=!0},void 0,()=>{if(D)try{for(c--;l.length&&cv(M)):v(M)}h()}catch(M){n.error(M)}}))};return e.subscribe(Ve(n,_,()=>{d=!0,h()})),()=>{a?.()}}(i,r,e,t)))}function lo(e=1/0){return ht(kn,e)}const bn=new Ce(e=>e.complete());function v_(e){return e&&se(e.schedule)}function rf(e){return e[e.length-1]}function Ul(e){return se(rf(e))?e.pop():void 0}function Vs(e){return v_(rf(e))?e.pop():void 0}function y_(e,n=0){return qe((t,i)=>{t.subscribe(Ve(i,r=>Di(i,e,()=>i.next(r),n),()=>Di(i,e,()=>i.complete(),n),r=>Di(i,e,()=>i.error(r),n)))})}function b_(e,n=0){return qe((t,i)=>{i.add(e.schedule(()=>t.subscribe(i),n))})}function D_(e,n){if(!e)throw new Error("Iterable cannot be null");return new Ce(t=>{Di(t,n,()=>{const i=e[Symbol.asyncIterator]();Di(t,n,()=>{i.next().then(r=>{r.done?t.complete():t.next(r.value)})},0,!0)})})}function pt(e,n){return n?function KM(e,n){if(null!=e){if(u_(e))return function YM(e,n){return ft(e).pipe(b_(n),y_(n))}(e,n);if(nf(e))return function JM(e,n){return new Ce(t=>{let i=0;return n.schedule(function(){i===e.length?t.complete():(t.next(e[i++]),t.closed||this.schedule())})})}(e,n);if(c_(e))return function ZM(e,n){return ft(e).pipe(b_(n),y_(n))}(e,n);if(d_(e))return D_(e,n);if(p_(e))return function XM(e,n){return new Ce(t=>{let i;return Di(t,n,()=>{i=e[h_](),Di(t,n,()=>{let r,o;try{({value:r,done:o}=i.next())}catch(s){return void t.error(s)}o?t.complete():t.next(r)},0,!0)}),()=>se(i?.return)&&i.return()})}(e,n);if(m_(e))return function QM(e,n){return D_(g_(e),n)}(e,n)}throw f_(e)}(e,n):ft(e)}class Dn extends Ee{constructor(n){super(),this._value=n}get value(){return this.getValue()}_subscribe(n){const t=super._subscribe(n);return!t.closed&&n.next(this._value),t}getValue(){const{hasError:n,thrownError:t,_value:i}=this;if(n)throw t;return this._throwIfClosed(),i}next(n){super.next(this._value=n)}}function J(...e){return pt(e,Vs(e))}function C_(e={}){const{connector:n=(()=>new Ee),resetOnError:t=!0,resetOnComplete:i=!0,resetOnRefCountZero:r=!0}=e;return o=>{let s,a,l,c=0,u=!1,d=!1;const h=()=>{a?.unsubscribe(),a=void 0},_=()=>{h(),s=l=void 0,u=d=!1},v=()=>{const y=s;_(),y?.unsubscribe()};return qe((y,D)=>{c++,!d&&!u&&h();const M=l=l??n();D.add(()=>{c--,0===c&&!d&&!u&&(a=sf(v,r))}),M.subscribe(D),!s&&c>0&&(s=new bi({next:C=>M.next(C),error:C=>{d=!0,h(),a=sf(_,t,C),M.error(C)},complete:()=>{u=!0,h(),a=sf(_,i),M.complete()}}),ft(y).subscribe(s))})(o)}}function sf(e,n,...t){if(!0===n)return void e();if(!1===n)return;const i=new bi({next:()=>{i.unsubscribe(),e()}});return ft(n(...t)).subscribe(i)}function wn(e,n){return qe((t,i)=>{let r=null,o=0,s=!1;const a=()=>s&&!r&&i.complete();t.subscribe(Ve(i,l=>{r?.unsubscribe();let c=0;const u=o++;ft(e(l,u)).subscribe(r=Ve(i,d=>i.next(n?n(l,d,u,c++):d),()=>{r=null,a()}))},()=>{s=!0,a()}))})}function eI(e,n){return e===n}function xe(e){for(let n in e)if(e[n]===xe)return n;throw Error("Could not find renamed property on target object.")}function Gl(e,n){for(const t in n)n.hasOwnProperty(t)&&!e.hasOwnProperty(t)&&(e[t]=n[t])}function gt(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(gt).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const n=e.toString();if(null==n)return""+n;const t=n.indexOf("\n");return-1===t?n:n.substring(0,t)}function af(e,n){return null==e||""===e?null===n?"":n:null==n||""===n?e:e+" "+n}const tI=xe({__forward_ref__:xe});function le(e){return e.__forward_ref__=le,e.toString=function(){return gt(this())},e}function ee(e){return lf(e)?e():e}function lf(e){return"function"==typeof e&&e.hasOwnProperty(tI)&&e.__forward_ref__===le}function cf(e){return e&&!!e.\u0275providers}const T_="https://g.co/ng/security#xss";class R extends Error{constructor(n,t){super(function zl(e,n){return`NG0${Math.abs(e)}${n?": "+n:""}`}(n,t)),this.code=n}}function te(e){return"string"==typeof e?e:null==e?"":String(e)}function uf(e,n){throw new R(-201,!1)}function Cn(e,n){null==e&&function Q(e,n,t,i){throw new Error(`ASSERTION ERROR: ${e}`+(null==i?"":` [Expected=> ${t} ${i} ${n} <=Actual]`))}(n,e,null,"!=")}function B(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function ve(e){return{providers:e.providers||[],imports:e.imports||[]}}function Wl(e){return S_(e,Yl)||S_(e,M_)}function S_(e,n){return e.hasOwnProperty(n)?e[n]:null}function ql(e){return e&&(e.hasOwnProperty(df)||e.hasOwnProperty(cI))?e[df]:null}const Yl=xe({\u0275prov:xe}),df=xe({\u0275inj:xe}),M_=xe({ngInjectableDef:xe}),cI=xe({ngInjectorDef:xe});var ce=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(ce||{});let ff;function Qt(e){const n=ff;return ff=e,n}function N_(e,n,t){const i=Wl(e);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:t&ce.Optional?null:void 0!==n?n:void uf(gt(e))}const Be=globalThis;class z{constructor(n,t){this._desc=n,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=B({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const Bs={},_f="__NG_DI_FLAG__",Zl="ngTempTokenPath",fI=/\n/gm,x_="__source";let co;function Hi(e){const n=co;return co=e,n}function gI(e,n=ce.Default){if(void 0===co)throw new R(-203,!1);return null===co?N_(e,void 0,n):co.get(e,n&ce.Optional?null:void 0,n)}function H(e,n=ce.Default){return(function I_(){return ff}()||gI)(ee(e),n)}function F(e,n=ce.Default){return H(e,Jl(n))}function Jl(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function vf(e){const n=[];for(let t=0;tn){s=o-1;break}}}for(;oo?"":r[d+1].toLowerCase();const _=8&i?h:null;if(_&&-1!==k_(_,c,0)||2&i&&c!==h){if(Ln(i))return!1;s=!0}}}}else{if(!s&&!Ln(i)&&!Ln(l))return!1;if(s&&Ln(l))continue;s=!1,i=l|1&i}}return Ln(i)||s}function Ln(e){return 0==(1&e)}function wI(e,n,t,i){if(null===n)return-1;let r=0;if(i||!t){let o=!1;for(;r-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&i?r+="."+s:4&i&&(r+=" "+s);else""!==r&&!Ln(s)&&(n+=$_(o,r),r=""),i=s,o=o||!Ln(i);t++}return""!==r&&(n+=$_(o,r)),n}function kt(e){return wi(()=>{const n=G_(e),t={...n,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===Xl.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||Fn.Emulated,styles:e.styles||ye,_:null,schemas:e.schemas||null,tView:null,id:""};z_(t);const i=e.dependencies;return t.directiveDefs=Kl(i,!1),t.pipeDefs=Kl(i,!0),t.id=function kI(e){let n=0;const t=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery].join("|");for(const r of t)n=Math.imul(31,n)+r.charCodeAt(0)<<0;return n+=2147483648,"c"+n}(t),t})}function xI(e){return he(e)||Et(e)}function AI(e){return null!==e}function be(e){return wi(()=>({type:e.type,bootstrap:e.bootstrap||ye,declarations:e.declarations||ye,imports:e.imports||ye,exports:e.exports||ye,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function U_(e,n){if(null==e)return ii;const t={};for(const i in e)if(e.hasOwnProperty(i)){let r=e[i],o=r;Array.isArray(r)&&(o=r[1],r=r[0]),t[r]=i,n&&(n[r]=o)}return t}function L(e){return wi(()=>{const n=G_(e);return z_(n),n})}function Bt(e){return{type:e.type,name:e.name,factory:null,pure:!1!==e.pure,standalone:!0===e.standalone,onDestroy:e.type.prototype.ngOnDestroy||null}}function he(e){return e[Ql]||null}function Et(e){return e[yf]||null}function jt(e){return e[bf]||null}function un(e,n){const t=e[R_]||null;if(!t&&!0===n)throw new Error(`Type ${gt(e)} does not have '\u0275mod' property.`);return t}function G_(e){const n={};return{type:e.type,providersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:n,inputTransforms:null,inputConfig:e.inputs||ii,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||ye,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:U_(e.inputs,n),outputs:U_(e.outputs)}}function z_(e){e.features?.forEach(n=>n(e))}function Kl(e,n){if(!e)return null;const t=n?jt:xI;return()=>("function"==typeof e?e():e).map(i=>t(i)).filter(AI)}const Qe=0,$=1,re=2,ze=3,Vn=4,Us=5,Ft=6,fo=7,rt=8,$i=9,ho=10,ne=11,Gs=12,W_=13,po=14,ot=15,zs=16,go=17,ri=18,Ws=19,q_=20,Ui=21,Ei=22,qs=23,Ys=24,ue=25,wf=1,Y_=2,oi=7,mo=9,Tt=11;function Kt(e){return Array.isArray(e)&&"object"==typeof e[wf]}function Ht(e){return Array.isArray(e)&&!0===e[wf]}function Cf(e){return 0!=(4&e.flags)}function vr(e){return e.componentOffset>-1}function tc(e){return 1==(1&e.flags)}function Bn(e){return!!e.template}function Ef(e){return 0!=(512&e[re])}function yr(e,n){return e.hasOwnProperty(Ci)?e[Ci]:null}let St=null,nc=!1;function En(e){const n=St;return St=e,n}const X_={version:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{}};function K_(e){if(!Js(e)||e.dirty){if(!e.producerMustRecompute(e)&&!nv(e))return void(e.dirty=!1);e.producerRecomputeValue(e),e.dirty=!1}}function tv(e){e.dirty=!0,function ev(e){if(void 0===e.liveConsumerNode)return;const n=nc;nc=!0;try{for(const t of e.liveConsumerNode)t.dirty||tv(t)}finally{nc=n}}(e),e.consumerMarkedDirty?.(e)}function Sf(e){return e&&(e.nextProducerIndex=0),En(e)}function Mf(e,n){if(En(n),e&&void 0!==e.producerNode&&void 0!==e.producerIndexOfThis&&void 0!==e.producerLastReadVersion){if(Js(e))for(let t=e.nextProducerIndex;te.nextProducerIndex;)e.producerNode.pop(),e.producerLastReadVersion.pop(),e.producerIndexOfThis.pop()}}function nv(e){_o(e);for(let n=0;n0}function _o(e){e.producerNode??=[],e.producerIndexOfThis??=[],e.producerLastReadVersion??=[]}let sv=null;const uv=()=>{},YI=(()=>({...X_,consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!1,consumerMarkedDirty:e=>{e.schedule(e.ref)},hasRun:!1,cleanupFn:uv}))();class ZI{constructor(n,t,i){this.previousValue=n,this.currentValue=t,this.firstChange=i}isFirstChange(){return this.firstChange}}function Mt(){return dv}function dv(e){return e.type.prototype.ngOnChanges&&(e.setInput=XI),JI}function JI(){const e=hv(this),n=e?.current;if(n){const t=e.previous;if(t===ii)e.previous=n;else for(let i in n)t[i]=n[i];e.current=null,this.ngOnChanges(n)}}function XI(e,n,t,i){const r=this.declaredInputs[t],o=hv(e)||function QI(e,n){return e[fv]=n}(e,{previous:ii,current:null}),s=o.current||(o.current={}),a=o.previous,l=a[r];s[r]=new ZI(l&&l.currentValue,n,a===ii),e[i]=n}Mt.ngInherit=!0;const fv="__ngSimpleChanges__";function hv(e){return e[fv]||null}const si=function(e,n,t){};function je(e){for(;Array.isArray(e);)e=e[Qe];return e}function rc(e,n){return je(n[e])}function en(e,n){return je(n[e.index])}function mv(e,n){return e.data[n]}function dn(e,n){const t=n[e];return Kt(t)?t:t[Qe]}function zi(e,n){return null==n?null:e[n]}function _v(e){e[go]=0}function rN(e){1024&e[re]||(e[re]|=1024,yv(e,1))}function vv(e){1024&e[re]&&(e[re]&=-1025,yv(e,-1))}function yv(e,n){let t=e[ze];if(null===t)return;t[Us]+=n;let i=t;for(t=t[ze];null!==t&&(1===n&&1===i[Us]||-1===n&&0===i[Us]);)t[Us]+=n,i=t,t=t[ze]}const K={lFrame:Ov(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function wv(){return K.bindingsEnabled}function yo(){return null!==K.skipHydrationRootTNode}function O(){return K.lFrame.lView}function pe(){return K.lFrame.tView}function Ue(e){return K.lFrame.contextLView=e,e[rt]}function Ge(e){return K.lFrame.contextLView=null,e}function It(){let e=Cv();for(;null!==e&&64===e.type;)e=e.parent;return e}function Cv(){return K.lFrame.currentTNode}function ai(e,n){const t=K.lFrame;t.currentTNode=e,t.isParent=n}function Af(){return K.lFrame.isParent}function Rf(){K.lFrame.isParent=!1}function $t(){const e=K.lFrame;let n=e.bindingRootIndex;return-1===n&&(n=e.bindingRootIndex=e.tView.bindingStartIndex),n}function bo(){return K.lFrame.bindingIndex++}function Si(e){const n=K.lFrame,t=n.bindingIndex;return n.bindingIndex=n.bindingIndex+e,t}function mN(e,n){const t=K.lFrame;t.bindingIndex=t.bindingRootIndex=e,Pf(n)}function Pf(e){K.lFrame.currentDirectiveIndex=e}function Mv(){return K.lFrame.currentQueryIndex}function Ff(e){K.lFrame.currentQueryIndex=e}function vN(e){const n=e[$];return 2===n.type?n.declTNode:1===n.type?e[Ft]:null}function Iv(e,n,t){if(t&ce.SkipSelf){let r=n,o=e;for(;!(r=r.parent,null!==r||t&ce.Host||(r=vN(o),null===r||(o=o[po],10&r.type))););if(null===r)return!1;n=r,e=o}const i=K.lFrame=Nv();return i.currentTNode=n,i.lView=e,!0}function Lf(e){const n=Nv(),t=e[$];K.lFrame=n,n.currentTNode=t.firstChild,n.lView=e,n.tView=t,n.contextLView=e,n.bindingIndex=t.bindingStartIndex,n.inI18n=!1}function Nv(){const e=K.lFrame,n=null===e?null:e.child;return null===n?Ov(e):n}function Ov(e){const n={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return null!==e&&(e.child=n),n}function xv(){const e=K.lFrame;return K.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const Av=xv;function Vf(){const e=xv();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function Ut(){return K.lFrame.selectedIndex}function br(e){K.lFrame.selectedIndex=e}function Ye(){const e=K.lFrame;return mv(e.tView,e.selectedIndex)}let Pv=!0;function oc(){return Pv}function Wi(e){Pv=e}function sc(e,n){for(let t=n.directiveStart,i=n.directiveEnd;t=i)break}else n[l]<0&&(e[go]+=65536),(a>13>16&&(3&e[re])===n&&(e[re]+=8192,Fv(a,o)):Fv(a,o)}const Do=-1;class Qs{constructor(n,t,i){this.factory=n,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=i}}function Hf(e){return e!==Do}function Ks(e){return 32767&e}function ea(e,n){let t=function ON(e){return e>>16}(e),i=n;for(;t>0;)i=i[po],t--;return i}let $f=!0;function cc(e){const n=$f;return $f=e,n}const Lv=255,Vv=5;let xN=0;const li={};function uc(e,n){const t=Bv(e,n);if(-1!==t)return t;const i=n[$];i.firstCreatePass&&(e.injectorIndex=n.length,Uf(i.data,e),Uf(n,null),Uf(i.blueprint,null));const r=dc(e,n),o=e.injectorIndex;if(Hf(r)){const s=Ks(r),a=ea(r,n),l=a[$].data;for(let c=0;c<8;c++)n[o+c]=a[s+c]|l[s+c]}return n[o+8]=r,o}function Uf(e,n){e.push(0,0,0,0,0,0,0,0,n)}function Bv(e,n){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===n[e.injectorIndex+8]?-1:e.injectorIndex}function dc(e,n){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let t=0,i=null,r=n;for(;null!==r;){if(i=Wv(r),null===i)return Do;if(t++,r=r[po],-1!==i.injectorIndex)return i.injectorIndex|t<<16}return Do}function Gf(e,n,t){!function AN(e,n,t){let i;"string"==typeof t?i=t.charCodeAt(0)||0:t.hasOwnProperty(Hs)&&(i=t[Hs]),null==i&&(i=t[Hs]=xN++);const r=i&Lv;n.data[e+(r>>Vv)]|=1<=0?n&Lv:LN:n}(t);if("function"==typeof o){if(!Iv(n,e,i))return i&ce.Host?jv(r,0,i):Hv(n,t,i,r);try{let s;if(s=o(i),null!=s||i&ce.Optional)return s;uf()}finally{Av()}}else if("number"==typeof o){let s=null,a=Bv(e,n),l=Do,c=i&ce.Host?n[ot][Ft]:null;for((-1===a||i&ce.SkipSelf)&&(l=-1===a?dc(e,n):n[a+8],l!==Do&&zv(i,!1)?(s=n[$],a=Ks(l),n=ea(l,n)):a=-1);-1!==a;){const u=n[$];if(Gv(o,a,u.data)){const d=PN(a,n,t,s,i,c);if(d!==li)return d}l=n[a+8],l!==Do&&zv(i,n[$].data[a+8]===c)&&Gv(o,a,n)?(s=u,a=Ks(l),n=ea(l,n)):a=-1}}return r}function PN(e,n,t,i,r,o){const s=n[$],a=s.data[e+8],u=fc(a,s,t,null==i?vr(a)&&$f:i!=s&&0!=(3&a.type),r&ce.Host&&o===a);return null!==u?Dr(n,s,u,a):li}function fc(e,n,t,i,r){const o=e.providerIndexes,s=n.data,a=1048575&o,l=e.directiveStart,u=o>>20,h=r?a+u:e.directiveEnd;for(let _=i?a:a+u;_=l&&v.type===t)return _}if(r){const _=s[l];if(_&&Bn(_)&&_.type===t)return l}return null}function Dr(e,n,t,i){let r=e[t];const o=n.data;if(function MN(e){return e instanceof Qs}(r)){const s=r;s.resolving&&function nI(e,n){const t=n?`. Dependency path: ${n.join(" > ")} > ${e}`:"";throw new R(-200,`Circular dependency in DI detected for ${e}${t}`)}(function Te(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():te(e)}(o[t]));const a=cc(s.canSeeViewProviders);s.resolving=!0;const c=s.injectImpl?Qt(s.injectImpl):null;Iv(e,i,ce.Default);try{r=e[t]=s.factory(void 0,o,e,i),n.firstCreatePass&&t>=i.directiveStart&&function TN(e,n,t){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:o}=n.type.prototype;if(i){const s=dv(n);(t.preOrderHooks??=[]).push(e,s),(t.preOrderCheckHooks??=[]).push(e,s)}r&&(t.preOrderHooks??=[]).push(0-e,r),o&&((t.preOrderHooks??=[]).push(e,o),(t.preOrderCheckHooks??=[]).push(e,o))}(t,o[t],n)}finally{null!==c&&Qt(c),cc(a),s.resolving=!1,Av()}}return r}function Gv(e,n,t){return!!(t[n+(e>>Vv)]&1<{const n=e.prototype.constructor,t=n[Ci]||zf(n),i=Object.prototype;let r=Object.getPrototypeOf(e.prototype).constructor;for(;r&&r!==i;){const o=r[Ci]||zf(r);if(o&&o!==t)return o;r=Object.getPrototypeOf(r)}return o=>new o})}function zf(e){return lf(e)?()=>{const n=zf(ee(e));return n&&n()}:yr(e)}function Wv(e){const n=e[$],t=n.type;return 2===t?n.declTNode:1===t?e[Ft]:null}const Co="__parameters__";function To(e,n,t){return wi(()=>{const i=function Wf(e){return function(...t){if(e){const i=e(...t);for(const r in i)this[r]=i[r]}}}(n);function r(...o){if(this instanceof r)return i.apply(this,o),this;const s=new r(...o);return a.annotation=s,a;function a(l,c,u){const d=l.hasOwnProperty(Co)?l[Co]:Object.defineProperty(l,Co,{value:[]})[Co];for(;d.length<=u;)d.push(null);return(d[u]=d[u]||[]).push(s),l}}return t&&(r.prototype=Object.create(t.prototype)),r.prototype.ngMetadataName=e,r.annotationCls=r,r})}function Mo(e,n){e.forEach(t=>Array.isArray(t)?Mo(t,n):n(t))}function Yv(e,n,t){n>=e.length?e.push(t):e.splice(n,0,t)}function hc(e,n){return n>=e.length-1?e.pop():e.splice(n,1)[0]}function ia(e,n){const t=[];for(let i=0;i=0?e[1|i]=t:(i=~i,function zN(e,n,t,i){let r=e.length;if(r==n)e.push(t,i);else if(1===r)e.push(i,e[0]),e[0]=t;else{for(r--,e.push(e[r-1],e[r]);r>n;)e[r]=e[r-2],r--;e[n]=t,e[n+1]=i}}(e,i,n,t)),i}function qf(e,n){const t=Io(e,n);if(t>=0)return e[1|t]}function Io(e,n){return function Zv(e,n,t){let i=0,r=e.length>>t;for(;r!==i;){const o=i+(r-i>>1),s=e[o<n?r=o:i=o+1}return~(r<|^->||--!>|)/g,pO="\u200b$1\u200b";const Qf=new Map;let gO=0;const eh="__ngContext__";function Lt(e,n){Kt(n)?(e[eh]=n[Ws],function _O(e){Qf.set(e[Ws],e)}(n)):e[eh]=n}let th;function nh(e,n){return th(e,n)}function sa(e){const n=e[ze];return Ht(n)?n[ze]:n}function gy(e){return _y(e[Gs])}function my(e){return _y(e[Vn])}function _y(e){for(;null!==e&&!Ht(e);)e=e[Vn];return e}function xo(e,n,t,i,r){if(null!=i){let o,s=!1;Ht(i)?o=i:Kt(i)&&(s=!0,i=i[Qe]);const a=je(i);0===e&&null!==t?null==r?Dy(n,t,a):Cr(n,t,a,r||null,!0):1===e&&null!==t?Cr(n,t,a,r||null,!0):2===e?function Ic(e,n,t){const i=Sc(e,n);i&&function FO(e,n,t,i){e.removeChild(n,t,i)}(e,i,n,t)}(n,a,s):3===e&&n.destroyNode(a),null!=o&&function BO(e,n,t,i,r){const o=t[oi];o!==je(t)&&xo(n,e,i,o,r);for(let a=Tt;an.replace(hO,pO))}(n))}function Ec(e,n,t){return e.createElement(n,t)}function yy(e,n){const t=e[mo],i=t.indexOf(n);vv(n),t.splice(i,1)}function Tc(e,n){if(e.length<=Tt)return;const t=Tt+n,i=e[t];if(i){const r=i[zs];null!==r&&r!==e&&yy(r,i),n>0&&(e[t-1][Vn]=i[Vn]);const o=hc(e,Tt+n);!function IO(e,n){la(e,n,n[ne],2,null,null),n[Qe]=null,n[Ft]=null}(i[$],i);const s=o[ri];null!==s&&s.detachView(o[$]),i[ze]=null,i[Vn]=null,i[re]&=-129}return i}function rh(e,n){if(!(256&n[re])){const t=n[ne];n[qs]&&iv(n[qs]),n[Ys]&&iv(n[Ys]),t.destroyNode&&la(e,n,t,3,null,null),function xO(e){let n=e[Gs];if(!n)return oh(e[$],e);for(;n;){let t=null;if(Kt(n))t=n[Gs];else{const i=n[Tt];i&&(t=i)}if(!t){for(;n&&!n[Vn]&&n!==e;)Kt(n)&&oh(n[$],n),n=n[ze];null===n&&(n=e),Kt(n)&&oh(n[$],n),t=n&&n[Vn]}n=t}}(n)}}function oh(e,n){if(!(256&n[re])){n[re]&=-129,n[re]|=256,function kO(e,n){let t;if(null!=e&&null!=(t=e.destroyHooks))for(let i=0;i=0?i[s]():i[-s].unsubscribe(),o+=2}else t[o].call(i[t[o+1]]);null!==i&&(n[fo]=null);const r=n[Ui];if(null!==r){n[Ui]=null;for(let o=0;o-1){const{encapsulation:o}=e.data[i.directiveStart+r];if(o===Fn.None||o===Fn.Emulated)return null}return en(i,t)}}(e,n.parent,t)}function Cr(e,n,t,i,r){e.insertBefore(n,t,i,r)}function Dy(e,n,t){e.appendChild(n,t)}function wy(e,n,t,i,r){null!==i?Cr(e,n,t,i,r):Dy(e,n,t)}function Sc(e,n){return e.parentNode(n)}function Cy(e,n,t){return Ty(e,n,t)}let ah,dh,Ty=function Ey(e,n,t){return 40&e.type?en(e,t):null};function Mc(e,n,t,i){const r=sh(e,i,n),o=n[ne],a=Cy(i.parent||n[Ft],i,n);if(null!=r)if(Array.isArray(t))for(let l=0;l{t.push(s)};return Mo(n,s=>{const a=s;Ac(a,o,[],i)&&(r||=[],r.push(a))}),void 0!==r&&qy(r,o),t}function qy(e,n){for(let t=0;t{n(o,i)})}}function Ac(e,n,t,i){if(!(e=ee(e)))return!1;let r=null,o=ql(e);const s=!o&&he(e);if(o||s){if(s&&!s.standalone)return!1;r=e}else{const l=e.ngModule;if(o=ql(l),!o)return!1;r=l}const a=i.has(r);if(s){if(a)return!1;if(i.add(r),s.dependencies){const l="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const c of l)Ac(c,n,t,i)}}else{if(!o)return!1;{if(null!=o.imports&&!a){let c;i.add(r);try{Mo(o.imports,u=>{Ac(u,n,t,i)&&(c||=[],c.push(u))})}finally{}void 0!==c&&qy(c,n)}if(!a){const c=yr(r)||(()=>new r);n({provide:r,useFactory:c,deps:ye},r),n({provide:zy,useValue:r,multi:!0},r),n({provide:fa,useValue:()=>H(r),multi:!0},r)}const l=o.providers;if(null!=l&&!a){const c=e;yh(l,u=>{n(u,c)})}}}return r!==e&&void 0!==e.providers}function yh(e,n){for(let t of e)cf(t)&&(t=t.\u0275providers),Array.isArray(t)?yh(t,n):n(t)}const gx=xe({provide:String,useValue:xe});function bh(e){return null!==e&&"object"==typeof e&&gx in e}function Er(e){return"function"==typeof e}const Dh=new z("Set Injector scope."),Rc={},_x={};let wh;function Pc(){return void 0===wh&&(wh=new _h),wh}class zt{}class ko extends zt{get destroyed(){return this._destroyed}constructor(n,t,i,r){super(),this.parent=t,this.source=i,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,Eh(n,s=>this.processProvider(s)),this.records.set(Gy,Fo(void 0,this)),r.has("environment")&&this.records.set(zt,Fo(void 0,this));const o=this.records.get(Dh);null!=o&&"string"==typeof o.value&&this.scopes.add(o.value),this.injectorDefTypes=new Set(this.get(zy.multi,ye,ce.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const t of this._ngOnDestroyHooks)t.ngOnDestroy();const n=this._onDestroyHooks;this._onDestroyHooks=[];for(const t of n)t()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(n){return this.assertNotDestroyed(),this._onDestroyHooks.push(n),()=>this.removeOnDestroy(n)}runInContext(n){this.assertNotDestroyed();const t=Hi(this),i=Qt(void 0);try{return n()}finally{Hi(t),Qt(i)}}get(n,t=Bs,i=ce.Default){if(this.assertNotDestroyed(),n.hasOwnProperty(P_))return n[P_](this);i=Jl(i);const o=Hi(this),s=Qt(void 0);try{if(!(i&ce.SkipSelf)){let l=this.records.get(n);if(void 0===l){const c=function wx(e){return"function"==typeof e||"object"==typeof e&&e instanceof z}(n)&&Wl(n);l=c&&this.injectableDefInScope(c)?Fo(Ch(n),Rc):null,this.records.set(n,l)}if(null!=l)return this.hydrate(n,l)}return(i&ce.Self?Pc():this.parent).get(n,t=i&ce.Optional&&t===Bs?null:t)}catch(a){if("NullInjectorError"===a.name){if((a[Zl]=a[Zl]||[]).unshift(gt(n)),o)throw a;return function _I(e,n,t,i){const r=e[Zl];throw n[x_]&&r.unshift(n[x_]),e.message=function vI(e,n,t,i=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let r=gt(n);if(Array.isArray(n))r=n.map(gt).join(" -> ");else if("object"==typeof n){let o=[];for(let s in n)if(n.hasOwnProperty(s)){let a=n[s];o.push(s+":"+("string"==typeof a?JSON.stringify(a):gt(a)))}r=`{${o.join(", ")}}`}return`${t}${i?"("+i+")":""}[${r}]: ${e.replace(fI,"\n ")}`}("\n"+e.message,r,t,i),e.ngTokenPath=r,e[Zl]=null,e}(a,n,"R3InjectorError",this.source)}throw a}finally{Qt(s),Hi(o)}}resolveInjectorInitializers(){const n=Hi(this),t=Qt(void 0);try{const r=this.get(fa.multi,ye,ce.Self);for(const o of r)o()}finally{Hi(n),Qt(t)}}toString(){const n=[],t=this.records;for(const i of t.keys())n.push(gt(i));return`R3Injector[${n.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new R(205,!1)}processProvider(n){let t=Er(n=ee(n))?n:ee(n&&n.provide);const i=function yx(e){return bh(e)?Fo(void 0,e.useValue):Fo(Jy(e),Rc)}(n);if(Er(n)||!0!==n.multi)this.records.get(t);else{let r=this.records.get(t);r||(r=Fo(void 0,Rc,!0),r.factory=()=>vf(r.multi),this.records.set(t,r)),t=n,r.multi.push(n)}this.records.set(t,i)}hydrate(n,t){return t.value===Rc&&(t.value=_x,t.value=t.factory()),"object"==typeof t.value&&t.value&&function Dx(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}injectableDefInScope(n){if(!n.providedIn)return!1;const t=ee(n.providedIn);return"string"==typeof t?"any"===t||this.scopes.has(t):this.injectorDefTypes.has(t)}removeOnDestroy(n){const t=this._onDestroyHooks.indexOf(n);-1!==t&&this._onDestroyHooks.splice(t,1)}}function Ch(e){const n=Wl(e),t=null!==n?n.factory:yr(e);if(null!==t)return t;if(e instanceof z)throw new R(204,!1);if(e instanceof Function)return function vx(e){const n=e.length;if(n>0)throw ia(n,"?"),new R(204,!1);const t=function lI(e){return e&&(e[Yl]||e[M_])||null}(e);return null!==t?()=>t.factory(e):()=>new e}(e);throw new R(204,!1)}function Jy(e,n,t){let i;if(Er(e)){const r=ee(e);return yr(r)||Ch(r)}if(bh(e))i=()=>ee(e.useValue);else if(function Zy(e){return!(!e||!e.useFactory)}(e))i=()=>e.useFactory(...vf(e.deps||[]));else if(function Yy(e){return!(!e||!e.useExisting)}(e))i=()=>H(ee(e.useExisting));else{const r=ee(e&&(e.useClass||e.provide));if(!function bx(e){return!!e.deps}(e))return yr(r)||Ch(r);i=()=>new r(...vf(e.deps))}return i}function Fo(e,n,t=!1){return{factory:e,value:n,multi:t?[]:void 0}}function Eh(e,n){for(const t of e)Array.isArray(t)?Eh(t,n):t&&cf(t)?Eh(t.\u0275providers,n):n(t)}const kc=new z("AppId",{providedIn:"root",factory:()=>Cx}),Cx="ng",Xy=new z("Platform Initializer"),Tr=new z("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),Qy=new z("CSP nonce",{providedIn:"root",factory:()=>function Ro(){if(void 0!==dh)return dh;if(typeof document<"u")return document;throw new R(210,!1)}().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let Ky=(e,n,t)=>null;function Ah(e,n,t=!1){return Ky(e,n,t)}class Rx{}class n1{}class kx{resolveComponentFactory(n){throw function Px(e){const n=Error(`No component factory found for ${gt(e)}.`);return n.ngComponent=e,n}(n)}}let Hc=(()=>{class e{static#e=this.NULL=new kx}return e})();function Fx(){return Bo(It(),O())}function Bo(e,n){return new Se(en(e,n))}let Se=(()=>{class e{constructor(t){this.nativeElement=t}static#e=this.__NG_ELEMENT_ID__=Fx}return e})();function Lx(e){return e instanceof Se?e.nativeElement:e}class kh{}let hn=(()=>{class e{constructor(){this.destroyNode=null}static#e=this.__NG_ELEMENT_ID__=()=>function Vx(){const e=O(),t=dn(It().index,e);return(Kt(t)?t:e)[ne]}()}return e})(),Bx=(()=>{class e{static#e=this.\u0275prov=B({token:e,providedIn:"root",factory:()=>null})}return e})();class ga{constructor(n){this.full=n,this.major=n.split(".")[0],this.minor=n.split(".")[1],this.patch=n.split(".").slice(2).join(".")}}const jx=new ga("16.2.12"),Fh={};function a1(e,n=null,t=null,i){const r=l1(e,n,t,i);return r.resolveInjectorInitializers(),r}function l1(e,n=null,t=null,i,r=new Set){const o=[t||ye,px(e)];return i=i||("object"==typeof e?void 0:gt(e)),new ko(o,n||Pc(),i||null,r)}let Nt=(()=>{class e{static#e=this.THROW_IF_NOT_FOUND=Bs;static#t=this.NULL=new _h;static create(t,i){if(Array.isArray(t))return a1({name:""},i,t,"");{const r=t.name??"";return a1({name:r},t.parent,t.providers,r)}}static#n=this.\u0275prov=B({token:e,providedIn:"any",factory:()=>H(Gy)});static#i=this.__NG_ELEMENT_ID__=-1}return e})();function Lh(e){return e.ngOriginalError}class Ii{constructor(){this._console=console}handleError(n){const t=this._findOriginalError(n);this._console.error("ERROR",n),t&&this._console.error("ORIGINAL ERROR",t)}_findOriginalError(n){let t=n&&Lh(n);for(;t&&Lh(t);)t=Lh(t);return t||null}}function Vh(e){return n=>{setTimeout(e,void 0,n)}}const Y=class Yx extends Ee{constructor(n=!1){super(),this.__isAsync=n}emit(n){super.next(n)}subscribe(n,t,i){let r=n,o=t||(()=>null),s=i;if(n&&"object"==typeof n){const l=n;r=l.next?.bind(l),o=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(o=Vh(o),r&&(r=Vh(r)),s&&(s=Vh(s)));const a=super.subscribe({next:r,error:o,complete:s});return n instanceof nt&&n.add(a),a}};function u1(...e){}class fe{constructor({enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Y(!1),this.onMicrotaskEmpty=new Y(!1),this.onStable=new Y(!1),this.onError=new Y(!1),typeof Zone>"u")throw new R(908,!1);Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),n&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!i&&t,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function Zx(){const e="function"==typeof Be.requestAnimationFrame;let n=Be[e?"requestAnimationFrame":"setTimeout"],t=Be[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&n&&t){const i=n[Zone.__symbol__("OriginalDelegate")];i&&(n=i);const r=t[Zone.__symbol__("OriginalDelegate")];r&&(t=r)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:t}}().nativeRequestAnimationFrame,function Qx(e){const n=()=>{!function Xx(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(Be,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,jh(e),e.isCheckStableRunning=!0,Bh(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),jh(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,i,r,o,s,a)=>{if(function eA(e){return!(!Array.isArray(e)||1!==e.length)&&!0===e[0].data?.__ignore_ng_zone__}(a))return t.invokeTask(r,o,s,a);try{return d1(e),t.invokeTask(r,o,s,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===o.type||e.shouldCoalesceRunChangeDetection)&&n(),f1(e)}},onInvoke:(t,i,r,o,s,a,l)=>{try{return d1(e),t.invoke(r,o,s,a,l)}finally{e.shouldCoalesceRunChangeDetection&&n(),f1(e)}},onHasTask:(t,i,r,o)=>{t.hasTask(r,o),i===r&&("microTask"==o.change?(e._hasPendingMicrotasks=o.microTask,jh(e),Bh(e)):"macroTask"==o.change&&(e.hasPendingMacrotasks=o.macroTask))},onHandleError:(t,i,r,o)=>(t.handleError(r,o),e.runOutsideAngular(()=>e.onError.emit(o)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!fe.isInAngularZone())throw new R(909,!1)}static assertNotInAngularZone(){if(fe.isInAngularZone())throw new R(909,!1)}run(n,t,i){return this._inner.run(n,t,i)}runTask(n,t,i,r){const o=this._inner,s=o.scheduleEventTask("NgZoneEvent: "+r,n,Jx,u1,u1);try{return o.runTask(s,t,i)}finally{o.cancelTask(s)}}runGuarded(n,t,i){return this._inner.runGuarded(n,t,i)}runOutsideAngular(n){return this._outer.run(n)}}const Jx={};function Bh(e){if(0==e._nesting&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function jh(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function d1(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function f1(e){e._nesting--,Bh(e)}class Kx{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Y,this.onMicrotaskEmpty=new Y,this.onStable=new Y,this.onError=new Y}run(n,t,i){return n.apply(t,i)}runGuarded(n,t,i){return n.apply(t,i)}runOutsideAngular(n){return n()}runTask(n,t,i,r){return n.apply(t,i)}}const h1=new z("",{providedIn:"root",factory:p1});function p1(){const e=F(fe);let n=!0;return function w_(...e){const n=Vs(e),t=function qM(e,n){return"number"==typeof rf(e)?e.pop():n}(e,1/0),i=e;return i.length?1===i.length?ft(i[0]):lo(t)(pt(i,n)):bn}(new Ce(r=>{n=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{r.next(n),r.complete()})}),new Ce(r=>{let o;e.runOutsideAngular(()=>{o=e.onStable.subscribe(()=>{fe.assertNotInAngularZone(),queueMicrotask(()=>{!n&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(n=!0,r.next(!0))})})});const s=e.onUnstable.subscribe(()=>{fe.assertInAngularZone(),n&&(n=!1,e.runOutsideAngular(()=>{r.next(!1)}))});return()=>{o.unsubscribe(),s.unsubscribe()}}).pipe(C_()))}function Ni(e){return e instanceof Function?e():e}let Hh=(()=>{class e{constructor(){this.renderDepth=0,this.handler=null}begin(){this.handler?.validateBegin(),this.renderDepth++}end(){this.renderDepth--,0===this.renderDepth&&this.handler?.execute()}ngOnDestroy(){this.handler?.destroy(),this.handler=null}static#e=this.\u0275prov=B({token:e,providedIn:"root",factory:()=>new e})}return e})();function ma(e){for(;e;){e[re]|=64;const n=sa(e);if(Ef(e)&&!n)return e;e=n}return null}const y1=new z("",{providedIn:"root",factory:()=>!1});let Gc=null;function C1(e,n){return e[n]??S1()}function E1(e,n){const t=S1();t.producerNode?.length&&(e[n]=Gc,t.lView=e,Gc=T1())}const uA={...X_,consumerIsAlwaysLive:!0,consumerMarkedDirty:e=>{ma(e.lView)},lView:null};function T1(){return Object.create(uA)}function S1(){return Gc??=T1(),Gc}const ie={};function g(e){M1(pe(),O(),Ut()+e,!1)}function M1(e,n,t,i){if(!i)if(3==(3&n[re])){const o=e.preOrderCheckHooks;null!==o&&ac(n,o,t)}else{const o=e.preOrderHooks;null!==o&&lc(n,o,0,t)}br(t)}function b(e,n=ce.Default){const t=O();return null===t?H(e,n):$v(It(),t,ee(e),n)}function zc(e,n,t,i,r,o,s,a,l,c,u){const d=n.blueprint.slice();return d[Qe]=r,d[re]=140|i,(null!==c||e&&2048&e[re])&&(d[re]|=2048),_v(d),d[ze]=d[po]=e,d[rt]=t,d[ho]=s||e&&e[ho],d[ne]=a||e&&e[ne],d[$i]=l||e&&e[$i]||null,d[Ft]=o,d[Ws]=function mO(){return gO++}(),d[Ei]=u,d[q_]=c,d[ot]=2==n.type?e[ot]:d,d}function Uo(e,n,t,i,r){let o=e.data[n];if(null===o)o=function $h(e,n,t,i,r){const o=Cv(),s=Af(),l=e.data[n]=function vA(e,n,t,i,r,o){let s=n?n.injectorIndex:-1,a=0;return yo()&&(a|=128),{type:t,index:i,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:r,attrs:o,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:n,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,s?o:o&&o.parent,t,n,i,r);return null===e.firstChild&&(e.firstChild=l),null!==o&&(s?null==o.child&&null!==l.parent&&(o.child=l):null===o.next&&(o.next=l,l.prev=o)),l}(e,n,t,i,r),function gN(){return K.lFrame.inI18n}()&&(o.flags|=32);else if(64&o.type){o.type=t,o.value=i,o.attrs=r;const s=function Xs(){const e=K.lFrame,n=e.currentTNode;return e.isParent?n:n.parent}();o.injectorIndex=null===s?-1:s.injectorIndex}return ai(o,!0),o}function _a(e,n,t,i){if(0===t)return-1;const r=n.length;for(let o=0;oue&&M1(e,n,ue,!1),si(a?2:0,r);const c=a?o:null,u=Sf(c);try{null!==c&&(c.dirty=!1),t(i,r)}finally{Mf(c,u)}}finally{a&&null===n[qs]&&E1(n,qs),br(s),si(a?3:1,r)}}function Uh(e,n,t){if(Cf(n)){const i=En(null);try{const o=n.directiveEnd;for(let s=n.directiveStart;snull;function A1(e,n,t,i){for(let r in e)if(e.hasOwnProperty(r)){t=null===t?{}:t;const o=e[r];null===i?R1(t,n,r,o):i.hasOwnProperty(r)&&R1(t,n,i[r],o)}return t}function R1(e,n,t,i){e.hasOwnProperty(t)?e[t].push(n,i):e[t]=[n,i]}function pn(e,n,t,i,r,o,s,a){const l=en(n,t);let u,c=n.inputs;!a&&null!=c&&(u=c[i])?(Xh(e,t,u,i,r),vr(n)&&function DA(e,n){const t=dn(n,e);16&t[re]||(t[re]|=64)}(t,n.index)):3&n.type&&(i=function bA(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(i),r=null!=s?s(r,n.value||"",i):r,o.setProperty(l,i,r))}function qh(e,n,t,i){if(wv()){const r=null===i?null:{"":-1},o=function MA(e,n){const t=e.directiveRegistry;let i=null,r=null;if(t)for(let o=0;o0;){const t=e[--n];if("number"==typeof t&&t<0)return t}return 0})(s)!=a&&s.push(a),s.push(t,i,o)}}(e,n,i,_a(e,t,r.hostVars,ie),r)}function ci(e,n,t,i,r,o){const s=en(e,n);!function Zh(e,n,t,i,r,o,s){if(null==o)e.removeAttribute(n,r,t);else{const a=null==s?te(o):s(o,i||"",r);e.setAttribute(n,r,a,t)}}(n[ne],s,o,e.value,t,i,r)}function RA(e,n,t,i,r,o){const s=o[n];if(null!==s)for(let a=0;a{class e{constructor(){this.all=new Set,this.queue=new Map}create(t,i,r){const o=typeof Zone>"u"?null:Zone.current,s=function qI(e,n,t){const i=Object.create(YI);t&&(i.consumerAllowSignalWrites=!0),i.fn=e,i.schedule=n;const r=s=>{i.cleanupFn=s};return i.ref={notify:()=>tv(i),run:()=>{if(i.dirty=!1,i.hasRun&&!nv(i))return;i.hasRun=!0;const s=Sf(i);try{i.cleanupFn(),i.cleanupFn=uv,i.fn(r)}finally{Mf(i,s)}},cleanup:()=>i.cleanupFn()},i.ref}(t,c=>{this.all.has(c)&&this.queue.set(c,o)},r);let a;this.all.add(s),s.notify();const l=()=>{s.cleanup(),a?.(),this.all.delete(s),this.queue.delete(s)};return a=i?.onDestroy(l),{destroy:l}}flush(){if(0!==this.queue.size)for(const[t,i]of this.queue)this.queue.delete(t),i?i.run(()=>t.run()):t.run()}get isQueueEmpty(){return 0===this.queue.size}static#e=this.\u0275prov=B({token:e,providedIn:"root",factory:()=>new e})}return e})();function qc(e,n,t){let i=t?e.styles:null,r=t?e.classes:null,o=0;if(null!==n)for(let s=0;s0){W1(e,1);const r=t.components;null!==r&&Y1(e,r,1)}}function Y1(e,n,t){for(let i=0;i-1&&(Tc(n,i),hc(t,i))}this._attachedToViewContainer=!1}rh(this._lView[$],this._lView)}onDestroy(n){!function bv(e,n){if(256==(256&e[re]))throw new R(911,!1);null===e[Ui]&&(e[Ui]=[]),e[Ui].push(n)}(this._lView,n)}markForCheck(){ma(this._cdRefInjectingView||this._lView)}detach(){this._lView[re]&=-129}reattach(){this._lView[re]|=128}detectChanges(){Yc(this._lView[$],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new R(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function OO(e,n){la(e,n,n[ne],2,null,null)}(this._lView[$],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new R(902,!1);this._appRef=n}}class $A extends ya{constructor(n){super(n),this._view=n}detectChanges(){const n=this._view;Yc(n[$],n,n[rt],!1)}checkNoChanges(){}get context(){return null}}class Z1 extends Hc{constructor(n){super(),this.ngModule=n}resolveComponentFactory(n){const t=he(n);return new ba(t,this.ngModule)}}function J1(e){const n=[];for(let t in e)e.hasOwnProperty(t)&&n.push({propName:e[t],templateName:t});return n}class GA{constructor(n,t){this.injector=n,this.parentInjector=t}get(n,t,i){i=Jl(i);const r=this.injector.get(n,Fh,i);return r!==Fh||t===Fh?r:this.parentInjector.get(n,t,i)}}class ba extends n1{get inputs(){const n=this.componentDef,t=n.inputTransforms,i=J1(n.inputs);if(null!==t)for(const r of i)t.hasOwnProperty(r.propName)&&(r.transform=t[r.propName]);return i}get outputs(){return J1(this.componentDef.outputs)}constructor(n,t){super(),this.componentDef=n,this.ngModule=t,this.componentType=n.type,this.selector=function II(e){return e.map(MI).join(",")}(n.selectors),this.ngContentSelectors=n.ngContentSelectors?n.ngContentSelectors:[],this.isBoundToModule=!!t}create(n,t,i,r){let o=(r=r||this.ngModule)instanceof zt?r:r?.injector;o&&null!==this.componentDef.getStandaloneInjector&&(o=this.componentDef.getStandaloneInjector(o)||o);const s=o?new GA(n,o):n,a=s.get(kh,null);if(null===a)throw new R(407,!1);const d={rendererFactory:a,sanitizer:s.get(Bx,null),effectManager:s.get(U1,null),afterRenderEventManager:s.get(Hh,null)},h=a.createRenderer(null,this.componentDef),_=this.componentDef.selectors[0][0]||"div",v=i?function hA(e,n,t,i){const o=i.get(y1,!1)||t===Fn.ShadowDom,s=e.selectRootElement(n,o);return function pA(e){x1(e)}(s),s}(h,i,this.componentDef.encapsulation,s):Ec(h,_,function UA(e){const n=e.toLowerCase();return"svg"===n?"svg":"math"===n?"math":null}(_)),M=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let C=null;null!==v&&(C=Ah(v,s,!0));const P=Wh(0,null,null,1,0,null,null,null,null,null,null),k=zc(null,P,null,M,null,null,d,h,s,null,C);let G,X;Lf(k);try{const de=this.componentDef;let ge,tt=null;de.findHostDirectiveDefs?(ge=[],tt=new Map,de.findHostDirectiveDefs(de,ge,tt),ge.push(de)):ge=[de];const lt=function WA(e,n){const t=e[$],i=ue;return e[i]=n,Uo(t,i,2,"#host",null)}(k,v),Ct=function qA(e,n,t,i,r,o,s){const a=r[$];!function YA(e,n,t,i){for(const r of e)n.mergedAttrs=$s(n.mergedAttrs,r.hostAttrs);null!==n.mergedAttrs&&(qc(n,n.mergedAttrs,!0),null!==t&&xy(i,t,n))}(i,e,n,s);let l=null;null!==n&&(l=Ah(n,r[$i]));const c=o.rendererFactory.createRenderer(n,t);let u=16;t.signals?u=4096:t.onPush&&(u=64);const d=zc(r,O1(t),null,u,r[e.index],e,o,c,null,null,l);return a.firstCreatePass&&Yh(a,e,i.length-1),Wc(r,d),r[e.index]=d}(lt,v,de,ge,k,d,h);X=mv(P,ue),v&&function JA(e,n,t,i){if(i)Df(e,t,["ng-version",jx.full]);else{const{attrs:r,classes:o}=function NI(e){const n=[],t=[];let i=1,r=2;for(;i0&&Oy(e,t,o.join(" "))}}(h,de,v,i),void 0!==t&&function XA(e,n,t){const i=e.projection=[];for(let r=0;r=0;i--){const r=e[i];r.hostVars=n+=r.hostVars,r.hostAttrs=$s(r.hostAttrs,t=$s(t,r.hostAttrs))}}(i)}function Zc(e){return e===ii?{}:e===ye?[]:e}function eR(e,n){const t=e.viewQuery;e.viewQuery=t?(i,r)=>{n(i,r),t(i,r)}:n}function tR(e,n){const t=e.contentQueries;e.contentQueries=t?(i,r,o)=>{n(i,r,o),t(i,r,o)}:n}function nR(e,n){const t=e.hostBindings;e.hostBindings=t?(i,r)=>{n(i,r),t(i,r)}:n}function Jc(e){return!!Kh(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function Kh(e){return null!==e&&("function"==typeof e||"object"==typeof e)}function ui(e,n,t){return e[n]=t}function Vt(e,n,t){return!Object.is(e[n],t)&&(e[n]=t,!0)}function Sr(e,n,t,i){const r=Vt(e,n,t);return Vt(e,n+1,i)||r}function Ie(e,n,t,i){const r=O();return Vt(r,bo(),n)&&(pe(),ci(Ye(),r,e,n,t,i)),Ie}function zo(e,n,t,i){return Vt(e,bo(),t)?n+te(t)+i:ie}function Wo(e,n,t,i,r,o){const a=Sr(e,function Ti(){return K.lFrame.bindingIndex}(),t,r);return Si(2),a?n+te(t)+i+te(r)+o:ie}function I(e,n,t,i,r,o,s,a){const l=O(),c=pe(),u=e+ue,d=c.firstCreatePass?function SR(e,n,t,i,r,o,s,a,l){const c=n.consts,u=Uo(n,e,4,s||null,zi(c,a));qh(n,t,u,zi(c,l)),sc(n,u);const d=u.tView=Wh(2,u,i,r,o,n.directiveRegistry,n.pipeRegistry,null,n.schemas,c,null);return null!==n.queries&&(n.queries.template(n,u),d.queries=n.queries.embeddedTView(u)),u}(u,c,l,n,t,i,r,o,s):c.data[u];ai(d,!1);const h=g0(c,l,d,e);oc()&&Mc(c,l,h,d),Lt(h,l),Wc(l,l[u]=L1(h,l,h,d)),tc(d)&&Gh(c,l,d),null!=s&&zh(l,d,a)}let g0=function m0(e,n,t,i){return Wi(!0),n[ne].createComment("")};function S(e,n,t){const i=O();return Vt(i,bo(),n)&&pn(pe(),Ye(),i,e,n,i[ne],t,!1),S}function op(e,n,t,i,r){const s=r?"class":"style";Xh(e,t,n.inputs[s],s,i)}function p(e,n,t,i){const r=O(),o=pe(),s=ue+e,a=r[ne],l=o.firstCreatePass?function OR(e,n,t,i,r,o){const s=n.consts,l=Uo(n,e,2,i,zi(s,r));return qh(n,t,l,zi(s,o)),null!==l.attrs&&qc(l,l.attrs,!1),null!==l.mergedAttrs&&qc(l,l.mergedAttrs,!0),null!==n.queries&&n.queries.elementStart(n,l),l}(s,o,r,n,t,i):o.data[s],c=_0(o,r,l,a,n,e);r[s]=c;const u=tc(l);return ai(l,!0),xy(a,c,l),32!=(32&l.flags)&&oc()&&Mc(o,r,c,l),0===function sN(){return K.lFrame.elementDepthCount}()&&Lt(c,r),function aN(){K.lFrame.elementDepthCount++}(),u&&(Gh(o,r,l),Uh(o,l,r)),null!==i&&zh(r,l),p}function f(){let e=It();Af()?Rf():(e=e.parent,ai(e,!1));const n=e;(function cN(e){return K.skipHydrationRootTNode===e})(n)&&function hN(){K.skipHydrationRootTNode=null}(),function lN(){K.lFrame.elementDepthCount--}();const t=pe();return t.firstCreatePass&&(sc(t,e),Cf(e)&&t.queries.elementEnd(e)),null!=n.classesWithoutHost&&function IN(e){return 0!=(8&e.flags)}(n)&&op(t,n,O(),n.classesWithoutHost,!0),null!=n.stylesWithoutHost&&function NN(e){return 0!=(16&e.flags)}(n)&&op(t,n,O(),n.stylesWithoutHost,!1),f}function Ae(e,n,t,i){return p(e,n,t,i),f(),Ae}let _0=(e,n,t,i,r,o)=>(Wi(!0),Ec(i,r,function Rv(){return K.lFrame.currentNamespace}()));function Zi(e,n,t){const i=O(),r=pe(),o=e+ue,s=r.firstCreatePass?function RR(e,n,t,i,r){const o=n.consts,s=zi(o,i),a=Uo(n,e,8,"ng-container",s);return null!==s&&qc(a,s,!0),qh(n,t,a,zi(o,r)),null!==n.queries&&n.queries.elementStart(n,a),a}(o,r,i,n,t):r.data[o];ai(s,!0);const a=y0(r,i,s,e);return i[o]=a,oc()&&Mc(r,i,a,s),Lt(a,i),tc(s)&&(Gh(r,i,s),Uh(r,s,i)),null!=t&&zh(i,s),Zi}function Ji(){let e=It();const n=pe();return Af()?Rf():(e=e.parent,ai(e,!1)),n.firstCreatePass&&(sc(n,e),Cf(e)&&n.queries.elementEnd(e)),Ji}let y0=(e,n,t,i)=>(Wi(!0),ih(n[ne],""));function Ze(){return O()}function Sa(e){return!!e&&"function"==typeof e.then}function b0(e){return!!e&&"function"==typeof e.subscribe}function Z(e,n,t,i){const r=O(),o=pe(),s=It();return function w0(e,n,t,i,r,o,s){const a=tc(i),c=e.firstCreatePass&&j1(e),u=n[rt],d=B1(n);let h=!0;if(3&i.type||s){const y=en(i,n),D=s?s(y):y,M=d.length,C=s?k=>s(je(k[i.index])):i.index;let P=null;if(!s&&a&&(P=function FR(e,n,t,i){const r=e.cleanup;if(null!=r)for(let o=0;ol?a[l]:null}"string"==typeof s&&(o+=2)}return null}(e,n,r,i.index)),null!==P)(P.__ngLastListenerFn__||P).__ngNextListenerFn__=o,P.__ngLastListenerFn__=o,h=!1;else{o=E0(i,n,u,o,!1);const k=t.listen(D,r,o);d.push(o,k),c&&c.push(r,C,M,M+1)}}else o=E0(i,n,u,o,!1);const _=i.outputs;let v;if(h&&null!==_&&(v=_[r])){const y=v.length;if(y)for(let D=0;D-1?dn(e.index,n):n);let l=C0(n,t,i,s),c=o.__ngNextListenerFn__;for(;c;)l=C0(n,t,c,s)&&l,c=c.__ngNextListenerFn__;return r&&!1===l&&s.preventDefault(),l}}function T(e=1){return function yN(e){return(K.lFrame.contextLView=function bN(e,n){for(;e>0;)n=n[po],e--;return n}(e,K.lFrame.contextLView))[rt]}(e)}function LR(e,n){let t=null;const i=function CI(e){const n=e.attrs;if(null!=n){const t=n.indexOf(5);if(!(1&t))return n[t+1]}return null}(e);for(let r=0;r>17&32767}function sp(e){return 2|e}function Mr(e){return(131068&e)>>2}function ap(e,n){return-131069&e|n<<2}function lp(e){return 1|e}function k0(e,n,t,i,r){const o=e[t+1],s=null===n;let a=i?Xi(o):Mr(o),l=!1;for(;0!==a&&(!1===l||s);){const u=e[a+1];UR(e[a],n)&&(l=!0,e[a+1]=i?lp(u):sp(u)),a=i?Xi(u):Mr(u)}l&&(e[t+1]=i?sp(o):lp(o))}function UR(e,n){return null===e||null==n||(Array.isArray(e)?e[1]:e)===n||!(!Array.isArray(e)||"string"!=typeof n)&&Io(e,n)>=0}const _t={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function F0(e){return e.substring(_t.key,_t.keyEnd)}function L0(e,n){const t=_t.textEnd;return t===n?-1:(n=_t.keyEnd=function qR(e,n,t){for(;n32;)n++;return n}(e,_t.key=n,t),Ko(e,n,t))}function Ko(e,n,t){for(;n=0;t=L0(n,t))fn(e,F0(n),!0)}function U0(e,n){return n>=e.expandoStartIndex}function G0(e,n,t,i){const r=e.data;if(null===r[t+1]){const o=r[Ut()],s=U0(e,t);Y0(o,i)&&null===n&&!s&&(n=!1),n=function XR(e,n,t,i){const r=function kf(e){const n=K.lFrame.currentDirectiveIndex;return-1===n?null:e[n]}(e);let o=i?n.residualClasses:n.residualStyles;if(null===r)0===(i?n.classBindings:n.styleBindings)&&(t=Ma(t=cp(null,e,n,t,i),n.attrs,i),o=null);else{const s=n.directiveStylingLast;if(-1===s||e[s]!==r)if(t=cp(r,e,n,t,i),null===o){let l=function QR(e,n,t){const i=t?n.classBindings:n.styleBindings;if(0!==Mr(i))return e[Xi(i)]}(e,n,i);void 0!==l&&Array.isArray(l)&&(l=cp(null,e,n,l[1],i),l=Ma(l,n.attrs,i),function KR(e,n,t,i){e[Xi(t?n.classBindings:n.styleBindings)]=i}(e,n,i,l))}else o=function e2(e,n,t){let i;const r=n.directiveEnd;for(let o=1+n.directiveStylingLast;o0)&&(c=!0)):u=t,r)if(0!==l){const h=Xi(e[a+1]);e[i+1]=nu(h,a),0!==h&&(e[h+1]=ap(e[h+1],i)),e[a+1]=function BR(e,n){return 131071&e|n<<17}(e[a+1],i)}else e[i+1]=nu(a,0),0!==a&&(e[a+1]=ap(e[a+1],i)),a=i;else e[i+1]=nu(l,0),0===a?a=i:e[l+1]=ap(e[l+1],i),l=i;c&&(e[i+1]=sp(e[i+1])),k0(e,u,i,!0),k0(e,u,i,!1),function $R(e,n,t,i,r){const o=r?e.residualClasses:e.residualStyles;null!=o&&"string"==typeof n&&Io(o,n)>=0&&(t[i+1]=lp(t[i+1]))}(n,u,e,i,o),s=nu(a,l),o?n.classBindings=s:n.styleBindings=s}(r,o,n,t,s,i)}}function cp(e,n,t,i,r){let o=null;const s=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=e[r],c=Array.isArray(l),u=c?l[1]:l,d=null===u;let h=t[r+1];h===ie&&(h=d?ye:void 0);let _=d?qf(h,i):u===i?h:void 0;if(c&&!iu(_)&&(_=qf(l,i)),iu(_)&&(a=_,s))return a;const v=e[r+1];r=s?Xi(v):Mr(v)}if(null!==n){let l=o?n.residualClasses:n.residualStyles;null!=l&&(a=qf(l,i))}return a}function iu(e){return void 0!==e}function Y0(e,n){return 0!=(e.flags&(n?8:16))}function m(e,n=""){const t=O(),i=pe(),r=e+ue,o=i.firstCreatePass?Uo(i,r,1,n,null):i.data[r],s=Z0(i,t,o,n,e);t[r]=s,oc()&&Mc(i,t,s,o),ai(o,!1)}let Z0=(e,n,t,i,r)=>(Wi(!0),function Cc(e,n){return e.createText(n)}(n[ne],i));function A(e){return V("",e,""),A}function V(e,n,t){const i=O(),r=zo(i,e,n,t);return r!==ie&&Oi(i,Ut(),r),V}function up(e,n,t,i,r){const o=O(),s=Wo(o,e,n,t,i,r);return s!==ie&&Oi(o,Ut(),s),up}const ts="en-US";let gb=ts;function hp(e,n,t,i,r){if(e=ee(e),Array.isArray(e))for(let o=0;o>20;if(Er(e)||!e.multi){const _=new Qs(c,r,b),v=gp(l,n,r?u:u+h,d);-1===v?(Gf(uc(a,s),o,l),pp(o,e,n.length),n.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),t.push(_),s.push(_)):(t[v]=_,s[v]=_)}else{const _=gp(l,n,u+h,d),v=gp(l,n,u,u+h),D=v>=0&&t[v];if(r&&!D||!r&&!(_>=0&&t[_])){Gf(uc(a,s),o,l);const M=function EP(e,n,t,i,r){const o=new Qs(e,t,b);return o.multi=[],o.index=n,o.componentProviders=0,jb(o,r,i&&!t),o}(r?CP:wP,t.length,r,i,c);!r&&D&&(t[v].providerFactory=M),pp(o,e,n.length,0),n.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),t.push(M),s.push(M)}else pp(o,e,_>-1?_:v,jb(t[r?v:_],c,!r&&i));!r&&i&&D&&t[v].componentProviders++}}}function pp(e,n,t,i){const r=Er(n),o=function mx(e){return!!e.useClass}(n);if(r||o){const l=(o?ee(n.useClass):n).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!r&&n.multi){const u=c.indexOf(t);-1===u?c.push(t,[i,l]):c[u+1].push(i,l)}else c.push(t,l)}}}function jb(e,n,t){return t&&e.componentProviders++,e.multi.push(n)-1}function gp(e,n,t,i){for(let r=t;r{t.providersResolver=(i,r)=>function DP(e,n,t){const i=pe();if(i.firstCreatePass){const r=Bn(e);hp(t,i.data,i.blueprint,r,!0),hp(n,i.data,i.blueprint,r,!1)}}(i,r?r(e):e,n)}}class Or{}class Hb{}class _p extends Or{constructor(n,t,i){super(),this._parent=t,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new Z1(this);const r=un(n);this._bootstrapComponents=Ni(r.bootstrap),this._r3Injector=l1(n,t,[{provide:Or,useValue:this},{provide:Hc,useValue:this.componentFactoryResolver},...i],gt(n),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(n)}get injector(){return this._r3Injector}destroy(){const n=this._r3Injector;!n.destroyed&&n.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}}class vp extends Hb{constructor(n){super(),this.moduleType=n}create(n){return new _p(this.moduleType,n,[])}}class $b extends Or{constructor(n){super(),this.componentFactoryResolver=new Z1(this),this.instance=null;const t=new ko([...n.providers,{provide:Or,useValue:this},{provide:Hc,useValue:this.componentFactoryResolver}],n.parent||Pc(),n.debugName,new Set(["environment"]));this.injector=t,n.runEnvironmentInitializers&&t.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(n){this.injector.onDestroy(n)}}function yp(e,n,t=null){return new $b({providers:e,parent:n,debugName:t,runEnvironmentInitializers:!0}).injector}let MP=(()=>{class e{constructor(t){this._injector=t,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(t){if(!t.standalone)return null;if(!this.cachedInjectors.has(t)){const i=Wy(0,t.type),r=i.length>0?yp([i],this._injector,`Standalone[${t.type.name}]`):null;this.cachedInjectors.set(t,r)}return this.cachedInjectors.get(t)}ngOnDestroy(){try{for(const t of this.cachedInjectors.values())null!==t&&t.destroy()}finally{this.cachedInjectors.clear()}}static#e=this.\u0275prov=B({token:e,providedIn:"environment",factory:()=>new e(H(zt))})}return e})();function In(e){e.getStandaloneInjector=n=>n.get(MP).getOrCreateStandaloneInjector(e)}function $n(e,n,t,i){return Zb(O(),$t(),e,n,t,i)}function ns(e,n,t,i,r,o,s,a){const l=$t()+e,c=O(),u=function Sn(e,n,t,i,r,o){const s=Sr(e,n,t,i);return Sr(e,n+2,r,o)||s}(c,l,t,i,r,o);return Vt(c,l+4,s)||u?ui(c,l+5,a?n.call(a,t,i,r,o,s):n(t,i,r,o,s)):function wa(e,n){return e[n]}(c,l+5)}function Zb(e,n,t,i,r,o){const s=n+t;return Vt(e,s,r)?ui(e,s+1,o?i.call(o,r):i(r)):function ka(e,n){const t=e[n];return t===ie?void 0:t}(e,s+1)}function lu(e,n){const t=pe();let i;const r=e+ue;t.firstCreatePass?(i=function $P(e,n){if(n)for(let t=n.length-1;t>=0;t--){const i=n[t];if(e===i.name)return i}}(n,t.pipeRegistry),t.data[r]=i,i.onDestroy&&(t.destroyHooks??=[]).push(r,i.onDestroy)):i=t.data[r];const o=i.factory||(i.factory=yr(i.type)),a=Qt(b);try{const l=cc(!1),c=o();return cc(l),function NR(e,n,t,i){t>=e.data.length&&(e.data[t]=null,e.blueprint[t]=null),n[t]=i}(t,O(),r,c),c}finally{Qt(a)}}function cu(e,n,t){const i=e+ue,r=O(),o=function vo(e,n){return e[n]}(r,i);return function Fa(e,n){return e[$].data[n].pure}(r,i)?Zb(r,$t(),n,o.transform,t,o):o.transform(t)}function qP(){return this._results[Symbol.iterator]()}class wp{static#e=Symbol.iterator;get changes(){return this._changes||(this._changes=new Y)}constructor(n=!1){this._emitDistinctChangesOnly=n,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const t=wp.prototype;t[Symbol.iterator]||(t[Symbol.iterator]=qP)}get(n){return this._results[n]}map(n){return this._results.map(n)}filter(n){return this._results.filter(n)}find(n){return this._results.find(n)}reduce(n,t){return this._results.reduce(n,t)}forEach(n){this._results.forEach(n)}some(n){return this._results.some(n)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(n,t){const i=this;i.dirty=!1;const r=function Tn(e){return e.flat(Number.POSITIVE_INFINITY)}(n);(this._changesDetected=!function UN(e,n,t){if(e.length!==n.length)return!1;for(let i=0;i0&&(t[r-1][Vn]=n),i{class e{static#e=this.__NG_ELEMENT_ID__=QP}return e})();const JP=Je,XP=class extends JP{constructor(n,t,i){super(),this._declarationLView=n,this._declarationTContainer=t,this.elementRef=i}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(n,t){return this.createEmbeddedViewImpl(n,t)}createEmbeddedViewImpl(n,t,i){const r=function YP(e,n,t,i){const r=n.tView,a=zc(e,r,t,4096&e[re]?4096:16,null,n,null,null,null,i?.injector??null,i?.hydrationInfo??null);a[zs]=e[n.index];const c=e[ri];return null!==c&&(a[ri]=c.createEmbeddedView(r)),Qh(r,a,t),a}(this._declarationLView,this._declarationTContainer,n,{injector:t,hydrationInfo:i});return new ya(r)}};function QP(){return uu(It(),O())}function uu(e,n){return 4&e.type?new XP(n,e,Bo(e,n)):null}let Nn=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=rk}return e})();function rk(){return sD(It(),O())}const ok=Nn,rD=class extends ok{constructor(n,t,i){super(),this._lContainer=n,this._hostTNode=t,this._hostLView=i}get element(){return Bo(this._hostTNode,this._hostLView)}get injector(){return new Gt(this._hostTNode,this._hostLView)}get parentInjector(){const n=dc(this._hostTNode,this._hostLView);if(Hf(n)){const t=ea(n,this._hostLView),i=Ks(n);return new Gt(t[$].data[i+8],t)}return new Gt(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){const t=oD(this._lContainer);return null!==t&&t[n]||null}get length(){return this._lContainer.length-Tt}createEmbeddedView(n,t,i){let r,o;"number"==typeof i?r=i:null!=i&&(r=i.index,o=i.injector);const a=n.createEmbeddedViewImpl(t||{},o,null);return this.insertImpl(a,r,false),a}createComponent(n,t,i,r,o){const s=n&&!function na(e){return"function"==typeof e}(n);let a;if(s)a=t;else{const y=t||{};a=y.index,i=y.injector,r=y.projectableNodes,o=y.environmentInjector||y.ngModuleRef}const l=s?n:new ba(he(n)),c=i||this.parentInjector;if(!o&&null==l.ngModule){const D=(s?c:this.parentInjector).get(zt,null);D&&(o=D)}he(l.componentType??{});const _=l.create(c,r,null,o);return this.insertImpl(_.hostView,a,false),_}insert(n,t){return this.insertImpl(n,t,!1)}insertImpl(n,t,i){const r=n._lView;if(function iN(e){return Ht(e[ze])}(r)){const l=this.indexOf(n);if(-1!==l)this.detach(l);else{const c=r[ze],u=new rD(c,c[Ft],c[ze]);u.detach(u.indexOf(n))}}const s=this._adjustIndex(t),a=this._lContainer;return ZP(a,r,s,!i),n.attachToViewContainerRef(),Yv(Cp(a),s,n),n}move(n,t){return this.insert(n,t)}indexOf(n){const t=oD(this._lContainer);return null!==t?t.indexOf(n):-1}remove(n){const t=this._adjustIndex(n,-1),i=Tc(this._lContainer,t);i&&(hc(Cp(this._lContainer),t),rh(i[$],i))}detach(n){const t=this._adjustIndex(n,-1),i=Tc(this._lContainer,t);return i&&null!=hc(Cp(this._lContainer),t)?new ya(i):null}_adjustIndex(n,t=0){return n??this.length+t}};function oD(e){return e[8]}function Cp(e){return e[8]||(e[8]=[])}function sD(e,n){let t;const i=n[e.index];return Ht(i)?t=i:(t=L1(i,n,null,e),n[e.index]=t,Wc(n,t)),aD(t,n,e,i),new rD(t,e,n)}let aD=function lD(e,n,t,i){if(e[oi])return;let r;r=8&t.type?je(i):function sk(e,n){const t=e[ne],i=t.createComment(""),r=en(n,e);return Cr(t,Sc(t,r),i,function LO(e,n){return e.nextSibling(n)}(t,r),!1),i}(n,t),e[oi]=r};class Ep{constructor(n){this.queryList=n,this.matches=null}clone(){return new Ep(this.queryList)}setDirty(){this.queryList.setDirty()}}class Tp{constructor(n=[]){this.queries=n}createEmbeddedView(n){const t=n.queries;if(null!==t){const i=null!==n.contentQueries?n.contentQueries[0]:t.length,r=[];for(let o=0;o0)i.push(s[a/2]);else{const c=o[a+1],u=n[-l];for(let d=Tt;d{class e{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,i)=>{this.resolve=t,this.reject=i}),this.appInits=F(Pp,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const t=[];for(const r of this.appInits){const o=r();if(Sa(o))t.push(o);else if(b0(o)){const s=new Promise((a,l)=>{o.subscribe({complete:a,error:l})});t.push(s)}}const i=()=>{this.done=!0,this.resolve()};Promise.all(t).then(()=>{i()}).catch(r=>{this.reject(r)}),0===t.length&&i(),this.initialized=!0}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),OD=(()=>{class e{log(t){console.log(t)}warn(t){console.warn(t)}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();const Gn=new z("LocaleId",{providedIn:"root",factory:()=>F(Gn,ce.Optional|ce.SkipSelf)||function kk(){return typeof $localize<"u"&&$localize.locale||ts}()});let hu=(()=>{class e{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new Dn(!1)}add(){this.hasPendingTasks.next(!0);const t=this.taskId++;return this.pendingTasks.add(t),t}remove(t){this.pendingTasks.delete(t),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();class Vk{constructor(n,t){this.ngModuleFactory=n,this.componentFactories=t}}let xD=(()=>{class e{compileModuleSync(t){return new vp(t)}compileModuleAsync(t){return Promise.resolve(this.compileModuleSync(t))}compileModuleAndAllComponentsSync(t){const i=this.compileModuleSync(t),o=Ni(un(t).declarations).reduce((s,a)=>{const l=he(a);return l&&s.push(new ba(l)),s},[]);return new Vk(i,o)}compileModuleAndAllComponentsAsync(t){return Promise.resolve(this.compileModuleAndAllComponentsSync(t))}clearCache(){}clearCacheFor(t){}getModuleId(t){}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const kD=new z(""),gu=new z("");let jp,Vp=(()=>{class e{constructor(t,i,r){this._ngZone=t,this.registry=i,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,jp||(function sF(e){jp=e}(r),r.addToWindow(i)),this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{fe.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(t)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,i,r){let o=-1;i&&i>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==o),t(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:t,timeoutId:o,updateCb:r})}whenStable(t,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(t){this.registry.registerApplication(t,this)}unregisterApplication(t){this.registry.unregisterApplication(t)}findProviders(t,i,r){return[]}static#e=this.\u0275fac=function(i){return new(i||e)(H(fe),H(Bp),H(gu))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})(),Bp=(()=>{class e{constructor(){this._applications=new Map}registerApplication(t,i){this._applications.set(t,i)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,i=!0){return jp?.findTestabilityInTree(this,t,i)??null}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})(),Qi=null;const FD=new z("AllowMultipleToken"),Hp=new z("PlatformDestroyListeners"),$p=new z("appBootstrapListener");class VD{constructor(n,t){this.name=n,this.token=t}}function jD(e,n,t=[]){const i=`Platform: ${n}`,r=new z(i);return(o=[])=>{let s=Up();if(!s||s.injector.get(FD,!1)){const a=[...t,...o,{provide:r,useValue:!0}];e?e(a):function cF(e){if(Qi&&!Qi.get(FD,!1))throw new R(400,!1);(function LD(){!function $I(e){sv=e}(()=>{throw new R(600,!1)})})(),Qi=e;const n=e.get($D);(function BD(e){e.get(Xy,null)?.forEach(t=>t())})(e)}(function HD(e=[],n){return Nt.create({name:n,providers:[{provide:Dh,useValue:"platform"},{provide:Hp,useValue:new Set([()=>Qi=null])},...e]})}(a,i))}return function dF(e){const n=Up();if(!n)throw new R(401,!1);return n}()}}function Up(){return Qi?.get($D)??null}let $D=(()=>{class e{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,i){const r=function fF(e="zone.js",n){return"noop"===e?new Kx:"zone.js"===e?new fe(n):e}(i?.ngZone,function UD(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}({eventCoalescing:i?.ngZoneEventCoalescing,runCoalescing:i?.ngZoneRunCoalescing}));return r.run(()=>{const o=function SP(e,n,t){return new _p(e,n,t)}(t.moduleType,this.injector,function YD(e){return[{provide:fe,useFactory:e},{provide:fa,multi:!0,useFactory:()=>{const n=F(pF,{optional:!0});return()=>n.initialize()}},{provide:qD,useFactory:hF},{provide:h1,useFactory:p1}]}(()=>r)),s=o.injector.get(Ii,null);return r.runOutsideAngular(()=>{const a=r.onError.subscribe({next:l=>{s.handleError(l)}});o.onDestroy(()=>{mu(this._modules,o),a.unsubscribe()})}),function GD(e,n,t){try{const i=t();return Sa(i)?i.catch(r=>{throw n.runOutsideAngular(()=>e.handleError(r)),r}):i}catch(i){throw n.runOutsideAngular(()=>e.handleError(i)),i}}(s,r,()=>{const a=o.injector.get(kp);return a.runInitializers(),a.donePromise.then(()=>(function mb(e){Cn(e,"Expected localeId to be defined"),"string"==typeof e&&(gb=e.toLowerCase().replace(/_/g,"-"))}(o.injector.get(Gn,ts)||ts),this._moduleDoBootstrap(o),o))})})}bootstrapModule(t,i=[]){const r=zD({},i);return function aF(e,n,t){const i=new vp(t);return Promise.resolve(i)}(0,0,t).then(o=>this.bootstrapModuleFactory(o,r))}_moduleDoBootstrap(t){const i=t.injector.get(Ki);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!t.instance.ngDoBootstrap)throw new R(-403,!1);t.instance.ngDoBootstrap(i)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new R(404,!1);this._modules.slice().forEach(i=>i.destroy()),this._destroyListeners.forEach(i=>i());const t=this._injector.get(Hp,null);t&&(t.forEach(i=>i()),t.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}static#e=this.\u0275fac=function(i){return new(i||e)(H(Nt))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();function zD(e,n){return Array.isArray(n)?n.reduce(zD,e):{...e,...n}}let Ki=(()=>{class e{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=F(qD),this.zoneIsStable=F(h1),this.componentTypes=[],this.components=[],this.isStable=F(hu).hasPendingTasks.pipe(wn(t=>t?J(!1):this.zoneIsStable),function E_(e,n=kn){return e=e??eI,qe((t,i)=>{let r,o=!0;t.subscribe(Ve(i,s=>{const a=n(s);(o||!e(r,a))&&(o=!1,r=a,i.next(s))}))})}(),C_()),this._injector=F(zt)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(t,i){const r=t instanceof n1;if(!this._injector.get(kp).done)throw!r&&function uo(e){const n=he(e)||Et(e)||jt(e);return null!==n&&n.standalone}(t),new R(405,!1);let s;s=r?t:this._injector.get(Hc).resolveComponentFactory(t),this.componentTypes.push(s.componentType);const a=function lF(e){return e.isBoundToModule}(s)?void 0:this._injector.get(Or),c=s.create(Nt.NULL,[],i||s.selector,a),u=c.location.nativeElement,d=c.injector.get(kD,null);return d?.registerApplication(u),c.onDestroy(()=>{this.detachView(c.hostView),mu(this.components,c),d?.unregisterApplication(u)}),this._loadComponent(c),c}tick(){if(this._runningTick)throw new R(101,!1);try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this.internalErrorHandler(t)}finally{this._runningTick=!1}}attachView(t){const i=t;this._views.push(i),i.attachToAppRef(this)}detachView(t){const i=t;mu(this._views,i),i.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t);const i=this._injector.get($p,[]);i.push(...this._bootstrapListeners),i.forEach(r=>r(t))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(t=>t()),this._views.slice().forEach(t=>t.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(t){return this._destroyListeners.push(t),()=>mu(this._destroyListeners,t)}destroy(){if(this._destroyed)throw new R(406,!1);const t=this._injector;t.destroy&&!t.destroyed&&t.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function mu(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}const qD=new z("",{providedIn:"root",factory:()=>F(Ii).handleError.bind(void 0)});function hF(){const e=F(fe),n=F(Ii);return t=>e.runOutsideAngular(()=>n.handleError(t))}let pF=(()=>{class e{constructor(){this.zone=F(fe),this.applicationRef=F(Ki)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();let zn=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=mF}return e})();function mF(e){return function _F(e,n,t){if(vr(e)&&!t){const i=dn(e.index,n);return new ya(i,i)}return 47&e.type?new ya(n[ot],n):null}(It(),O(),16==(16&e))}class QD{constructor(){}supports(n){return Jc(n)}create(n){return new CF(n)}}const wF=(e,n)=>n;class CF{constructor(n){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=n||wF}forEachItem(n){let t;for(t=this._itHead;null!==t;t=t._next)n(t)}forEachOperation(n){let t=this._itHead,i=this._removalsHead,r=0,o=null;for(;t||i;){const s=!i||t&&t.currentIndex{s=this._trackByFn(r,a),null!==t&&Object.is(t.trackById,s)?(i&&(t=this._verifyReinsertion(t,a,s,r)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,s,r),i=!0),t=t._next,r++}),this.length=r;return this._truncate(t),this.collection=n,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let n;for(n=this._previousItHead=this._itHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._additionsHead;null!==n;n=n._nextAdded)n.previousIndex=n.currentIndex;for(this._additionsHead=this._additionsTail=null,n=this._movesHead;null!==n;n=n._nextMoved)n.previousIndex=n.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(n,t,i,r){let o;return null===n?o=this._itTail:(o=n._prev,this._remove(n)),null!==(n=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._reinsertAfter(n,o,r)):null!==(n=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._moveAfter(n,o,r)):n=this._addAfter(new EF(t,i),o,r),n}_verifyReinsertion(n,t,i,r){let o=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==o?n=this._reinsertAfter(o,n._prev,r):n.currentIndex!=r&&(n.currentIndex=r,this._addToMoves(n,r)),n}_truncate(n){for(;null!==n;){const t=n._next;this._addToRemovals(this._unlink(n)),n=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(n,t,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(n);const r=n._prevRemoved,o=n._nextRemoved;return null===r?this._removalsHead=o:r._nextRemoved=o,null===o?this._removalsTail=r:o._prevRemoved=r,this._insertAfter(n,t,i),this._addToMoves(n,i),n}_moveAfter(n,t,i){return this._unlink(n),this._insertAfter(n,t,i),this._addToMoves(n,i),n}_addAfter(n,t,i){return this._insertAfter(n,t,i),this._additionsTail=null===this._additionsTail?this._additionsHead=n:this._additionsTail._nextAdded=n,n}_insertAfter(n,t,i){const r=null===t?this._itHead:t._next;return n._next=r,n._prev=t,null===r?this._itTail=n:r._prev=n,null===t?this._itHead=n:t._next=n,null===this._linkedRecords&&(this._linkedRecords=new KD),this._linkedRecords.put(n),n.currentIndex=i,n}_remove(n){return this._addToRemovals(this._unlink(n))}_unlink(n){null!==this._linkedRecords&&this._linkedRecords.remove(n);const t=n._prev,i=n._next;return null===t?this._itHead=i:t._next=i,null===i?this._itTail=t:i._prev=t,n}_addToMoves(n,t){return n.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=n:this._movesTail._nextMoved=n),n}_addToRemovals(n){return null===this._unlinkedRecords&&(this._unlinkedRecords=new KD),this._unlinkedRecords.put(n),n.currentIndex=null,n._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=n,n._prevRemoved=null):(n._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=n),n}_addIdentityChange(n,t){return n.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=n:this._identityChangesTail._nextIdentityChange=n,n}}class EF{constructor(n,t){this.item=n,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class TF{constructor(){this._head=null,this._tail=null}add(n){null===this._head?(this._head=this._tail=n,n._nextDup=null,n._prevDup=null):(this._tail._nextDup=n,n._prevDup=this._tail,n._nextDup=null,this._tail=n)}get(n,t){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===t||t<=i.currentIndex)&&Object.is(i.trackById,n))return i;return null}remove(n){const t=n._prevDup,i=n._nextDup;return null===t?this._head=i:t._nextDup=i,null===i?this._tail=t:i._prevDup=t,null===this._head}}class KD{constructor(){this.map=new Map}put(n){const t=n.trackById;let i=this.map.get(t);i||(i=new TF,this.map.set(t,i)),i.add(n)}get(n,t){const r=this.map.get(n);return r?r.get(n,t):null}remove(n){const t=n.trackById;return this.map.get(t).remove(n)&&this.map.delete(t),n}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function ew(e,n,t){const i=e.previousIndex;if(null===i)return i;let r=0;return t&&i{if(t&&t.key===r)this._maybeAddToChanges(t,i),this._appendAfter=t,t=t._next;else{const o=this._getOrCreateRecordForKey(r,i);t=this._insertBeforeOrAppend(t,o)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let i=t;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(n,t){if(n){const i=n._prev;return t._next=n,t._prev=i,n._prev=t,i&&(i._next=t),n===this._mapHead&&(this._mapHead=t),this._appendAfter=n,n}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(n,t){if(this._records.has(n)){const r=this._records.get(n);this._maybeAddToChanges(r,t);const o=r._prev,s=r._next;return o&&(o._next=s),s&&(s._prev=o),r._next=null,r._prev=null,r}const i=new MF(n);return this._records.set(n,i),i.currentValue=t,this._addToAdditions(i),i}_reset(){if(this.isDirty){let n;for(this._previousMapHead=this._mapHead,n=this._previousMapHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._changesHead;null!==n;n=n._nextChanged)n.previousValue=n.currentValue;for(n=this._additionsHead;null!=n;n=n._nextAdded)n.previousValue=n.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(n,t){Object.is(t,n.currentValue)||(n.previousValue=n.currentValue,n.currentValue=t,this._addToChanges(n))}_addToAdditions(n){null===this._additionsHead?this._additionsHead=this._additionsTail=n:(this._additionsTail._nextAdded=n,this._additionsTail=n)}_addToChanges(n){null===this._changesHead?this._changesHead=this._changesTail=n:(this._changesTail._nextChanged=n,this._changesTail=n)}_forEach(n,t){n instanceof Map?n.forEach(t):Object.keys(n).forEach(i=>t(n[i],i))}}class MF{constructor(n){this.key=n,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function nw(){return new yu([new QD])}let yu=(()=>{class e{static#e=this.\u0275prov=B({token:e,providedIn:"root",factory:nw});constructor(t){this.factories=t}static create(t,i){if(null!=i){const r=i.factories.slice();t=t.concat(r)}return new e(t)}static extend(t){return{provide:e,useFactory:i=>e.create(t,i||nw()),deps:[[e,new mc,new gc]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(null!=i)return i;throw new R(901,!1)}}return e})();function iw(){return new Ba([new tw])}let Ba=(()=>{class e{static#e=this.\u0275prov=B({token:e,providedIn:"root",factory:iw});constructor(t){this.factories=t}static create(t,i){if(i){const r=i.factories.slice();t=t.concat(r)}return new e(t)}static extend(t){return{provide:e,useFactory:i=>e.create(t,i||iw()),deps:[[e,new mc,new gc]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(i)return i;throw new R(901,!1)}}return e})();const OF=jD(null,"core",[]);let xF=(()=>{class e{constructor(t){}static#e=this.\u0275fac=function(i){return new(i||e)(H(Ki))};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})();function Zp(e,n){const t=he(e),i=n.elementInjector||Pc();return new ba(t).create(i,n.projectableNodes,n.hostElement,n.environmentInjector)}let Jp=null;function er(){return Jp}class zF{}const ut=new z("DocumentToken");let Xp=(()=>{class e{historyGo(t){throw new Error("Not implemented")}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:function(){return F(qF)},providedIn:"platform"})}return e})();const WF=new z("Location Initialized");let qF=(()=>{class e extends Xp{constructor(){super(),this._doc=F(ut),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return er().getBaseHref(this._doc)}onPopState(t){const i=er().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",t,!1),()=>i.removeEventListener("popstate",t)}onHashChange(t){const i=er().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",t,!1),()=>i.removeEventListener("hashchange",t)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(t){this._location.pathname=t}pushState(t,i,r){this._history.pushState(t,i,r)}replaceState(t,i,r){this._history.replaceState(t,i,r)}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:function(){return new e},providedIn:"platform"})}return e})();function Qp(e,n){if(0==e.length)return n;if(0==n.length)return e;let t=0;return e.endsWith("/")&&t++,n.startsWith("/")&&t++,2==t?e+n.substring(1):1==t?e+n:e+"/"+n}function fw(e){const n=e.match(/#|\?|$/),t=n&&n.index||e.length;return e.slice(0,t-("/"===e[t-1]?1:0))+e.slice(t)}function xi(e){return e&&"?"!==e[0]?"?"+e:e}let Rr=(()=>{class e{historyGo(t){throw new Error("Not implemented")}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:function(){return F(pw)},providedIn:"root"})}return e})();const hw=new z("appBaseHref");let pw=(()=>{class e extends Rr{constructor(t,i){super(),this._platformLocation=t,this._removeListenerFns=[],this._baseHref=i??this._platformLocation.getBaseHrefFromDOM()??F(ut).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return Qp(this._baseHref,t)}path(t=!1){const i=this._platformLocation.pathname+xi(this._platformLocation.search),r=this._platformLocation.hash;return r&&t?`${i}${r}`:i}pushState(t,i,r,o){const s=this.prepareExternalUrl(r+xi(o));this._platformLocation.pushState(t,i,s)}replaceState(t,i,r,o){const s=this.prepareExternalUrl(r+xi(o));this._platformLocation.replaceState(t,i,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(t=0){this._platformLocation.historyGo?.(t)}static#e=this.\u0275fac=function(i){return new(i||e)(H(Xp),H(hw,8))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),YF=(()=>{class e extends Rr{constructor(t,i){super(),this._platformLocation=t,this._baseHref="",this._removeListenerFns=[],null!=i&&(this._baseHref=i)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}path(t=!1){let i=this._platformLocation.hash;return null==i&&(i="#"),i.length>0?i.substring(1):i}prepareExternalUrl(t){const i=Qp(this._baseHref,t);return i.length>0?"#"+i:i}pushState(t,i,r,o){let s=this.prepareExternalUrl(r+xi(o));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.pushState(t,i,s)}replaceState(t,i,r,o){let s=this.prepareExternalUrl(r+xi(o));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.replaceState(t,i,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(t=0){this._platformLocation.historyGo?.(t)}static#e=this.\u0275fac=function(i){return new(i||e)(H(Xp),H(hw,8))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})(),Kp=(()=>{class e{constructor(t){this._subject=new Y,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=t;const i=this._locationStrategy.getBaseHref();this._basePath=function XF(e){if(new RegExp("^(https?:)?//").test(e)){const[,t]=e.split(/\/\/[^\/]+/);return t}return e}(fw(gw(i))),this._locationStrategy.onPopState(r=>{this._subject.emit({url:this.path(!0),pop:!0,state:r.state,type:r.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(t=!1){return this.normalize(this._locationStrategy.path(t))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(t,i=""){return this.path()==this.normalize(t+xi(i))}normalize(t){return e.stripTrailingSlash(function JF(e,n){if(!e||!n.startsWith(e))return n;const t=n.substring(e.length);return""===t||["/",";","?","#"].includes(t[0])?t:n}(this._basePath,gw(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._locationStrategy.prepareExternalUrl(t)}go(t,i="",r=null){this._locationStrategy.pushState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+xi(i)),r)}replaceState(t,i="",r=null){this._locationStrategy.replaceState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+xi(i)),r)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(t=0){this._locationStrategy.historyGo?.(t)}onUrlChange(t){return this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)})),()=>{const i=this._urlChangeListeners.indexOf(t);this._urlChangeListeners.splice(i,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(t="",i){this._urlChangeListeners.forEach(r=>r(t,i))}subscribe(t,i,r){return this._subject.subscribe({next:t,error:i,complete:r})}static#e=this.normalizeQueryParams=xi;static#t=this.joinWithSlash=Qp;static#n=this.stripTrailingSlash=fw;static#i=this.\u0275fac=function(i){return new(i||e)(H(Rr))};static#r=this.\u0275prov=B({token:e,factory:function(){return function ZF(){return new Kp(H(Rr))}()},providedIn:"root"})}return e})();function gw(e){return e.replace(/\/index.html$/,"")}function Sw(e,n){n=encodeURIComponent(n);for(const t of e.split(";")){const i=t.indexOf("="),[r,o]=-1==i?[t,""]:[t.slice(0,i),t.slice(i+1)];if(r.trim()===n)return decodeURIComponent(o)}return null}const ug=/\s+/,Mw=[];let xu=(()=>{class e{constructor(t,i,r,o){this._iterableDiffers=t,this._keyValueDiffers=i,this._ngEl=r,this._renderer=o,this.initialClasses=Mw,this.stateMap=new Map}set klass(t){this.initialClasses=null!=t?t.trim().split(ug):Mw}set ngClass(t){this.rawClass="string"==typeof t?t.trim().split(ug):t}ngDoCheck(){for(const i of this.initialClasses)this._updateState(i,!0);const t=this.rawClass;if(Array.isArray(t)||t instanceof Set)for(const i of t)this._updateState(i,!0);else if(null!=t)for(const i of Object.keys(t))this._updateState(i,!!t[i]);this._applyStateDiff()}_updateState(t,i){const r=this.stateMap.get(t);void 0!==r?(r.enabled!==i&&(r.changed=!0,r.enabled=i),r.touched=!0):this.stateMap.set(t,{enabled:i,changed:!0,touched:!0})}_applyStateDiff(){for(const t of this.stateMap){const i=t[0],r=t[1];r.changed?(this._toggleClass(i,r.enabled),r.changed=!1):r.touched||(r.enabled&&this._toggleClass(i,!1),this.stateMap.delete(i)),r.touched=!1}}_toggleClass(t,i){(t=t.trim()).length>0&&t.split(ug).forEach(r=>{i?this._renderer.addClass(this._ngEl.nativeElement,r):this._renderer.removeClass(this._ngEl.nativeElement,r)})}static#e=this.\u0275fac=function(i){return new(i||e)(b(yu),b(Ba),b(Se),b(hn))};static#t=this.\u0275dir=L({type:e,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"},standalone:!0})}return e})();class RL{constructor(n,t,i,r){this.$implicit=n,this.ngForOf=t,this.index=i,this.count=r}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let qn=(()=>{class e{set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}constructor(t,i,r){this._viewContainer=t,this._template=i,this._differs=r,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;!this._differ&&t&&(this._differ=this._differs.find(t).create(this.ngForTrackBy))}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const i=this._viewContainer;t.forEachOperation((r,o,s)=>{if(null==r.previousIndex)i.createEmbeddedView(this._template,new RL(r.item,this._ngForOf,-1,-1),null===s?void 0:s);else if(null==s)i.remove(null===o?void 0:o);else if(null!==o){const a=i.get(o);i.move(a,s),Nw(a,r)}});for(let r=0,o=i.length;r{Nw(i.get(r.currentIndex),r)})}static ngTemplateContextGuard(t,i){return!0}static#e=this.\u0275fac=function(i){return new(i||e)(b(Nn),b(Je),b(yu))};static#t=this.\u0275dir=L({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0})}return e})();function Nw(e,n){e.context.$implicit=n.item}let Yn=(()=>{class e{constructor(t,i){this._viewContainer=t,this._context=new PL,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){Ow("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){Ow("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,i){return!0}static#e=this.\u0275fac=function(i){return new(i||e)(b(Nn),b(Je))};static#t=this.\u0275dir=L({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0})}return e})();class PL{constructor(){this.$implicit=null,this.ngIf=null}}function Ow(e,n){if(n&&!n.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${gt(n)}'.`)}let aV=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})();function Pw(e){return"server"===e}let dV=(()=>{class e{static#e=this.\u0275prov=B({token:e,providedIn:"root",factory:()=>new fV(H(ut),window)})}return e})();class fV{constructor(n,t){this.document=n,this.window=t,this.offset=()=>[0,0]}setOffset(n){this.offset=Array.isArray(n)?()=>n:n}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(n){this.supportsScrolling()&&this.window.scrollTo(n[0],n[1])}scrollToAnchor(n){if(!this.supportsScrolling())return;const t=function hV(e,n){const t=e.getElementById(n)||e.getElementsByName(n)[0];if(t)return t;if("function"==typeof e.createTreeWalker&&e.body&&"function"==typeof e.body.attachShadow){const i=e.createTreeWalker(e.body,NodeFilter.SHOW_ELEMENT);let r=i.currentNode;for(;r;){const o=r.shadowRoot;if(o){const s=o.getElementById(n)||o.querySelector(`[name="${n}"]`);if(s)return s}r=i.nextNode()}}return null}(this.document,n);t&&(this.scrollToElement(t),t.focus())}setHistoryScrollRestoration(n){this.supportsScrolling()&&(this.window.history.scrollRestoration=n)}scrollToElement(n){const t=n.getBoundingClientRect(),i=t.left+this.window.pageXOffset,r=t.top+this.window.pageYOffset,o=this.offset();this.window.scrollTo(i-o[0],r-o[1])}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch{return!1}}}class kw{}class FV extends zF{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class _g extends FV{static makeCurrent(){!function GF(e){Jp||(Jp=e)}(new _g)}onAndCancel(n,t,i){return n.addEventListener(t,i),()=>{n.removeEventListener(t,i)}}dispatchEvent(n,t){n.dispatchEvent(t)}remove(n){n.parentNode&&n.parentNode.removeChild(n)}createElement(n,t){return(t=t||this.getDefaultDocument()).createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,t){return"window"===t?window:"document"===t?n:"body"===t?n.body:null}getBaseHref(n){const t=function LV(){return Ua=Ua||document.querySelector("base"),Ua?Ua.getAttribute("href"):null}();return null==t?null:function VV(e){Pu=Pu||document.createElement("a"),Pu.setAttribute("href",e);const n=Pu.pathname;return"/"===n.charAt(0)?n:`/${n}`}(t)}resetBaseElement(){Ua=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return Sw(document.cookie,n)}}let Pu,Ua=null,jV=(()=>{class e{build(){return new XMLHttpRequest}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();const vg=new z("EventManagerPlugins");let jw=(()=>{class e{constructor(t,i){this._zone=i,this._eventNameToPlugin=new Map,t.forEach(r=>{r.manager=this}),this._plugins=t.slice().reverse()}addEventListener(t,i,r){return this._findPluginFor(i).addEventListener(t,i,r)}getZone(){return this._zone}_findPluginFor(t){let i=this._eventNameToPlugin.get(t);if(i)return i;if(i=this._plugins.find(o=>o.supports(t)),!i)throw new R(5101,!1);return this._eventNameToPlugin.set(t,i),i}static#e=this.\u0275fac=function(i){return new(i||e)(H(vg),H(fe))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();class Hw{constructor(n){this._doc=n}}const yg="ng-app-id";let $w=(()=>{class e{constructor(t,i,r,o={}){this.doc=t,this.appId=i,this.nonce=r,this.platformId=o,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=Pw(o),this.resetHostNodes()}addStyles(t){for(const i of t)1===this.changeUsageCount(i,1)&&this.onStyleAdded(i)}removeStyles(t){for(const i of t)this.changeUsageCount(i,-1)<=0&&this.onStyleRemoved(i)}ngOnDestroy(){const t=this.styleNodesInDOM;t&&(t.forEach(i=>i.remove()),t.clear());for(const i of this.getAllStyles())this.onStyleRemoved(i);this.resetHostNodes()}addHost(t){this.hostNodes.add(t);for(const i of this.getAllStyles())this.addStyleToHost(t,i)}removeHost(t){this.hostNodes.delete(t)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(t){for(const i of this.hostNodes)this.addStyleToHost(i,t)}onStyleRemoved(t){const i=this.styleRef;i.get(t)?.elements?.forEach(r=>r.remove()),i.delete(t)}collectServerRenderedStyles(){const t=this.doc.head?.querySelectorAll(`style[${yg}="${this.appId}"]`);if(t?.length){const i=new Map;return t.forEach(r=>{null!=r.textContent&&i.set(r.textContent,r)}),i}return null}changeUsageCount(t,i){const r=this.styleRef;if(r.has(t)){const o=r.get(t);return o.usage+=i,o.usage}return r.set(t,{usage:i,elements:[]}),i}getStyleElement(t,i){const r=this.styleNodesInDOM,o=r?.get(i);if(o?.parentNode===t)return r.delete(i),o.removeAttribute(yg),o;{const s=this.doc.createElement("style");return this.nonce&&s.setAttribute("nonce",this.nonce),s.textContent=i,this.platformIsServer&&s.setAttribute(yg,this.appId),s}}addStyleToHost(t,i){const r=this.getStyleElement(t,i);t.appendChild(r);const o=this.styleRef,s=o.get(i)?.elements;s?s.push(r):o.set(i,{elements:[r],usage:1})}resetHostNodes(){const t=this.hostNodes;t.clear(),t.add(this.doc.head)}static#e=this.\u0275fac=function(i){return new(i||e)(H(ut),H(kc),H(Qy,8),H(Tr))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();const bg={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},Dg=/%COMP%/g,GV=new z("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function Gw(e,n){return n.map(t=>t.replace(Dg,e))}let zw=(()=>{class e{constructor(t,i,r,o,s,a,l,c=null){this.eventManager=t,this.sharedStylesHost=i,this.appId=r,this.removeStylesOnCompDestroy=o,this.doc=s,this.platformId=a,this.ngZone=l,this.nonce=c,this.rendererByCompId=new Map,this.platformIsServer=Pw(a),this.defaultRenderer=new wg(t,s,l,this.platformIsServer)}createRenderer(t,i){if(!t||!i)return this.defaultRenderer;this.platformIsServer&&i.encapsulation===Fn.ShadowDom&&(i={...i,encapsulation:Fn.Emulated});const r=this.getOrCreateRenderer(t,i);return r instanceof qw?r.applyToHost(t):r instanceof Cg&&r.applyStyles(),r}getOrCreateRenderer(t,i){const r=this.rendererByCompId;let o=r.get(i.id);if(!o){const s=this.doc,a=this.ngZone,l=this.eventManager,c=this.sharedStylesHost,u=this.removeStylesOnCompDestroy,d=this.platformIsServer;switch(i.encapsulation){case Fn.Emulated:o=new qw(l,c,i,this.appId,u,s,a,d);break;case Fn.ShadowDom:return new YV(l,c,t,i,s,a,this.nonce,d);default:o=new Cg(l,c,i,u,s,a,d)}r.set(i.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}static#e=this.\u0275fac=function(i){return new(i||e)(H(jw),H($w),H(kc),H(GV),H(ut),H(Tr),H(fe),H(Qy))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();class wg{constructor(n,t,i,r){this.eventManager=n,this.doc=t,this.ngZone=i,this.platformIsServer=r,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(n,t){return t?this.doc.createElementNS(bg[t]||t,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,t){(Ww(n)?n.content:n).appendChild(t)}insertBefore(n,t,i){n&&(Ww(n)?n.content:n).insertBefore(t,i)}removeChild(n,t){n&&n.removeChild(t)}selectRootElement(n,t){let i="string"==typeof n?this.doc.querySelector(n):n;if(!i)throw new R(-5104,!1);return t||(i.textContent=""),i}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,t,i,r){if(r){t=r+":"+t;const o=bg[r];o?n.setAttributeNS(o,t,i):n.setAttribute(t,i)}else n.setAttribute(t,i)}removeAttribute(n,t,i){if(i){const r=bg[i];r?n.removeAttributeNS(r,t):n.removeAttribute(`${i}:${t}`)}else n.removeAttribute(t)}addClass(n,t){n.classList.add(t)}removeClass(n,t){n.classList.remove(t)}setStyle(n,t,i,r){r&(qi.DashCase|qi.Important)?n.style.setProperty(t,i,r&qi.Important?"important":""):n.style[t]=i}removeStyle(n,t,i){i&qi.DashCase?n.style.removeProperty(t):n.style[t]=""}setProperty(n,t,i){n[t]=i}setValue(n,t){n.nodeValue=t}listen(n,t,i){if("string"==typeof n&&!(n=er().getGlobalEventTarget(this.doc,n)))throw new Error(`Unsupported event target ${n} for event ${t}`);return this.eventManager.addEventListener(n,t,this.decoratePreventDefault(i))}decoratePreventDefault(n){return t=>{if("__ngUnwrap__"===t)return n;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>n(t)):n(t))&&t.preventDefault()}}}function Ww(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class YV extends wg{constructor(n,t,i,r,o,s,a,l){super(n,o,s,l),this.sharedStylesHost=t,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=Gw(r.id,r.styles);for(const u of c){const d=document.createElement("style");a&&d.setAttribute("nonce",a),d.textContent=u,this.shadowRoot.appendChild(d)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,t){return super.appendChild(this.nodeOrShadowRoot(n),t)}insertBefore(n,t,i){return super.insertBefore(this.nodeOrShadowRoot(n),t,i)}removeChild(n,t){return super.removeChild(this.nodeOrShadowRoot(n),t)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class Cg extends wg{constructor(n,t,i,r,o,s,a,l){super(n,o,s,a),this.sharedStylesHost=t,this.removeStylesOnCompDestroy=r,this.styles=l?Gw(l,i.styles):i.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class qw extends Cg{constructor(n,t,i,r,o,s,a,l){const c=r+"-"+i.id;super(n,t,i,o,s,a,l,c),this.contentAttr=function zV(e){return"_ngcontent-%COMP%".replace(Dg,e)}(c),this.hostAttr=function WV(e){return"_nghost-%COMP%".replace(Dg,e)}(c)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,t){const i=super.createElement(n,t);return super.setAttribute(i,this.contentAttr,""),i}}let ZV=(()=>{class e extends Hw{constructor(t){super(t)}supports(t){return!0}addEventListener(t,i,r){return t.addEventListener(i,r,!1),()=>this.removeEventListener(t,i,r)}removeEventListener(t,i,r){return t.removeEventListener(i,r)}static#e=this.\u0275fac=function(i){return new(i||e)(H(ut))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();const Yw=["alt","control","meta","shift"],JV={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},XV={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let QV=(()=>{class e extends Hw{constructor(t){super(t)}supports(t){return null!=e.parseEventName(t)}addEventListener(t,i,r){const o=e.parseEventName(i),s=e.eventCallback(o.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>er().onAndCancel(t,o.domEventName,s))}static parseEventName(t){const i=t.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const o=e._normalizeKey(i.pop());let s="",a=i.indexOf("code");if(a>-1&&(i.splice(a,1),s="code."),Yw.forEach(c=>{const u=i.indexOf(c);u>-1&&(i.splice(u,1),s+=c+".")}),s+=o,0!=i.length||0===o.length)return null;const l={};return l.domEventName=r,l.fullKey=s,l}static matchEventFullKeyCode(t,i){let r=JV[t.key]||t.key,o="";return i.indexOf("code.")>-1&&(r=t.code,o="code."),!(null==r||!r)&&(r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),Yw.forEach(s=>{s!==r&&(0,XV[s])(t)&&(o+=s+".")}),o+=r,o===i)}static eventCallback(t,i,r){return o=>{e.matchEventFullKeyCode(o,t)&&r.runGuarded(()=>i(o))}}static _normalizeKey(t){return"esc"===t?"escape":t}static#e=this.\u0275fac=function(i){return new(i||e)(H(ut))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();const nB=jD(OF,"browser",[{provide:Tr,useValue:"browser"},{provide:Xy,useValue:function KV(){_g.makeCurrent()},multi:!0},{provide:ut,useFactory:function tB(){return function zO(e){dh=e}(document),document},deps:[]}]),iB=new z(""),Xw=[{provide:gu,useClass:class BV{addToWindow(n){Be.getAngularTestability=(i,r=!0)=>{const o=n.findTestabilityInTree(i,r);if(null==o)throw new R(5103,!1);return o},Be.getAllAngularTestabilities=()=>n.getAllTestabilities(),Be.getAllAngularRootElements=()=>n.getAllRootElements(),Be.frameworkStabilizers||(Be.frameworkStabilizers=[]),Be.frameworkStabilizers.push(i=>{const r=Be.getAllAngularTestabilities();let o=r.length,s=!1;const a=function(l){s=s||l,o--,0==o&&i(s)};r.forEach(l=>{l.whenStable(a)})})}findTestabilityInTree(n,t,i){return null==t?null:n.getTestability(t)??(i?er().isShadowRoot(t)?this.findTestabilityInTree(n,t.host,!0):this.findTestabilityInTree(n,t.parentElement,!0):null)}},deps:[]},{provide:kD,useClass:Vp,deps:[fe,Bp,gu]},{provide:Vp,useClass:Vp,deps:[fe,Bp,gu]}],Qw=[{provide:Dh,useValue:"root"},{provide:Ii,useFactory:function eB(){return new Ii},deps:[]},{provide:vg,useClass:ZV,multi:!0,deps:[ut,fe,Tr]},{provide:vg,useClass:QV,multi:!0,deps:[ut]},zw,$w,jw,{provide:kh,useExisting:zw},{provide:kw,useClass:jV,deps:[]},[]];let rB=(()=>{class e{constructor(t){}static withServerTransition(t){return{ngModule:e,providers:[{provide:kc,useValue:t.appId}]}}static#e=this.\u0275fac=function(i){return new(i||e)(H(iB,12))};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({providers:[...Qw,...Xw],imports:[aV,xF]})}return e})(),Kw=(()=>{class e{constructor(t){this._doc=t}getTitle(){return this._doc.title}setTitle(t){this._doc.title=t||""}static#e=this.\u0275fac=function(i){return new(i||e)(H(ut))};static#t=this.\u0275prov=B({token:e,factory:function(i){let r=null;return r=i?new i:function sB(){return new Kw(H(ut))}(),r},providedIn:"root"})}return e})();function ls(e,n){return se(n)?ht(e,n,1):ht(e,1)}function vt(e,n){return qe((t,i)=>{let r=0;t.subscribe(Ve(i,o=>e.call(n,o,r++)&&i.next(o)))})}function Ga(e){return qe((n,t)=>{try{n.subscribe(t)}finally{t.add(e)}})}typeof window<"u"&&window;class ku{}class Fu{}class pi{constructor(n){this.normalizedNames=new Map,this.lazyUpdate=null,n?"string"==typeof n?this.lazyInit=()=>{this.headers=new Map,n.split("\n").forEach(t=>{const i=t.indexOf(":");if(i>0){const r=t.slice(0,i),o=r.toLowerCase(),s=t.slice(i+1).trim();this.maybeSetNormalizedName(r,o),this.headers.has(o)?this.headers.get(o).push(s):this.headers.set(o,[s])}})}:typeof Headers<"u"&&n instanceof Headers?(this.headers=new Map,n.forEach((t,i)=>{this.setHeaderEntries(i,t)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(n).forEach(([t,i])=>{this.setHeaderEntries(t,i)})}:this.headers=new Map}has(n){return this.init(),this.headers.has(n.toLowerCase())}get(n){this.init();const t=this.headers.get(n.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(n){return this.init(),this.headers.get(n.toLowerCase())||null}append(n,t){return this.clone({name:n,value:t,op:"a"})}set(n,t){return this.clone({name:n,value:t,op:"s"})}delete(n,t){return this.clone({name:n,value:t,op:"d"})}maybeSetNormalizedName(n,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,n)}init(){this.lazyInit&&(this.lazyInit instanceof pi?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(n=>this.applyUpdate(n)),this.lazyUpdate=null))}copyFrom(n){n.init(),Array.from(n.headers.keys()).forEach(t=>{this.headers.set(t,n.headers.get(t)),this.normalizedNames.set(t,n.normalizedNames.get(t))})}clone(n){const t=new pi;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof pi?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([n]),t}applyUpdate(n){const t=n.name.toLowerCase();switch(n.op){case"a":case"s":let i=n.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(n.name,t);const r=("a"===n.op?this.headers.get(t):void 0)||[];r.push(...i),this.headers.set(t,r);break;case"d":const o=n.value;if(o){let s=this.headers.get(t);if(!s)return;s=s.filter(a=>-1===o.indexOf(a)),0===s.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,s)}else this.headers.delete(t),this.normalizedNames.delete(t)}}setHeaderEntries(n,t){const i=(Array.isArray(t)?t:[t]).map(o=>o.toString()),r=n.toLowerCase();this.headers.set(r,i),this.maybeSetNormalizedName(n,r)}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>n(this.normalizedNames.get(t),this.headers.get(t)))}}class dB{encodeKey(n){return iC(n)}encodeValue(n){return iC(n)}decodeKey(n){return decodeURIComponent(n)}decodeValue(n){return decodeURIComponent(n)}}const hB=/%(\d[a-f0-9])/gi,pB={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function iC(e){return encodeURIComponent(e).replace(hB,(n,t)=>pB[t]??n)}function Lu(e){return`${e}`}class nr{constructor(n={}){if(this.updates=null,this.cloneFrom=null,this.encoder=n.encoder||new dB,n.fromString){if(n.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function fB(e,n){const t=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(r=>{const o=r.indexOf("="),[s,a]=-1==o?[n.decodeKey(r),""]:[n.decodeKey(r.slice(0,o)),n.decodeValue(r.slice(o+1))],l=t.get(s)||[];l.push(a),t.set(s,l)}),t}(n.fromString,this.encoder)}else n.fromObject?(this.map=new Map,Object.keys(n.fromObject).forEach(t=>{const i=n.fromObject[t],r=Array.isArray(i)?i.map(Lu):[Lu(i)];this.map.set(t,r)})):this.map=null}has(n){return this.init(),this.map.has(n)}get(n){this.init();const t=this.map.get(n);return t?t[0]:null}getAll(n){return this.init(),this.map.get(n)||null}keys(){return this.init(),Array.from(this.map.keys())}append(n,t){return this.clone({param:n,value:t,op:"a"})}appendAll(n){const t=[];return Object.keys(n).forEach(i=>{const r=n[i];Array.isArray(r)?r.forEach(o=>{t.push({param:i,value:o,op:"a"})}):t.push({param:i,value:r,op:"a"})}),this.clone(t)}set(n,t){return this.clone({param:n,value:t,op:"s"})}delete(n,t){return this.clone({param:n,value:t,op:"d"})}toString(){return this.init(),this.keys().map(n=>{const t=this.encoder.encodeKey(n);return this.map.get(n).map(i=>t+"="+this.encoder.encodeValue(i)).join("&")}).filter(n=>""!==n).join("&")}clone(n){const t=new nr({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(n),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(n=>this.map.set(n,this.cloneFrom.map.get(n))),this.updates.forEach(n=>{switch(n.op){case"a":case"s":const t=("a"===n.op?this.map.get(n.param):void 0)||[];t.push(Lu(n.value)),this.map.set(n.param,t);break;case"d":if(void 0===n.value){this.map.delete(n.param);break}{let i=this.map.get(n.param)||[];const r=i.indexOf(Lu(n.value));-1!==r&&i.splice(r,1),i.length>0?this.map.set(n.param,i):this.map.delete(n.param)}}}),this.cloneFrom=this.updates=null)}}class gB{constructor(){this.map=new Map}set(n,t){return this.map.set(n,t),this}get(n){return this.map.has(n)||this.map.set(n,n.defaultValue()),this.map.get(n)}delete(n){return this.map.delete(n),this}has(n){return this.map.has(n)}keys(){return this.map.keys()}}function rC(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function oC(e){return typeof Blob<"u"&&e instanceof Blob}function sC(e){return typeof FormData<"u"&&e instanceof FormData}class za{constructor(n,t,i,r){let o;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=n.toUpperCase(),function mB(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,o=r):o=i,o&&(this.reportProgress=!!o.reportProgress,this.withCredentials=!!o.withCredentials,o.responseType&&(this.responseType=o.responseType),o.headers&&(this.headers=o.headers),o.context&&(this.context=o.context),o.params&&(this.params=o.params)),this.headers||(this.headers=new pi),this.context||(this.context=new gB),this.params){const s=this.params.toString();if(0===s.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":ad.set(h,n.setHeaders[h]),l)),n.setParams&&(c=Object.keys(n.setParams).reduce((d,h)=>d.set(h,n.setParams[h]),c)),new za(t,i,o,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:s})}}var cs=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(cs||{});class Tg{constructor(n,t=200,i="OK"){this.headers=n.headers||new pi,this.status=void 0!==n.status?n.status:t,this.statusText=n.statusText||i,this.url=n.url||null,this.ok=this.status>=200&&this.status<300}}class Sg extends Tg{constructor(n={}){super(n),this.type=cs.ResponseHeader}clone(n={}){return new Sg({headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class us extends Tg{constructor(n={}){super(n),this.type=cs.Response,this.body=void 0!==n.body?n.body:null}clone(n={}){return new us({body:void 0!==n.body?n.body:this.body,headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class aC extends Tg{constructor(n){super(n,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${n.url||"(unknown url)"}`:`Http failure response for ${n.url||"(unknown url)"}: ${n.status} ${n.statusText}`,this.error=n.error||null}}function Mg(e,n){return{body:n,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}let Wa=(()=>{class e{constructor(t){this.handler=t}request(t,i,r={}){let o;if(t instanceof za)o=t;else{let l,c;l=r.headers instanceof pi?r.headers:new pi(r.headers),r.params&&(c=r.params instanceof nr?r.params:new nr({fromObject:r.params})),o=new za(t,i,void 0!==r.body?r.body:null,{headers:l,context:r.context,params:c,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials})}const s=J(o).pipe(ls(l=>this.handler.handle(l)));if(t instanceof za||"events"===r.observe)return s;const a=s.pipe(vt(l=>l instanceof us));switch(r.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return a.pipe(ae(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(ae(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(ae(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));default:return a.pipe(ae(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(t,i={}){return this.request("DELETE",t,i)}get(t,i={}){return this.request("GET",t,i)}head(t,i={}){return this.request("HEAD",t,i)}jsonp(t,i){return this.request("JSONP",t,{params:(new nr).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,i={}){return this.request("OPTIONS",t,i)}patch(t,i,r={}){return this.request("PATCH",t,Mg(r,i))}post(t,i,r={}){return this.request("POST",t,Mg(r,i))}put(t,i,r={}){return this.request("PUT",t,Mg(r,i))}static#e=this.\u0275fac=function(i){return new(i||e)(H(ku))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();function uC(e,n){return n(e)}function yB(e,n){return(t,i)=>n.intercept(t,{handle:r=>e(r,i)})}const DB=new z(""),qa=new z(""),dC=new z("");function wB(){let e=null;return(n,t)=>{null===e&&(e=(F(DB,{optional:!0})??[]).reduceRight(yB,uC));const i=F(hu),r=i.add();return e(n,t).pipe(Ga(()=>i.remove(r)))}}let fC=(()=>{class e extends ku{constructor(t,i){super(),this.backend=t,this.injector=i,this.chain=null,this.pendingTasks=F(hu)}handle(t){if(null===this.chain){const r=Array.from(new Set([...this.injector.get(qa),...this.injector.get(dC,[])]));this.chain=r.reduceRight((o,s)=>function bB(e,n,t){return(i,r)=>t.runInContext(()=>n(i,o=>e(o,r)))}(o,s,this.injector),uC)}const i=this.pendingTasks.add();return this.chain(t,r=>this.backend.handle(r)).pipe(Ga(()=>this.pendingTasks.remove(i)))}static#e=this.\u0275fac=function(i){return new(i||e)(H(Fu),H(zt))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();const SB=/^\)\]\}',?\n/;let pC=(()=>{class e{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new R(-2800,!1);const i=this.xhrFactory;return(i.\u0275loadImpl?pt(i.\u0275loadImpl()):J(null)).pipe(wn(()=>new Ce(o=>{const s=i.build();if(s.open(t.method,t.urlWithParams),t.withCredentials&&(s.withCredentials=!0),t.headers.forEach((y,D)=>s.setRequestHeader(y,D.join(","))),t.headers.has("Accept")||s.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const y=t.detectContentTypeHeader();null!==y&&s.setRequestHeader("Content-Type",y)}if(t.responseType){const y=t.responseType.toLowerCase();s.responseType="json"!==y?y:"text"}const a=t.serializeBody();let l=null;const c=()=>{if(null!==l)return l;const y=s.statusText||"OK",D=new pi(s.getAllResponseHeaders()),M=function MB(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(s)||t.url;return l=new Sg({headers:D,status:s.status,statusText:y,url:M}),l},u=()=>{let{headers:y,status:D,statusText:M,url:C}=c(),P=null;204!==D&&(P=typeof s.response>"u"?s.responseText:s.response),0===D&&(D=P?200:0);let k=D>=200&&D<300;if("json"===t.responseType&&"string"==typeof P){const G=P;P=P.replace(SB,"");try{P=""!==P?JSON.parse(P):null}catch(X){P=G,k&&(k=!1,P={error:X,text:P})}}k?(o.next(new us({body:P,headers:y,status:D,statusText:M,url:C||void 0})),o.complete()):o.error(new aC({error:P,headers:y,status:D,statusText:M,url:C||void 0}))},d=y=>{const{url:D}=c(),M=new aC({error:y,status:s.status||0,statusText:s.statusText||"Unknown Error",url:D||void 0});o.error(M)};let h=!1;const _=y=>{h||(o.next(c()),h=!0);let D={type:cs.DownloadProgress,loaded:y.loaded};y.lengthComputable&&(D.total=y.total),"text"===t.responseType&&s.responseText&&(D.partialText=s.responseText),o.next(D)},v=y=>{let D={type:cs.UploadProgress,loaded:y.loaded};y.lengthComputable&&(D.total=y.total),o.next(D)};return s.addEventListener("load",u),s.addEventListener("error",d),s.addEventListener("timeout",d),s.addEventListener("abort",d),t.reportProgress&&(s.addEventListener("progress",_),null!==a&&s.upload&&s.upload.addEventListener("progress",v)),s.send(a),o.next({type:cs.Sent}),()=>{s.removeEventListener("error",d),s.removeEventListener("abort",d),s.removeEventListener("load",u),s.removeEventListener("timeout",d),t.reportProgress&&(s.removeEventListener("progress",_),null!==a&&s.upload&&s.upload.removeEventListener("progress",v)),s.readyState!==s.DONE&&s.abort()}})))}static#e=this.\u0275fac=function(i){return new(i||e)(H(kw))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();const Ig=new z("XSRF_ENABLED"),gC=new z("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),mC=new z("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class _C{}let OB=(()=>{class e{constructor(t,i,r){this.doc=t,this.platform=i,this.cookieName=r,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=Sw(t,this.cookieName),this.lastCookieString=t),this.lastToken}static#e=this.\u0275fac=function(i){return new(i||e)(H(ut),H(Tr),H(gC))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();function xB(e,n){const t=e.url.toLowerCase();if(!F(Ig)||"GET"===e.method||"HEAD"===e.method||t.startsWith("http://")||t.startsWith("https://"))return n(e);const i=F(_C).getToken(),r=F(mC);return null!=i&&!e.headers.has(r)&&(e=e.clone({headers:e.headers.set(r,i)})),n(e)}var ir=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(ir||{});function AB(...e){const n=[Wa,pC,fC,{provide:ku,useExisting:fC},{provide:Fu,useExisting:pC},{provide:qa,useValue:xB,multi:!0},{provide:Ig,useValue:!0},{provide:_C,useClass:OB}];for(const t of e)n.push(...t.\u0275providers);return function vh(e){return{\u0275providers:e}}(n)}const vC=new z("LEGACY_INTERCEPTOR_FN");function RB(){return function Pr(e,n){return{\u0275kind:e,\u0275providers:n}}(ir.LegacyInterceptors,[{provide:vC,useFactory:wB},{provide:qa,useExisting:vC,multi:!0}])}let PB=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({providers:[AB(RB())]})}return e})();const{isArray:jB}=Array,{getPrototypeOf:HB,prototype:$B,keys:UB}=Object;function yC(e){if(1===e.length){const n=e[0];if(jB(n))return{args:n,keys:null};if(function GB(e){return e&&"object"==typeof e&&HB(e)===$B}(n)){const t=UB(n);return{args:t.map(i=>n[i]),keys:t}}}return{args:e,keys:null}}const{isArray:zB}=Array;function Ng(e){return ae(n=>function WB(e,n){return zB(n)?e(...n):e(n)}(e,n))}function bC(e,n){return e.reduce((t,i,r)=>(t[i]=n[r],t),{})}let DC=(()=>{class e{constructor(t,i){this._renderer=t,this._elementRef=i,this.onChange=r=>{},this.onTouched=()=>{}}setProperty(t,i){this._renderer.setProperty(this._elementRef.nativeElement,t,i)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}static#e=this.\u0275fac=function(i){return new(i||e)(b(hn),b(Se))};static#t=this.\u0275dir=L({type:e})}return e})(),kr=(()=>{class e extends DC{static#e=this.\u0275fac=function(){let t;return function(r){return(t||(t=st(e)))(r||e)}}();static#t=this.\u0275dir=L({type:e,features:[Me]})}return e})();const An=new z("NgValueAccessor"),ZB={provide:An,useExisting:le(()=>Ya),multi:!0},XB=new z("CompositionEventMode");let Ya=(()=>{class e extends DC{constructor(t,i,r){super(t,i),this._compositionMode=r,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function JB(){const e=er()?er().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(t){this.setProperty("value",t??"")}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}static#e=this.\u0275fac=function(i){return new(i||e)(b(hn),b(Se),b(XB,8))};static#t=this.\u0275dir=L({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(i,r){1&i&&Z("input",function(s){return r._handleInput(s.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(s){return r._compositionEnd(s.target.value)})},features:[Fe([ZB]),Me]})}return e})();function rr(e){return null==e||("string"==typeof e||Array.isArray(e))&&0===e.length}const Ot=new z("NgValidators"),or=new z("NgAsyncValidators");function Bu(e){return null}function AC(e){return null!=e}function RC(e){return Sa(e)?pt(e):e}function PC(e){let n={};return e.forEach(t=>{n=null!=t?{...n,...t}:n}),0===Object.keys(n).length?null:n}function kC(e,n){return n.map(t=>t(e))}function FC(e){return e.map(n=>function KB(e){return!e.validate}(n)?n:t=>n.validate(t))}function Og(e){return null!=e?function LC(e){if(!e)return null;const n=e.filter(AC);return 0==n.length?null:function(t){return PC(kC(t,n))}}(FC(e)):null}function xg(e){return null!=e?function VC(e){if(!e)return null;const n=e.filter(AC);return 0==n.length?null:function(t){return function qB(...e){const n=Ul(e),{args:t,keys:i}=yC(e),r=new Ce(o=>{const{length:s}=t;if(!s)return void o.complete();const a=new Array(s);let l=s,c=s;for(let u=0;u{d||(d=!0,c--),a[u]=h},()=>l--,void 0,()=>{(!l||!d)&&(c||o.next(i?bC(i,a):a),o.complete())}))}});return n?r.pipe(Ng(n)):r}(kC(t,n).map(RC)).pipe(ae(PC))}}(FC(e)):null}function BC(e,n){return null===e?[n]:Array.isArray(e)?[...e,n]:[e,n]}function Ag(e){return e?Array.isArray(e)?e:[e]:[]}function ju(e,n){return Array.isArray(e)?e.includes(n):e===n}function $C(e,n){const t=Ag(n);return Ag(e).forEach(r=>{ju(t,r)||t.push(r)}),t}function UC(e,n){return Ag(n).filter(t=>!ju(e,t))}class GC{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(n){this._rawValidators=n||[],this._composedValidatorFn=Og(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=xg(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(n){this._onDestroyCallbacks.push(n)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(n=>n()),this._onDestroyCallbacks=[]}reset(n=void 0){this.control&&this.control.reset(n)}hasError(n,t){return!!this.control&&this.control.hasError(n,t)}getError(n,t){return this.control?this.control.getError(n,t):null}}class Yt extends GC{get formDirective(){return null}get path(){return null}}class sr extends GC{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class zC{constructor(n){this._cd=n}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let Rg=(()=>{class e extends zC{constructor(t){super(t)}static#e=this.\u0275fac=function(i){return new(i||e)(b(sr,2))};static#t=this.\u0275dir=L({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(i,r){2&i&&me("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)},features:[Me]})}return e})(),WC=(()=>{class e extends zC{constructor(t){super(t)}static#e=this.\u0275fac=function(i){return new(i||e)(b(Yt,10))};static#t=this.\u0275dir=L({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(i,r){2&i&&me("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)("ng-submitted",r.isSubmitted)},features:[Me]})}return e})();const Za="VALID",$u="INVALID",ds="PENDING",Ja="DISABLED";function Fg(e){return(Uu(e)?e.validators:e)||null}function Lg(e,n){return(Uu(n)?n.asyncValidators:e)||null}function Uu(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}class JC{constructor(n,t){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(n),this._assignAsyncValidators(t)}get validator(){return this._composedValidatorFn}set validator(n){this._rawValidators=this._composedValidatorFn=n}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(n){this._rawAsyncValidators=this._composedAsyncValidatorFn=n}get parent(){return this._parent}get valid(){return this.status===Za}get invalid(){return this.status===$u}get pending(){return this.status==ds}get disabled(){return this.status===Ja}get enabled(){return this.status!==Ja}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(n){this._assignValidators(n)}setAsyncValidators(n){this._assignAsyncValidators(n)}addValidators(n){this.setValidators($C(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators($C(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(UC(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(UC(n,this._rawAsyncValidators))}hasValidator(n){return ju(this._rawValidators,n)}hasAsyncValidator(n){return ju(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){this.touched=!0,this._parent&&!n.onlySelf&&this._parent.markAsTouched(n)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(n=>n.markAllAsTouched())}markAsUntouched(n={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}markAsDirty(n={}){this.pristine=!1,this._parent&&!n.onlySelf&&this._parent.markAsDirty(n)}markAsPristine(n={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}markAsPending(n={}){this.status=ds,!1!==n.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!n.onlySelf&&this._parent.markAsPending(n)}disable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=Ja,this.errors=null,this._forEachChild(i=>{i.disable({...n,onlySelf:!0})}),this._updateValue(),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...n,skipPristineCheck:t}),this._onDisabledChange.forEach(i=>i(!0))}enable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=Za,this._forEachChild(i=>{i.enable({...n,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors({...n,skipPristineCheck:t}),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(n){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(n){this._parent=n}getRawValue(){return this.value}updateValueAndValidity(n={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Za||this.status===ds)&&this._runAsyncValidator(n.emitEvent)),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity(n)}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Ja:Za}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n){if(this.asyncValidator){this.status=ds,this._hasOwnPendingAsyncValidator=!0;const t=RC(this.asyncValidator(this));this._asyncValidationSubscription=t.subscribe(i=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(i,{emitEvent:n})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(n,t={}){this.errors=n,this._updateControlsErrors(!1!==t.emitEvent)}get(n){let t=n;return null==t||(Array.isArray(t)||(t=t.split(".")),0===t.length)?null:t.reduce((i,r)=>i&&i._find(r),this)}getError(n,t){const i=t?this.get(t):this;return i&&i.errors?i.errors[n]:null}hasError(n,t){return!!this.getError(n,t)}get root(){let n=this;for(;n._parent;)n=n._parent;return n}_updateControlsErrors(n){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(n)}_initObservables(){this.valueChanges=new Y,this.statusChanges=new Y}_calculateStatus(){return this._allControlsDisabled()?Ja:this.errors?$u:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(ds)?ds:this._anyControlsHaveStatus($u)?$u:Za}_anyControlsHaveStatus(n){return this._anyControls(t=>t.status===n)}_anyControlsDirty(){return this._anyControls(n=>n.dirty)}_anyControlsTouched(){return this._anyControls(n=>n.touched)}_updatePristine(n={}){this.pristine=!this._anyControlsDirty(),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}_updateTouched(n={}){this.touched=this._anyControlsTouched(),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){Uu(n)&&null!=n.updateOn&&(this._updateOn=n.updateOn)}_parentMarkedDirty(n){return!n&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(n){return null}_assignValidators(n){this._rawValidators=Array.isArray(n)?n.slice():n,this._composedValidatorFn=function ij(e){return Array.isArray(e)?Og(e):e||null}(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=function rj(e){return Array.isArray(e)?xg(e):e||null}(this._rawAsyncValidators)}}class Vg extends JC{constructor(n,t,i){super(Fg(t),Lg(i,t)),this.controls=n,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(n,t){return this.controls[n]?this.controls[n]:(this.controls[n]=t,t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange),t)}addControl(n,t,i={}){this.registerControl(n,t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(n,t={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}setControl(n,t,i={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],t&&this.registerControl(n,t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(n){return this.controls.hasOwnProperty(n)&&this.controls[n].enabled}setValue(n,t={}){(function ZC(e,n,t){e._forEachChild((i,r)=>{if(void 0===t[r])throw new R(1002,"")})})(this,0,n),Object.keys(n).forEach(i=>{(function YC(e,n,t){const i=e.controls;if(!(n?Object.keys(i):i).length)throw new R(1e3,"");if(!i[t])throw new R(1001,"")})(this,!0,i),this.controls[i].setValue(n[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(n,t={}){null!=n&&(Object.keys(n).forEach(i=>{const r=this.controls[i];r&&r.patchValue(n[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(n={},t={}){this._forEachChild((i,r)=>{i.reset(n?n[r]:null,{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}getRawValue(){return this._reduceChildren({},(n,t,i)=>(n[i]=t.getRawValue(),n))}_syncPendingControls(){let n=this._reduceChildren(!1,(t,i)=>!!i._syncPendingControls()||t);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){Object.keys(this.controls).forEach(t=>{const i=this.controls[t];i&&n(i,t)})}_setUpControls(){this._forEachChild(n=>{n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(n){for(const[t,i]of Object.entries(this.controls))if(this.contains(t)&&n(i))return!0;return!1}_reduceValue(){return this._reduceChildren({},(t,i,r)=>((i.enabled||this.disabled)&&(t[r]=i.value),t))}_reduceChildren(n,t){let i=n;return this._forEachChild((r,o)=>{i=t(i,r,o)}),i}_allControlsDisabled(){for(const n of Object.keys(this.controls))if(this.controls[n].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(n){return this.controls.hasOwnProperty(n)?this.controls[n]:null}}const Fr=new z("CallSetDisabledState",{providedIn:"root",factory:()=>Xa}),Xa="always";function Qa(e,n,t=Xa){Bg(e,n),n.valueAccessor.writeValue(e.value),(e.disabled||"always"===t)&&n.valueAccessor.setDisabledState?.(e.disabled),function aj(e,n){n.valueAccessor.registerOnChange(t=>{e._pendingValue=t,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&XC(e,n)})}(e,n),function cj(e,n){const t=(i,r)=>{n.valueAccessor.writeValue(i),r&&n.viewToModelUpdate(i)};e.registerOnChange(t),n._registerOnDestroy(()=>{e._unregisterOnChange(t)})}(e,n),function lj(e,n){n.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&XC(e,n),"submit"!==e.updateOn&&e.markAsTouched()})}(e,n),function sj(e,n){if(n.valueAccessor.setDisabledState){const t=i=>{n.valueAccessor.setDisabledState(i)};e.registerOnDisabledChange(t),n._registerOnDestroy(()=>{e._unregisterOnDisabledChange(t)})}}(e,n)}function Wu(e,n){e.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(n)})}function Bg(e,n){const t=function jC(e){return e._rawValidators}(e);null!==n.validator?e.setValidators(BC(t,n.validator)):"function"==typeof t&&e.setValidators([t]);const i=function HC(e){return e._rawAsyncValidators}(e);null!==n.asyncValidator?e.setAsyncValidators(BC(i,n.asyncValidator)):"function"==typeof i&&e.setAsyncValidators([i]);const r=()=>e.updateValueAndValidity();Wu(n._rawValidators,r),Wu(n._rawAsyncValidators,r)}function XC(e,n){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}const pj={provide:Yt,useExisting:le(()=>Yu)},Ka=(()=>Promise.resolve())();let Yu=(()=>{class e extends Yt{constructor(t,i,r){super(),this.callSetDisabledState=r,this.submitted=!1,this._directives=new Set,this.ngSubmit=new Y,this.form=new Vg({},Og(t),xg(i))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){Ka.then(()=>{const i=this._findContainer(t.path);t.control=i.registerControl(t.name,t.control),Qa(t.control,t,this.callSetDisabledState),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){Ka.then(()=>{const i=this._findContainer(t.path);i&&i.removeControl(t.name),this._directives.delete(t)})}addFormGroup(t){Ka.then(()=>{const i=this._findContainer(t.path),r=new Vg({});(function QC(e,n){Bg(e,n)})(r,t),i.registerControl(t.name,r),r.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){Ka.then(()=>{const i=this._findContainer(t.path);i&&i.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,i){Ka.then(()=>{this.form.get(t.path).setValue(i)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,function KC(e,n){e._syncPendingControls(),n.forEach(t=>{const i=t.control;"submit"===i.updateOn&&i._pendingChange&&(t.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}(this.form,this._directives),this.ngSubmit.emit(t),"dialog"===t?.target?.method}onReset(){this.resetForm()}resetForm(t=void 0){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}static#e=this.\u0275fac=function(i){return new(i||e)(b(Ot,10),b(or,10),b(Fr,8))};static#t=this.\u0275dir=L({type:e,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(i,r){1&i&&Z("submit",function(s){return r.onSubmit(s)})("reset",function(){return r.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Fe([pj]),Me]})}return e})();function eE(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function tE(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const nE=class extends JC{constructor(n=null,t,i){super(Fg(t),Lg(i,t)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(n),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),Uu(t)&&(t.nonNullable||t.initialValueIsDefault)&&(this.defaultValue=tE(n)?n.value:n)}setValue(n,t={}){this.value=this._pendingValue=n,this._onChange.length&&!1!==t.emitModelToViewChange&&this._onChange.forEach(i=>i(this.value,!1!==t.emitViewToModelChange)),this.updateValueAndValidity(t)}patchValue(n,t={}){this.setValue(n,t)}reset(n=this.defaultValue,t={}){this._applyFormState(n),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1}_updateValue(){}_anyControls(n){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(n){this._onChange.push(n)}_unregisterOnChange(n){eE(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){eE(this._onDisabledChange,n)}_forEachChild(n){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(n){tE(n)?(this.value=this._pendingValue=n.value,n.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=n}},_j={provide:sr,useExisting:le(()=>Zu)},oE=(()=>Promise.resolve())();let Zu=(()=>{class e extends sr{constructor(t,i,r,o,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this.control=new nE,this._registered=!1,this.name="",this.update=new Y,this._parent=t,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=function $g(e,n){if(!n)return null;let t,i,r;return Array.isArray(n),n.forEach(o=>{o.constructor===Ya?t=o:function fj(e){return Object.getPrototypeOf(e.constructor)===kr}(o)?i=o:r=o}),r||i||t||null}(0,o)}ngOnChanges(t){if(this._checkForErrors(),!this._registered||"name"in t){if(this._registered&&(this._checkName(),this.formDirective)){const i=t.name.previousValue;this.formDirective.removeControl({name:i,path:this._getPath(i)})}this._setUpControl()}"isDisabled"in t&&this._updateDisabled(t),function Hg(e,n){if(!e.hasOwnProperty("model"))return!1;const t=e.model;return!!t.isFirstChange()||!Object.is(n,t.currentValue)}(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){Qa(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){oE.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(t){const i=t.isDisabled.currentValue,r=0!==i&&function os(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}(i);oE.then(()=>{r&&!this.control.disabled?this.control.disable():!r&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(t){return this._parent?function Gu(e,n){return[...n.path,e]}(t,this._parent):[t]}static#e=this.\u0275fac=function(i){return new(i||e)(b(Yt,9),b(Ot,10),b(or,10),b(An,10),b(zn,8),b(Fr,8))};static#t=this.\u0275dir=L({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[Fe([_j]),Me,Mt]})}return e})(),sE=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275dir=L({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]})}return e})();const vj={provide:An,useExisting:le(()=>Ug),multi:!0};let Ug=(()=>{class e extends kr{writeValue(t){this.setProperty("value",t??"")}registerOnChange(t){this.onChange=i=>{t(""==i?null:parseFloat(i))}}static#e=this.\u0275fac=function(){let t;return function(r){return(t||(t=st(e)))(r||e)}}();static#t=this.\u0275dir=L({type:e,selectors:[["input","type","number","formControlName",""],["input","type","number","formControl",""],["input","type","number","ngModel",""]],hostBindings:function(i,r){1&i&&Z("input",function(s){return r.onChange(s.target.value)})("blur",function(){return r.onTouched()})},features:[Fe([vj]),Me]})}return e})(),aE=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})();const Gg=new z("NgModelWithFormControlWarning");function mE(e){return"number"==typeof e?e:parseFloat(e)}let Lr=(()=>{class e{constructor(){this._validator=Bu}ngOnChanges(t){if(this.inputName in t){const i=this.normalizeInput(t[this.inputName].currentValue);this._enabled=this.enabled(i),this._validator=this._enabled?this.createValidator(i):Bu,this._onChange&&this._onChange()}}validate(t){return this._validator(t)}registerOnValidatorChange(t){this._onChange=t}enabled(t){return null!=t}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275dir=L({type:e,features:[Mt]})}return e})();const Rj={provide:Ot,useExisting:le(()=>Jg),multi:!0};let Jg=(()=>{class e extends Lr{constructor(){super(...arguments),this.inputName="max",this.normalizeInput=t=>mE(t),this.createValidator=t=>function TC(e){return n=>{if(rr(n.value)||rr(e))return null;const t=parseFloat(n.value);return!isNaN(t)&&t>e?{max:{max:e,actual:n.value}}:null}}(t)}static#e=this.\u0275fac=function(){let t;return function(r){return(t||(t=st(e)))(r||e)}}();static#t=this.\u0275dir=L({type:e,selectors:[["input","type","number","max","","formControlName",""],["input","type","number","max","","formControl",""],["input","type","number","max","","ngModel",""]],hostVars:1,hostBindings:function(i,r){2&i&&Ie("max",r._enabled?r.max:null)},inputs:{max:"max"},features:[Fe([Rj]),Me]})}return e})();const Pj={provide:Ot,useExisting:le(()=>Xg),multi:!0};let Xg=(()=>{class e extends Lr{constructor(){super(...arguments),this.inputName="min",this.normalizeInput=t=>mE(t),this.createValidator=t=>function EC(e){return n=>{if(rr(n.value)||rr(e))return null;const t=parseFloat(n.value);return!isNaN(t)&&t{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({imports:[aE]})}return e})(),$j=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:Fr,useValue:t.callSetDisabledState??Xa}]}}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({imports:[wE]})}return e})(),Uj=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:Gg,useValue:t.warnOnNgModelWithFormControl??"always"},{provide:Fr,useValue:t.callSetDisabledState??Xa}]}}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({imports:[wE]})}return e})(),Ju=(()=>{class e{formatTransactionTime(t){const i=new Date(1e3*t);return"Invalid Date"===i.toString()?(console.error("Invalid Date Format:",t),"Invalid Date"):i.toLocaleDateString(void 0,{year:"numeric",month:"2-digit",day:"2-digit"})+", "+i.toLocaleTimeString()}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Xu=(()=>{class e{getTransactionType(t){return 0===t.inputs.length&&0===t.outputs.length&&console.log("Encrypted Message"),0===t.inputs.length&&1===t.outputs.length&&0===t.outputs[0]?.value?"Message":0===t.inputs.length&&t.outputs.length>=1&&t.outputs[0]?.value>0?"Coinbase":t.inputs.length>0&&t.outputs.length>1&&t.outputs[0]?.value>0?"Transfer":t.outputs.length>=2&&0===t.outputs[0]?.value?"Create Identity":(console.log("Unknown Transaction Type"),"Unknown Transaction Type")}isEncryptedMessageTransaction(t){return 0===t.inputs.length&&0===t.outputs.length}isMessageTransaction(t){return 0===t.inputs.length&&1===t.outputs.length&&0===t.outputs[0]?.value}isCoinbaseTransaction(t){return 0===t.inputs.length&&t.outputs.length>=1&&t.outputs[0]?.value>0}isTransferTransaction(t){return t.inputs.length>0&&t.outputs.length>1&&t.outputs[0]?.value>0}isCreateIdentityTransaction(t){return t.outputs.length>=2&&0===t.outputs[0]?.value}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Kg(...e){const n=Vs(e),t=Ul(e),{args:i,keys:r}=yC(e);if(0===i.length)return pt([],n);const o=new Ce(function zj(e,n,t=kn){return i=>{CE(n,()=>{const{length:r}=e,o=new Array(r);let s=r,a=r;for(let l=0;l{const c=pt(e[l],n);let u=!1;c.subscribe(Ve(i,d=>{o[l]=d,u||(u=!0,a--),a||i.next(t(o.slice()))},()=>{--s||i.complete()}))},i)},i)}}(i,n,r?s=>bC(r,s):kn));return t?o.pipe(Ng(t)):o}function CE(e,n,t){e?Di(t,e,n):n()}const Qu=Li(e=>function(){e(this),this.name="EmptyError",this.message="no elements in sequence"});function el(...e){return function Wj(){return lo(1)}()(pt(e,Vs(e)))}function EE(e){return new Ce(n=>{ft(e()).subscribe(n)})}function tl(e,n){const t=se(e)?e:()=>e,i=r=>r.error(t());return new Ce(n?r=>n.schedule(i,0,r):i)}function em(){return qe((e,n)=>{let t=null;e._refCount++;const i=Ve(n,void 0,void 0,void 0,()=>{if(!e||e._refCount<=0||0<--e._refCount)return void(t=null);const r=e._connection,o=t;t=null,r&&(!o||r===o)&&r.unsubscribe(),n.unsubscribe()});e.subscribe(i),i.closed||(t=e.connect())})}class TE extends Ce{constructor(n,t){super(),this.source=n,this.subjectFactory=t,this._subject=null,this._refCount=0,this._connection=null,Fs(n)&&(this.lift=n.lift)}_subscribe(n){return this.getSubject().subscribe(n)}getSubject(){const n=this._subject;return(!n||n.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:n}=this;this._subject=this._connection=null,n?.unsubscribe()}connect(){let n=this._connection;if(!n){n=this._connection=new nt;const t=this.getSubject();n.add(this.source.subscribe(Ve(t,void 0,()=>{this._teardown(),t.complete()},i=>{this._teardown(),t.error(i)},()=>this._teardown()))),n.closed&&(this._connection=null,n=nt.EMPTY)}return n}refCount(){return em()(this)}}function xt(e){return e<=0?()=>bn:qe((n,t)=>{let i=0;n.subscribe(Ve(t,r=>{++i<=e&&(t.next(r),e<=i&&t.complete())}))})}function Ku(e){return qe((n,t)=>{let i=!1;n.subscribe(Ve(t,r=>{i=!0,t.next(r)},()=>{i||t.next(e),t.complete()}))})}function ME(e=qj){return qe((n,t)=>{let i=!1;n.subscribe(Ve(t,r=>{i=!0,t.next(r)},()=>i?t.complete():t.error(e())))})}function qj(){return new Qu}function Vr(e,n){const t=arguments.length>=2;return i=>i.pipe(e?vt((r,o)=>e(r,o,i)):kn,xt(1),t?Ku(n):ME(()=>new Qu))}function wt(e,n,t){const i=se(e)||n||t?{next:e,error:n,complete:t}:e;return i?qe((r,o)=>{var s;null===(s=i.subscribe)||void 0===s||s.call(i);let a=!0;r.subscribe(Ve(o,l=>{var c;null===(c=i.next)||void 0===c||c.call(i,l),o.next(l)},()=>{var l;a=!1,null===(l=i.complete)||void 0===l||l.call(i),o.complete()},l=>{var c;a=!1,null===(c=i.error)||void 0===c||c.call(i,l),o.error(l)},()=>{var l,c;a&&(null===(l=i.unsubscribe)||void 0===l||l.call(i)),null===(c=i.finalize)||void 0===c||c.call(i)}))}):kn}function Br(e){return qe((n,t)=>{let o,i=null,r=!1;i=n.subscribe(Ve(t,void 0,void 0,s=>{o=ft(e(s,Br(e)(n))),i?(i.unsubscribe(),i=null,o.subscribe(t)):r=!0})),r&&(i.unsubscribe(),i=null,o.subscribe(t))})}function tm(e){return e<=0?()=>bn:qe((n,t)=>{let i=[];n.subscribe(Ve(t,r=>{i.push(r),e{for(const r of i)t.next(r);t.complete()},void 0,()=>{i=null}))})}function et(e){return qe((n,t)=>{ft(e).subscribe(Ve(t,()=>t.complete(),pr)),!t.closed&&n.subscribe(t)})}const oe="primary",nl=Symbol("RouteTitle");class Xj{constructor(n){this.params=n||{}}has(n){return Object.prototype.hasOwnProperty.call(this.params,n)}get(n){if(this.has(n)){const t=this.params[n];return Array.isArray(t)?t[0]:t}return null}getAll(n){if(this.has(n)){const t=this.params[n];return Array.isArray(t)?t:[t]}return[]}get keys(){return Object.keys(this.params)}}function fs(e){return new Xj(e)}function Qj(e,n,t){const i=t.path.split("/");if(i.length>e.length||"full"===t.pathMatch&&(n.hasChildren()||i.lengthi[o]===r)}return e===n}function OE(e){return e.length>0?e[e.length-1]:null}function ar(e){return function Gj(e){return!!e&&(e instanceof Ce||se(e.lift)&&se(e.subscribe))}(e)?e:Sa(e)?pt(Promise.resolve(e)):J(e)}const e3={exact:function RE(e,n,t){if(!jr(e.segments,n.segments)||!ed(e.segments,n.segments,t)||e.numberOfChildren!==n.numberOfChildren)return!1;for(const i in n.children)if(!e.children[i]||!RE(e.children[i],n.children[i],t))return!1;return!0},subset:PE},xE={exact:function t3(e,n){return gi(e,n)},subset:function n3(e,n){return Object.keys(n).length<=Object.keys(e).length&&Object.keys(n).every(t=>NE(e[t],n[t]))},ignored:()=>!0};function AE(e,n,t){return e3[t.paths](e.root,n.root,t.matrixParams)&&xE[t.queryParams](e.queryParams,n.queryParams)&&!("exact"===t.fragment&&e.fragment!==n.fragment)}function PE(e,n,t){return kE(e,n,n.segments,t)}function kE(e,n,t,i){if(e.segments.length>t.length){const r=e.segments.slice(0,t.length);return!(!jr(r,t)||n.hasChildren()||!ed(r,t,i))}if(e.segments.length===t.length){if(!jr(e.segments,t)||!ed(e.segments,t,i))return!1;for(const r in n.children)if(!e.children[r]||!PE(e.children[r],n.children[r],i))return!1;return!0}{const r=t.slice(0,e.segments.length),o=t.slice(e.segments.length);return!!(jr(e.segments,r)&&ed(e.segments,r,i)&&e.children[oe])&&kE(e.children[oe],n,o,i)}}function ed(e,n,t){return n.every((i,r)=>xE[t](e[r].parameters,i.parameters))}class hs{constructor(n=new ke([],{}),t={},i=null){this.root=n,this.queryParams=t,this.fragment=i}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=fs(this.queryParams)),this._queryParamMap}toString(){return o3.serialize(this)}}class ke{constructor(n,t){this.segments=n,this.children=t,this.parent=null,Object.values(t).forEach(i=>i.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return td(this)}}class il{constructor(n,t){this.path=n,this.parameters=t}get parameterMap(){return this._parameterMap||(this._parameterMap=fs(this.parameters)),this._parameterMap}toString(){return VE(this)}}function jr(e,n){return e.length===n.length&&e.every((t,i)=>t.path===n[i].path)}let rl=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:function(){return new nm},providedIn:"root"})}return e})();class nm{parse(n){const t=new m3(n);return new hs(t.parseRootSegment(),t.parseQueryParams(),t.parseFragment())}serialize(n){const t=`/${ol(n.root,!0)}`,i=function l3(e){const n=Object.keys(e).map(t=>{const i=e[t];return Array.isArray(i)?i.map(r=>`${nd(t)}=${nd(r)}`).join("&"):`${nd(t)}=${nd(i)}`}).filter(t=>!!t);return n.length?`?${n.join("&")}`:""}(n.queryParams);return`${t}${i}${"string"==typeof n.fragment?`#${function s3(e){return encodeURI(e)}(n.fragment)}`:""}`}}const o3=new nm;function td(e){return e.segments.map(n=>VE(n)).join("/")}function ol(e,n){if(!e.hasChildren())return td(e);if(n){const t=e.children[oe]?ol(e.children[oe],!1):"",i=[];return Object.entries(e.children).forEach(([r,o])=>{r!==oe&&i.push(`${r}:${ol(o,!1)}`)}),i.length>0?`${t}(${i.join("//")})`:t}{const t=function r3(e,n){let t=[];return Object.entries(e.children).forEach(([i,r])=>{i===oe&&(t=t.concat(n(r,i)))}),Object.entries(e.children).forEach(([i,r])=>{i!==oe&&(t=t.concat(n(r,i)))}),t}(e,(i,r)=>r===oe?[ol(e.children[oe],!1)]:[`${r}:${ol(i,!1)}`]);return 1===Object.keys(e.children).length&&null!=e.children[oe]?`${td(e)}/${t[0]}`:`${td(e)}/(${t.join("//")})`}}function FE(e){return encodeURIComponent(e).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function nd(e){return FE(e).replace(/%3B/gi,";")}function im(e){return FE(e).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function id(e){return decodeURIComponent(e)}function LE(e){return id(e.replace(/\+/g,"%20"))}function VE(e){return`${im(e.path)}${function a3(e){return Object.keys(e).map(n=>`;${im(n)}=${im(e[n])}`).join("")}(e.parameters)}`}const c3=/^[^\/()?;#]+/;function rm(e){const n=e.match(c3);return n?n[0]:""}const u3=/^[^\/()?;=#]+/,f3=/^[^=?&#]+/,p3=/^[^&#]+/;class m3{constructor(n){this.url=n,this.remaining=n}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new ke([],{}):new ke([],this.parseChildren())}parseQueryParams(){const n={};if(this.consumeOptional("?"))do{this.parseQueryParam(n)}while(this.consumeOptional("&"));return n}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const n=[];for(this.peekStartsWith("(")||n.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),n.push(this.parseSegment());let t={};this.peekStartsWith("/(")&&(this.capture("/"),t=this.parseParens(!0));let i={};return this.peekStartsWith("(")&&(i=this.parseParens(!1)),(n.length>0||Object.keys(t).length>0)&&(i[oe]=new ke(n,t)),i}parseSegment(){const n=rm(this.remaining);if(""===n&&this.peekStartsWith(";"))throw new R(4009,!1);return this.capture(n),new il(id(n),this.parseMatrixParams())}parseMatrixParams(){const n={};for(;this.consumeOptional(";");)this.parseParam(n);return n}parseParam(n){const t=function d3(e){const n=e.match(u3);return n?n[0]:""}(this.remaining);if(!t)return;this.capture(t);let i="";if(this.consumeOptional("=")){const r=rm(this.remaining);r&&(i=r,this.capture(i))}n[id(t)]=id(i)}parseQueryParam(n){const t=function h3(e){const n=e.match(f3);return n?n[0]:""}(this.remaining);if(!t)return;this.capture(t);let i="";if(this.consumeOptional("=")){const s=function g3(e){const n=e.match(p3);return n?n[0]:""}(this.remaining);s&&(i=s,this.capture(i))}const r=LE(t),o=LE(i);if(n.hasOwnProperty(r)){let s=n[r];Array.isArray(s)||(s=[s],n[r]=s),s.push(o)}else n[r]=o}parseParens(n){const t={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const i=rm(this.remaining),r=this.remaining[i.length];if("/"!==r&&")"!==r&&";"!==r)throw new R(4010,!1);let o;i.indexOf(":")>-1?(o=i.slice(0,i.indexOf(":")),this.capture(o),this.capture(":")):n&&(o=oe);const s=this.parseChildren();t[o]=1===Object.keys(s).length?s[oe]:new ke([],s),this.consumeOptional("//")}return t}peekStartsWith(n){return this.remaining.startsWith(n)}consumeOptional(n){return!!this.peekStartsWith(n)&&(this.remaining=this.remaining.substring(n.length),!0)}capture(n){if(!this.consumeOptional(n))throw new R(4011,!1)}}function BE(e){return e.segments.length>0?new ke([],{[oe]:e}):e}function jE(e){const n={};for(const i of Object.keys(e.children)){const o=jE(e.children[i]);if(i===oe&&0===o.segments.length&&o.hasChildren())for(const[s,a]of Object.entries(o.children))n[s]=a;else(o.segments.length>0||o.hasChildren())&&(n[i]=o)}return function _3(e){if(1===e.numberOfChildren&&e.children[oe]){const n=e.children[oe];return new ke(e.segments.concat(n.segments),n.children)}return e}(new ke(e.segments,n))}function Hr(e){return e instanceof hs}function HE(e){let n;const r=BE(function t(o){const s={};for(const l of o.children){const c=t(l);s[l.outlet]=c}const a=new ke(o.url,s);return o===e&&(n=a),a}(e.root));return n??r}function $E(e,n,t,i){let r=e;for(;r.parent;)r=r.parent;if(0===n.length)return om(r,r,r,t,i);const o=function y3(e){if("string"==typeof e[0]&&1===e.length&&"/"===e[0])return new GE(!0,0,e);let n=0,t=!1;const i=e.reduce((r,o,s)=>{if("object"==typeof o&&null!=o){if(o.outlets){const a={};return Object.entries(o.outlets).forEach(([l,c])=>{a[l]="string"==typeof c?c.split("/"):c}),[...r,{outlets:a}]}if(o.segmentPath)return[...r,o.segmentPath]}return"string"!=typeof o?[...r,o]:0===s?(o.split("/").forEach((a,l)=>{0==l&&"."===a||(0==l&&""===a?t=!0:".."===a?n++:""!=a&&r.push(a))}),r):[...r,o]},[]);return new GE(t,n,i)}(n);if(o.toRoot())return om(r,r,new ke([],{}),t,i);const s=function b3(e,n,t){if(e.isAbsolute)return new od(n,!0,0);if(!t)return new od(n,!1,NaN);if(null===t.parent)return new od(t,!0,0);const i=rd(e.commands[0])?0:1;return function D3(e,n,t){let i=e,r=n,o=t;for(;o>r;){if(o-=r,i=i.parent,!i)throw new R(4005,!1);r=i.segments.length}return new od(i,!1,r-o)}(t,t.segments.length-1+i,e.numberOfDoubleDots)}(o,r,e),a=s.processChildren?al(s.segmentGroup,s.index,o.commands):zE(s.segmentGroup,s.index,o.commands);return om(r,s.segmentGroup,a,t,i)}function rd(e){return"object"==typeof e&&null!=e&&!e.outlets&&!e.segmentPath}function sl(e){return"object"==typeof e&&null!=e&&e.outlets}function om(e,n,t,i,r){let s,o={};i&&Object.entries(i).forEach(([l,c])=>{o[l]=Array.isArray(c)?c.map(u=>`${u}`):`${c}`}),s=e===n?t:UE(e,n,t);const a=BE(jE(s));return new hs(a,o,r)}function UE(e,n,t){const i={};return Object.entries(e.children).forEach(([r,o])=>{i[r]=o===n?t:UE(o,n,t)}),new ke(e.segments,i)}class GE{constructor(n,t,i){if(this.isAbsolute=n,this.numberOfDoubleDots=t,this.commands=i,n&&i.length>0&&rd(i[0]))throw new R(4003,!1);const r=i.find(sl);if(r&&r!==OE(i))throw new R(4004,!1)}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class od{constructor(n,t,i){this.segmentGroup=n,this.processChildren=t,this.index=i}}function zE(e,n,t){if(e||(e=new ke([],{})),0===e.segments.length&&e.hasChildren())return al(e,n,t);const i=function C3(e,n,t){let i=0,r=n;const o={match:!1,pathIndex:0,commandIndex:0};for(;r=t.length)return o;const s=e.segments[r],a=t[i];if(sl(a))break;const l=`${a}`,c=i0&&void 0===l)break;if(l&&c&&"object"==typeof c&&void 0===c.outlets){if(!qE(l,c,s))return o;i+=2}else{if(!qE(l,{},s))return o;i++}r++}return{match:!0,pathIndex:r,commandIndex:i}}(e,n,t),r=t.slice(i.commandIndex);if(i.match&&i.pathIndexo!==oe)&&e.children[oe]&&1===e.numberOfChildren&&0===e.children[oe].segments.length){const o=al(e.children[oe],n,t);return new ke(e.segments,o.children)}return Object.entries(i).forEach(([o,s])=>{"string"==typeof s&&(s=[s]),null!==s&&(r[o]=zE(e.children[o],n,s))}),Object.entries(e.children).forEach(([o,s])=>{void 0===i[o]&&(r[o]=s)}),new ke(e.segments,r)}}function sm(e,n,t){const i=e.segments.slice(0,n);let r=0;for(;r{"string"==typeof i&&(i=[i]),null!==i&&(n[t]=sm(new ke([],{}),0,i))}),n}function WE(e){const n={};return Object.entries(e).forEach(([t,i])=>n[t]=`${i}`),n}function qE(e,n,t){return e==t.path&&gi(n,t.parameters)}const ll="imperative";class mi{constructor(n,t){this.id=n,this.url=t}}class sd extends mi{constructor(n,t,i="imperative",r=null){super(n,t),this.type=0,this.navigationTrigger=i,this.restoredState=r}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class lr extends mi{constructor(n,t,i){super(n,t),this.urlAfterRedirects=i,this.type=1}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class cl extends mi{constructor(n,t,i,r){super(n,t),this.reason=i,this.code=r,this.type=2}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class ps extends mi{constructor(n,t,i,r){super(n,t),this.reason=i,this.code=r,this.type=16}}class ad extends mi{constructor(n,t,i,r){super(n,t),this.error=i,this.target=r,this.type=3}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class YE extends mi{constructor(n,t,i,r){super(n,t),this.urlAfterRedirects=i,this.state=r,this.type=4}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class T3 extends mi{constructor(n,t,i,r){super(n,t),this.urlAfterRedirects=i,this.state=r,this.type=7}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class S3 extends mi{constructor(n,t,i,r,o){super(n,t),this.urlAfterRedirects=i,this.state=r,this.shouldActivate=o,this.type=8}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class M3 extends mi{constructor(n,t,i,r){super(n,t),this.urlAfterRedirects=i,this.state=r,this.type=5}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class I3 extends mi{constructor(n,t,i,r){super(n,t),this.urlAfterRedirects=i,this.state=r,this.type=6}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class N3{constructor(n){this.route=n,this.type=9}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class O3{constructor(n){this.route=n,this.type=10}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class x3{constructor(n){this.snapshot=n,this.type=11}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class A3{constructor(n){this.snapshot=n,this.type=12}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class R3{constructor(n){this.snapshot=n,this.type=13}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class P3{constructor(n){this.snapshot=n,this.type=14}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class ZE{constructor(n,t,i){this.routerEvent=n,this.position=t,this.anchor=i,this.type=15}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}class am{}class lm{constructor(n){this.url=n}}class k3{constructor(){this.outlet=null,this.route=null,this.injector=null,this.children=new ul,this.attachRef=null}}let ul=(()=>{class e{constructor(){this.contexts=new Map}onChildOutletCreated(t,i){const r=this.getOrCreateContext(t);r.outlet=i,this.contexts.set(t,r)}onChildOutletDestroyed(t){const i=this.getContext(t);i&&(i.outlet=null,i.attachRef=null)}onOutletDeactivated(){const t=this.contexts;return this.contexts=new Map,t}onOutletReAttached(t){this.contexts=t}getOrCreateContext(t){let i=this.getContext(t);return i||(i=new k3,this.contexts.set(t,i)),i}getContext(t){return this.contexts.get(t)||null}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();class JE{constructor(n){this._root=n}get root(){return this._root.value}parent(n){const t=this.pathFromRoot(n);return t.length>1?t[t.length-2]:null}children(n){const t=cm(n,this._root);return t?t.children.map(i=>i.value):[]}firstChild(n){const t=cm(n,this._root);return t&&t.children.length>0?t.children[0].value:null}siblings(n){const t=um(n,this._root);return t.length<2?[]:t[t.length-2].children.map(r=>r.value).filter(r=>r!==n)}pathFromRoot(n){return um(n,this._root).map(t=>t.value)}}function cm(e,n){if(e===n.value)return n;for(const t of n.children){const i=cm(e,t);if(i)return i}return null}function um(e,n){if(e===n.value)return[n];for(const t of n.children){const i=um(e,t);if(i.length)return i.unshift(n),i}return[]}class Pi{constructor(n,t){this.value=n,this.children=t}toString(){return`TreeNode(${this.value})`}}function gs(e){const n={};return e&&e.children.forEach(t=>n[t.value.outlet]=t),n}class XE extends JE{constructor(n,t){super(n),this.snapshot=t,dm(this,n)}toString(){return this.snapshot.toString()}}function QE(e,n){const t=function F3(e,n){const s=new ld([],{},{},"",{},oe,n,null,{});return new eT("",new Pi(s,[]))}(0,n),i=new Dn([new il("",{})]),r=new Dn({}),o=new Dn({}),s=new Dn({}),a=new Dn(""),l=new $r(i,r,s,a,o,oe,n,t.root);return l.snapshot=t.root,new XE(new Pi(l,[]),t)}class $r{constructor(n,t,i,r,o,s,a,l){this.urlSubject=n,this.paramsSubject=t,this.queryParamsSubject=i,this.fragmentSubject=r,this.dataSubject=o,this.outlet=s,this.component=a,this._futureSnapshot=l,this.title=this.dataSubject?.pipe(ae(c=>c[nl]))??J(void 0),this.url=n,this.params=t,this.queryParams=i,this.fragment=r,this.data=o}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=this.params.pipe(ae(n=>fs(n)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(ae(n=>fs(n)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function KE(e,n="emptyOnly"){const t=e.pathFromRoot;let i=0;if("always"!==n)for(i=t.length-1;i>=1;){const r=t[i],o=t[i-1];if(r.routeConfig&&""===r.routeConfig.path)i--;else{if(o.component)break;i--}}return function L3(e){return e.reduce((n,t)=>({params:{...n.params,...t.params},data:{...n.data,...t.data},resolve:{...t.data,...n.resolve,...t.routeConfig?.data,...t._resolvedData}}),{params:{},data:{},resolve:{}})}(t.slice(i))}class ld{get title(){return this.data?.[nl]}constructor(n,t,i,r,o,s,a,l,c){this.url=n,this.params=t,this.queryParams=i,this.fragment=r,this.data=o,this.outlet=s,this.component=a,this.routeConfig=l,this._resolve=c}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=fs(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=fs(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(i=>i.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class eT extends JE{constructor(n,t){super(t),this.url=n,dm(this,t)}toString(){return tT(this._root)}}function dm(e,n){n.value._routerState=e,n.children.forEach(t=>dm(e,t))}function tT(e){const n=e.children.length>0?` { ${e.children.map(tT).join(", ")} } `:"";return`${e.value}${n}`}function fm(e){if(e.snapshot){const n=e.snapshot,t=e._futureSnapshot;e.snapshot=t,gi(n.queryParams,t.queryParams)||e.queryParamsSubject.next(t.queryParams),n.fragment!==t.fragment&&e.fragmentSubject.next(t.fragment),gi(n.params,t.params)||e.paramsSubject.next(t.params),function Kj(e,n){if(e.length!==n.length)return!1;for(let t=0;tgi(t.parameters,n[i].parameters))}(e.url,n.url);return t&&!(!e.parent!=!n.parent)&&(!e.parent||hm(e.parent,n.parent))}let nT=(()=>{class e{constructor(){this.activated=null,this._activatedRoute=null,this.name=oe,this.activateEvents=new Y,this.deactivateEvents=new Y,this.attachEvents=new Y,this.detachEvents=new Y,this.parentContexts=F(ul),this.location=F(Nn),this.changeDetector=F(zn),this.environmentInjector=F(zt),this.inputBinder=F(cd,{optional:!0}),this.supportsBindingToComponentInputs=!0}get activatedComponentRef(){return this.activated}ngOnChanges(t){if(t.name){const{firstChange:i,previousValue:r}=t.name;if(i)return;this.isTrackedInParentContexts(r)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(r)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(t){return this.parentContexts.getContext(t)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;const t=this.parentContexts.getContext(this.name);t?.route&&(t.attachRef?this.attach(t.attachRef,t.route):this.activateWith(t.route,t.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new R(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new R(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new R(4012,!1);this.location.detach();const t=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(t.instance),t}attach(t,i){this.activated=t,this._activatedRoute=i,this.location.insert(t.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(t.instance)}deactivate(){if(this.activated){const t=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(t)}}activateWith(t,i){if(this.isActivated)throw new R(4013,!1);this._activatedRoute=t;const r=this.location,s=t.snapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,l=new V3(t,a,r.injector);this.activated=r.createComponent(s,{index:r.length,injector:l,environmentInjector:i??this.environmentInjector}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275dir=L({type:e,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[Mt]})}return e})();class V3{constructor(n,t,i){this.route=n,this.childContexts=t,this.parent=i}get(n,t){return n===$r?this.route:n===ul?this.childContexts:this.parent.get(n,t)}}const cd=new z("");let iT=(()=>{class e{constructor(){this.outletDataSubscriptions=new Map}bindActivatedRouteToOutletComponent(t){this.unsubscribeFromRouteData(t),this.subscribeToRouteData(t)}unsubscribeFromRouteData(t){this.outletDataSubscriptions.get(t)?.unsubscribe(),this.outletDataSubscriptions.delete(t)}subscribeToRouteData(t){const{activatedRoute:i}=t,r=Kg([i.queryParams,i.params,i.data]).pipe(wn(([o,s,a],l)=>(a={...o,...s,...a},0===l?J(a):Promise.resolve(a)))).subscribe(o=>{if(!t.isActivated||!t.activatedComponentRef||t.activatedRoute!==i||null===i.component)return void this.unsubscribeFromRouteData(t);const s=function UF(e){const n=he(e);if(!n)return null;const t=new ba(n);return{get selector(){return t.selector},get type(){return t.componentType},get inputs(){return t.inputs},get outputs(){return t.outputs},get ngContentSelectors(){return t.ngContentSelectors},get isStandalone(){return n.standalone},get isSignal(){return n.signals}}}(i.component);if(s)for(const{templateName:a}of s.inputs)t.activatedComponentRef.setInput(a,o[a]);else this.unsubscribeFromRouteData(t)});this.outletDataSubscriptions.set(t,r)}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();function dl(e,n,t){if(t&&e.shouldReuseRoute(n.value,t.value.snapshot)){const i=t.value;i._futureSnapshot=n.value;const r=function j3(e,n,t){return n.children.map(i=>{for(const r of t.children)if(e.shouldReuseRoute(i.value,r.value.snapshot))return dl(e,i,r);return dl(e,i)})}(e,n,t);return new Pi(i,r)}{if(e.shouldAttach(n.value)){const o=e.retrieve(n.value);if(null!==o){const s=o.route;return s.value._futureSnapshot=n.value,s.children=n.children.map(a=>dl(e,a)),s}}const i=function H3(e){return new $r(new Dn(e.url),new Dn(e.params),new Dn(e.queryParams),new Dn(e.fragment),new Dn(e.data),e.outlet,e.component,e)}(n.value),r=n.children.map(o=>dl(e,o));return new Pi(i,r)}}const pm="ngNavigationCancelingError";function rT(e,n){const{redirectTo:t,navigationBehaviorOptions:i}=Hr(n)?{redirectTo:n,navigationBehaviorOptions:void 0}:n,r=oT(!1,0,n);return r.url=t,r.navigationBehaviorOptions=i,r}function oT(e,n,t){const i=new Error("NavigationCancelingError: "+(e||""));return i[pm]=!0,i.cancellationCode=n,t&&(i.url=t),i}function sT(e){return e&&e[pm]}let aT=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275cmp=kt({type:e,selectors:[["ng-component"]],standalone:!0,features:[In],decls:1,vars:0,template:function(i,r){1&i&&Ae(0,"router-outlet")},dependencies:[nT],encapsulation:2})}return e})();function gm(e){const n=e.children&&e.children.map(gm),t=n?{...e,children:n}:{...e};return!t.component&&!t.loadComponent&&(n||t.loadChildren)&&t.outlet&&t.outlet!==oe&&(t.component=aT),t}function Jn(e){return e.outlet||oe}function fl(e){if(!e)return null;if(e.routeConfig?._injector)return e.routeConfig._injector;for(let n=e.parent;n;n=n.parent){const t=n.routeConfig;if(t?._loadedInjector)return t._loadedInjector;if(t?._injector)return t._injector}return null}class Z3{constructor(n,t,i,r,o){this.routeReuseStrategy=n,this.futureState=t,this.currState=i,this.forwardEvent=r,this.inputBindingEnabled=o}activate(n){const t=this.futureState._root,i=this.currState?this.currState._root:null;this.deactivateChildRoutes(t,i,n),fm(this.futureState.root),this.activateChildRoutes(t,i,n)}deactivateChildRoutes(n,t,i){const r=gs(t);n.children.forEach(o=>{const s=o.value.outlet;this.deactivateRoutes(o,r[s],i),delete r[s]}),Object.values(r).forEach(o=>{this.deactivateRouteAndItsChildren(o,i)})}deactivateRoutes(n,t,i){const r=n.value,o=t?t.value:null;if(r===o)if(r.component){const s=i.getContext(r.outlet);s&&this.deactivateChildRoutes(n,t,s.children)}else this.deactivateChildRoutes(n,t,i);else o&&this.deactivateRouteAndItsChildren(t,i)}deactivateRouteAndItsChildren(n,t){n.value.component&&this.routeReuseStrategy.shouldDetach(n.value.snapshot)?this.detachAndStoreRouteSubtree(n,t):this.deactivateRouteAndOutlet(n,t)}detachAndStoreRouteSubtree(n,t){const i=t.getContext(n.value.outlet),r=i&&n.value.component?i.children:t,o=gs(n);for(const s of Object.keys(o))this.deactivateRouteAndItsChildren(o[s],r);if(i&&i.outlet){const s=i.outlet.detach(),a=i.children.onOutletDeactivated();this.routeReuseStrategy.store(n.value.snapshot,{componentRef:s,route:n,contexts:a})}}deactivateRouteAndOutlet(n,t){const i=t.getContext(n.value.outlet),r=i&&n.value.component?i.children:t,o=gs(n);for(const s of Object.keys(o))this.deactivateRouteAndItsChildren(o[s],r);i&&(i.outlet&&(i.outlet.deactivate(),i.children.onOutletDeactivated()),i.attachRef=null,i.route=null)}activateChildRoutes(n,t,i){const r=gs(t);n.children.forEach(o=>{this.activateRoutes(o,r[o.value.outlet],i),this.forwardEvent(new P3(o.value.snapshot))}),n.children.length&&this.forwardEvent(new A3(n.value.snapshot))}activateRoutes(n,t,i){const r=n.value,o=t?t.value:null;if(fm(r),r===o)if(r.component){const s=i.getOrCreateContext(r.outlet);this.activateChildRoutes(n,t,s.children)}else this.activateChildRoutes(n,t,i);else if(r.component){const s=i.getOrCreateContext(r.outlet);if(this.routeReuseStrategy.shouldAttach(r.snapshot)){const a=this.routeReuseStrategy.retrieve(r.snapshot);this.routeReuseStrategy.store(r.snapshot,null),s.children.onOutletReAttached(a.contexts),s.attachRef=a.componentRef,s.route=a.route.value,s.outlet&&s.outlet.attach(a.componentRef,a.route.value),fm(a.route.value),this.activateChildRoutes(n,null,s.children)}else{const a=fl(r.snapshot);s.attachRef=null,s.route=r,s.injector=a,s.outlet&&s.outlet.activateWith(r,s.injector),this.activateChildRoutes(n,null,s.children)}}else this.activateChildRoutes(n,null,i)}}class lT{constructor(n){this.path=n,this.route=this.path[this.path.length-1]}}class ud{constructor(n,t){this.component=n,this.route=t}}function J3(e,n,t){const i=e._root;return hl(i,n?n._root:null,t,[i.value])}function ms(e,n){const t=Symbol(),i=n.get(e,t);return i===t?"function"!=typeof e||function aI(e){return null!==Wl(e)}(e)?n.get(e):e:i}function hl(e,n,t,i,r={canDeactivateChecks:[],canActivateChecks:[]}){const o=gs(n);return e.children.forEach(s=>{(function Q3(e,n,t,i,r={canDeactivateChecks:[],canActivateChecks:[]}){const o=e.value,s=n?n.value:null,a=t?t.getContext(e.value.outlet):null;if(s&&o.routeConfig===s.routeConfig){const l=function K3(e,n,t){if("function"==typeof t)return t(e,n);switch(t){case"pathParamsChange":return!jr(e.url,n.url);case"pathParamsOrQueryParamsChange":return!jr(e.url,n.url)||!gi(e.queryParams,n.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!hm(e,n)||!gi(e.queryParams,n.queryParams);default:return!hm(e,n)}}(s,o,o.routeConfig.runGuardsAndResolvers);l?r.canActivateChecks.push(new lT(i)):(o.data=s.data,o._resolvedData=s._resolvedData),hl(e,n,o.component?a?a.children:null:t,i,r),l&&a&&a.outlet&&a.outlet.isActivated&&r.canDeactivateChecks.push(new ud(a.outlet.component,s))}else s&&pl(n,a,r),r.canActivateChecks.push(new lT(i)),hl(e,null,o.component?a?a.children:null:t,i,r)})(s,o[s.value.outlet],t,i.concat([s.value]),r),delete o[s.value.outlet]}),Object.entries(o).forEach(([s,a])=>pl(a,t.getContext(s),r)),r}function pl(e,n,t){const i=gs(e),r=e.value;Object.entries(i).forEach(([o,s])=>{pl(s,r.component?n?n.children.getContext(o):null:n,t)}),t.canDeactivateChecks.push(new ud(r.component&&n&&n.outlet&&n.outlet.isActivated?n.outlet.component:null,r))}function gl(e){return"function"==typeof e}function cT(e){return e instanceof Qu||"EmptyError"===e?.name}const dd=Symbol("INITIAL_VALUE");function _s(){return wn(e=>Kg(e.map(n=>n.pipe(xt(1),function SE(...e){const n=Vs(e);return qe((t,i)=>{(n?el(e,t,n):el(e,t)).subscribe(i)})}(dd)))).pipe(ae(n=>{for(const t of n)if(!0!==t){if(t===dd)return dd;if(!1===t||t instanceof hs)return t}return!0}),vt(n=>n!==dd),xt(1)))}function uT(e){return function Fl(...e){return Ll(e)}(wt(n=>{if(Hr(n))throw rT(0,n)}),ae(n=>!0===n))}class fd{constructor(n){this.segmentGroup=n||null}}class dT{constructor(n){this.urlTree=n}}function vs(e){return tl(new fd(e))}function fT(e){return tl(new dT(e))}class yH{constructor(n,t){this.urlSerializer=n,this.urlTree=t}noMatchError(n){return new R(4002,!1)}lineralizeSegments(n,t){let i=[],r=t.root;for(;;){if(i=i.concat(r.segments),0===r.numberOfChildren)return J(i);if(r.numberOfChildren>1||!r.children[oe])return tl(new R(4e3,!1));r=r.children[oe]}}applyRedirectCommands(n,t,i){return this.applyRedirectCreateUrlTree(t,this.urlSerializer.parse(t),n,i)}applyRedirectCreateUrlTree(n,t,i,r){const o=this.createSegmentGroup(n,t.root,i,r);return new hs(o,this.createQueryParams(t.queryParams,this.urlTree.queryParams),t.fragment)}createQueryParams(n,t){const i={};return Object.entries(n).forEach(([r,o])=>{if("string"==typeof o&&o.startsWith(":")){const a=o.substring(1);i[r]=t[a]}else i[r]=o}),i}createSegmentGroup(n,t,i,r){const o=this.createSegments(n,t.segments,i,r);let s={};return Object.entries(t.children).forEach(([a,l])=>{s[a]=this.createSegmentGroup(n,l,i,r)}),new ke(o,s)}createSegments(n,t,i,r){return t.map(o=>o.path.startsWith(":")?this.findPosParam(n,o,r):this.findOrReturn(o,i))}findPosParam(n,t,i){const r=i[t.path.substring(1)];if(!r)throw new R(4001,!1);return r}findOrReturn(n,t){let i=0;for(const r of t){if(r.path===n.path)return t.splice(i),r;i++}return n}}const mm={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function bH(e,n,t,i,r){const o=_m(e,n,t);return o.matched?(i=function U3(e,n){return e.providers&&!e._injector&&(e._injector=yp(e.providers,n,`Route: ${e.path}`)),e._injector??n}(n,i),function mH(e,n,t,i){const r=n.canMatch;return r&&0!==r.length?J(r.map(s=>{const a=ms(s,e);return ar(function oH(e){return e&&gl(e.canMatch)}(a)?a.canMatch(n,t):e.runInContext(()=>a(n,t)))})).pipe(_s(),uT()):J(!0)}(i,n,t).pipe(ae(s=>!0===s?o:{...mm}))):J(o)}function _m(e,n,t){if(""===n.path)return"full"===n.pathMatch&&(e.hasChildren()||t.length>0)?{...mm}:{matched:!0,consumedSegments:[],remainingSegments:t,parameters:{},positionalParamSegments:{}};const r=(n.matcher||Qj)(t,e,n);if(!r)return{...mm};const o={};Object.entries(r.posParams??{}).forEach(([a,l])=>{o[a]=l.path});const s=r.consumed.length>0?{...o,...r.consumed[r.consumed.length-1].parameters}:o;return{matched:!0,consumedSegments:r.consumed,remainingSegments:t.slice(r.consumed.length),parameters:s,positionalParamSegments:r.posParams??{}}}function hT(e,n,t,i){return t.length>0&&function CH(e,n,t){return t.some(i=>hd(e,n,i)&&Jn(i)!==oe)}(e,t,i)?{segmentGroup:new ke(n,wH(i,new ke(t,e.children))),slicedSegments:[]}:0===t.length&&function EH(e,n,t){return t.some(i=>hd(e,n,i))}(e,t,i)?{segmentGroup:new ke(e.segments,DH(e,0,t,i,e.children)),slicedSegments:t}:{segmentGroup:new ke(e.segments,e.children),slicedSegments:t}}function DH(e,n,t,i,r){const o={};for(const s of i)if(hd(e,t,s)&&!r[Jn(s)]){const a=new ke([],{});o[Jn(s)]=a}return{...r,...o}}function wH(e,n){const t={};t[oe]=n;for(const i of e)if(""===i.path&&Jn(i)!==oe){const r=new ke([],{});t[Jn(i)]=r}return t}function hd(e,n,t){return(!(e.hasChildren()||n.length>0)||"full"!==t.pathMatch)&&""===t.path}class IH{constructor(n,t,i,r,o,s,a){this.injector=n,this.configLoader=t,this.rootComponentType=i,this.config=r,this.urlTree=o,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.allowRedirects=!0,this.applyRedirects=new yH(this.urlSerializer,this.urlTree)}noMatchError(n){return new R(4002,!1)}recognize(){const n=hT(this.urlTree.root,[],[],this.config).segmentGroup;return this.processSegmentGroup(this.injector,this.config,n,oe).pipe(Br(t=>{if(t instanceof dT)return this.allowRedirects=!1,this.urlTree=t.urlTree,this.match(t.urlTree);throw t instanceof fd?this.noMatchError(t):t}),ae(t=>{const i=new ld([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,{},oe,this.rootComponentType,null,{}),r=new Pi(i,t),o=new eT("",r),s=function v3(e,n,t=null,i=null){return $E(HE(e),n,t,i)}(i,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,o.url=this.urlSerializer.serialize(s),this.inheritParamsAndData(o._root),{state:o,tree:s}}))}match(n){return this.processSegmentGroup(this.injector,this.config,n.root,oe).pipe(Br(i=>{throw i instanceof fd?this.noMatchError(i):i}))}inheritParamsAndData(n){const t=n.value,i=KE(t,this.paramsInheritanceStrategy);t.params=Object.freeze(i.params),t.data=Object.freeze(i.data),n.children.forEach(r=>this.inheritParamsAndData(r))}processSegmentGroup(n,t,i,r){return 0===i.segments.length&&i.hasChildren()?this.processChildren(n,t,i):this.processSegment(n,t,i,i.segments,r,!0)}processChildren(n,t,i){const r=[];for(const o of Object.keys(i.children))"primary"===o?r.unshift(o):r.push(o);return pt(r).pipe(ls(o=>{const s=i.children[o],a=function q3(e,n){const t=e.filter(i=>Jn(i)===n);return t.push(...e.filter(i=>Jn(i)!==n)),t}(t,o);return this.processSegmentGroup(n,a,s,o)}),function Zj(e,n){return qe(function Yj(e,n,t,i,r){return(o,s)=>{let a=t,l=n,c=0;o.subscribe(Ve(s,u=>{const d=c++;l=a?e(l,u,d):(a=!0,u),i&&s.next(l)},r&&(()=>{a&&s.next(l),s.complete()})))}}(e,n,arguments.length>=2,!0))}((o,s)=>(o.push(...s),o)),Ku(null),function Jj(e,n){const t=arguments.length>=2;return i=>i.pipe(e?vt((r,o)=>e(r,o,i)):kn,tm(1),t?Ku(n):ME(()=>new Qu))}(),ht(o=>{if(null===o)return vs(i);const s=pT(o);return function NH(e){e.sort((n,t)=>n.value.outlet===oe?-1:t.value.outlet===oe?1:n.value.outlet.localeCompare(t.value.outlet))}(s),J(s)}))}processSegment(n,t,i,r,o,s){return pt(t).pipe(ls(a=>this.processSegmentAgainstRoute(a._injector??n,t,a,i,r,o,s).pipe(Br(l=>{if(l instanceof fd)return J(null);throw l}))),Vr(a=>!!a),Br(a=>{if(cT(a))return function SH(e,n,t){return 0===n.length&&!e.children[t]}(i,r,o)?J([]):vs(i);throw a}))}processSegmentAgainstRoute(n,t,i,r,o,s,a){return function TH(e,n,t,i){return!!(Jn(e)===i||i!==oe&&hd(n,t,e))&&("**"===e.path||_m(n,e,t).matched)}(i,r,o,s)?void 0===i.redirectTo?this.matchSegmentAgainstRoute(n,r,i,o,s,a):a&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(n,r,t,i,o,s):vs(r):vs(r)}expandSegmentAgainstRouteUsingRedirect(n,t,i,r,o,s){return"**"===r.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(n,i,r,s):this.expandRegularSegmentAgainstRouteUsingRedirect(n,t,i,r,o,s)}expandWildCardWithParamsAgainstRouteUsingRedirect(n,t,i,r){const o=this.applyRedirects.applyRedirectCommands([],i.redirectTo,{});return i.redirectTo.startsWith("/")?fT(o):this.applyRedirects.lineralizeSegments(i,o).pipe(ht(s=>{const a=new ke(s,{});return this.processSegment(n,t,a,s,r,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(n,t,i,r,o,s){const{matched:a,consumedSegments:l,remainingSegments:c,positionalParamSegments:u}=_m(t,r,o);if(!a)return vs(t);const d=this.applyRedirects.applyRedirectCommands(l,r.redirectTo,u);return r.redirectTo.startsWith("/")?fT(d):this.applyRedirects.lineralizeSegments(r,d).pipe(ht(h=>this.processSegment(n,i,t,h.concat(c),s,!1)))}matchSegmentAgainstRoute(n,t,i,r,o,s){let a;if("**"===i.path){const l=r.length>0?OE(r).parameters:{};a=J({snapshot:new ld(r,l,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,gT(i),Jn(i),i.component??i._loadedComponent??null,i,mT(i)),consumedSegments:[],remainingSegments:[]}),t.children={}}else a=bH(t,i,r,n).pipe(ae(({matched:l,consumedSegments:c,remainingSegments:u,parameters:d})=>l?{snapshot:new ld(c,d,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,gT(i),Jn(i),i.component??i._loadedComponent??null,i,mT(i)),consumedSegments:c,remainingSegments:u}:null));return a.pipe(wn(l=>null===l?vs(t):this.getChildConfig(n=i._injector??n,i,r).pipe(wn(({routes:c})=>{const u=i._loadedInjector??n,{snapshot:d,consumedSegments:h,remainingSegments:_}=l,{segmentGroup:v,slicedSegments:y}=hT(t,h,_,c);if(0===y.length&&v.hasChildren())return this.processChildren(u,c,v).pipe(ae(M=>null===M?null:[new Pi(d,M)]));if(0===c.length&&0===y.length)return J([new Pi(d,[])]);const D=Jn(i)===o;return this.processSegment(u,c,v,y,D?oe:o,!0).pipe(ae(M=>[new Pi(d,M)]))}))))}getChildConfig(n,t,i){return t.children?J({routes:t.children,injector:n}):t.loadChildren?void 0!==t._loadedRoutes?J({routes:t._loadedRoutes,injector:t._loadedInjector}):function gH(e,n,t,i){const r=n.canLoad;return void 0===r||0===r.length?J(!0):J(r.map(s=>{const a=ms(s,e);return ar(function tH(e){return e&&gl(e.canLoad)}(a)?a.canLoad(n,t):e.runInContext(()=>a(n,t)))})).pipe(_s(),uT())}(n,t,i).pipe(ht(r=>r?this.configLoader.loadChildren(n,t).pipe(wt(o=>{t._loadedRoutes=o.routes,t._loadedInjector=o.injector})):function vH(e){return tl(oT(!1,3))}())):J({routes:[],injector:n})}}function OH(e){const n=e.value.routeConfig;return n&&""===n.path}function pT(e){const n=[],t=new Set;for(const i of e){if(!OH(i)){n.push(i);continue}const r=n.find(o=>i.value.routeConfig===o.value.routeConfig);void 0!==r?(r.children.push(...i.children),t.add(r)):n.push(i)}for(const i of t){const r=pT(i.children);n.push(new Pi(i.value,r))}return n.filter(i=>!t.has(i))}function gT(e){return e.data||{}}function mT(e){return e.resolve||{}}function AH(e,n){return ht(t=>{const{targetSnapshot:i,guards:{canActivateChecks:r}}=t;if(!r.length)return J(t);let o=0;return pt(r).pipe(ls(s=>function RH(e,n,t,i){const r=e.routeConfig,o=e._resolve;return void 0!==r?.title&&!_T(r)&&(o[nl]=r.title),function PH(e,n,t,i){const r=function kH(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e)]}(e);if(0===r.length)return J({});const o={};return pt(r).pipe(ht(s=>function FH(e,n,t,i){const r=fl(n)??i,o=ms(e,r);return ar(o.resolve?o.resolve(n,t):r.runInContext(()=>o(n,t)))}(e[s],n,t,i).pipe(Vr(),wt(a=>{o[s]=a}))),tm(1),function IE(e){return ae(()=>e)}(o),Br(s=>cT(s)?bn:tl(s)))}(o,e,n,i).pipe(ae(s=>(e._resolvedData=s,e.data=KE(e,t).resolve,r&&_T(r)&&(e.data[nl]=r.title),null)))}(s.route,i,e,n)),wt(()=>o++),tm(1),ht(s=>o===r.length?J(t):bn))})}function _T(e){return"string"==typeof e.title||null===e.title}function vm(e){return wn(n=>{const t=e(n);return t?pt(t).pipe(ae(()=>n)):J(n)})}const ys=new z("ROUTES");let ym=(()=>{class e{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=F(xD)}loadComponent(t){if(this.componentLoaders.get(t))return this.componentLoaders.get(t);if(t._loadedComponent)return J(t._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(t);const i=ar(t.loadComponent()).pipe(ae(vT),wt(o=>{this.onLoadEndListener&&this.onLoadEndListener(t),t._loadedComponent=o}),Ga(()=>{this.componentLoaders.delete(t)})),r=new TE(i,()=>new Ee).pipe(em());return this.componentLoaders.set(t,r),r}loadChildren(t,i){if(this.childrenLoaders.get(i))return this.childrenLoaders.get(i);if(i._loadedRoutes)return J({routes:i._loadedRoutes,injector:i._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(i);const o=function LH(e,n,t,i){return ar(e.loadChildren()).pipe(ae(vT),ht(r=>r instanceof Hb||Array.isArray(r)?J(r):pt(n.compileModuleAsync(r))),ae(r=>{i&&i(e);let o,s,a=!1;return Array.isArray(r)?(s=r,!0):(o=r.create(t).injector,s=o.get(ys,[],{optional:!0,self:!0}).flat()),{routes:s.map(gm),injector:o}}))}(i,this.compiler,t,this.onLoadEndListener).pipe(Ga(()=>{this.childrenLoaders.delete(i)})),s=new TE(o,()=>new Ee).pipe(em());return this.childrenLoaders.set(i,s),s}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function vT(e){return function VH(e){return e&&"object"==typeof e&&"default"in e}(e)?e.default:e}let pd=(()=>{class e{get hasRequestedNavigation(){return 0!==this.navigationId}constructor(){this.currentNavigation=null,this.currentTransition=null,this.lastSuccessfulNavigation=null,this.events=new Ee,this.transitionAbortSubject=new Ee,this.configLoader=F(ym),this.environmentInjector=F(zt),this.urlSerializer=F(rl),this.rootContexts=F(ul),this.inputBindingEnabled=null!==F(cd,{optional:!0}),this.navigationId=0,this.afterPreactivation=()=>J(void 0),this.rootComponentType=null,this.configLoader.onLoadEndListener=r=>this.events.next(new O3(r)),this.configLoader.onLoadStartListener=r=>this.events.next(new N3(r))}complete(){this.transitions?.complete()}handleNavigationRequest(t){const i=++this.navigationId;this.transitions?.next({...this.transitions.value,...t,id:i})}setupNavigations(t,i,r){return this.transitions=new Dn({id:0,currentUrlTree:i,currentRawUrl:i,currentBrowserUrl:i,extractedUrl:t.urlHandlingStrategy.extract(i),urlAfterRedirects:t.urlHandlingStrategy.extract(i),rawUrl:i,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:ll,restoredState:null,currentSnapshot:r.snapshot,targetSnapshot:null,currentRouterState:r,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe(vt(o=>0!==o.id),ae(o=>({...o,extractedUrl:t.urlHandlingStrategy.extract(o.rawUrl)})),wn(o=>{this.currentTransition=o;let s=!1,a=!1;return J(o).pipe(wt(l=>{this.currentNavigation={id:l.id,initialUrl:l.rawUrl,extractedUrl:l.extractedUrl,trigger:l.source,extras:l.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null}}),wn(l=>{const c=l.currentBrowserUrl.toString(),u=!t.navigated||l.extractedUrl.toString()!==c||c!==l.currentUrlTree.toString();if(!u&&"reload"!==(l.extras.onSameUrlNavigation??t.onSameUrlNavigation)){const h="";return this.events.next(new ps(l.id,this.urlSerializer.serialize(l.rawUrl),h,0)),l.resolve(null),bn}if(t.urlHandlingStrategy.shouldProcessUrl(l.rawUrl))return J(l).pipe(wn(h=>{const _=this.transitions?.getValue();return this.events.next(new sd(h.id,this.urlSerializer.serialize(h.extractedUrl),h.source,h.restoredState)),_!==this.transitions?.getValue()?bn:Promise.resolve(h)}),function xH(e,n,t,i,r,o){return ht(s=>function MH(e,n,t,i,r,o,s="emptyOnly"){return new IH(e,n,t,i,r,s,o).recognize()}(e,n,t,i,s.extractedUrl,r,o).pipe(ae(({state:a,tree:l})=>({...s,targetSnapshot:a,urlAfterRedirects:l}))))}(this.environmentInjector,this.configLoader,this.rootComponentType,t.config,this.urlSerializer,t.paramsInheritanceStrategy),wt(h=>{o.targetSnapshot=h.targetSnapshot,o.urlAfterRedirects=h.urlAfterRedirects,this.currentNavigation={...this.currentNavigation,finalUrl:h.urlAfterRedirects};const _=new YE(h.id,this.urlSerializer.serialize(h.extractedUrl),this.urlSerializer.serialize(h.urlAfterRedirects),h.targetSnapshot);this.events.next(_)}));if(u&&t.urlHandlingStrategy.shouldProcessUrl(l.currentRawUrl)){const{id:h,extractedUrl:_,source:v,restoredState:y,extras:D}=l,M=new sd(h,this.urlSerializer.serialize(_),v,y);this.events.next(M);const C=QE(0,this.rootComponentType).snapshot;return this.currentTransition=o={...l,targetSnapshot:C,urlAfterRedirects:_,extras:{...D,skipLocationChange:!1,replaceUrl:!1}},J(o)}{const h="";return this.events.next(new ps(l.id,this.urlSerializer.serialize(l.extractedUrl),h,1)),l.resolve(null),bn}}),wt(l=>{const c=new T3(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects),l.targetSnapshot);this.events.next(c)}),ae(l=>(this.currentTransition=o={...l,guards:J3(l.targetSnapshot,l.currentSnapshot,this.rootContexts)},o)),function aH(e,n){return ht(t=>{const{targetSnapshot:i,currentSnapshot:r,guards:{canActivateChecks:o,canDeactivateChecks:s}}=t;return 0===s.length&&0===o.length?J({...t,guardsResult:!0}):function lH(e,n,t,i){return pt(e).pipe(ht(r=>function pH(e,n,t,i,r){const o=n&&n.routeConfig?n.routeConfig.canDeactivate:null;return o&&0!==o.length?J(o.map(a=>{const l=fl(n)??r,c=ms(a,l);return ar(function rH(e){return e&&gl(e.canDeactivate)}(c)?c.canDeactivate(e,n,t,i):l.runInContext(()=>c(e,n,t,i))).pipe(Vr())})).pipe(_s()):J(!0)}(r.component,r.route,t,n,i)),Vr(r=>!0!==r,!0))}(s,i,r,e).pipe(ht(a=>a&&function eH(e){return"boolean"==typeof e}(a)?function cH(e,n,t,i){return pt(n).pipe(ls(r=>el(function dH(e,n){return null!==e&&n&&n(new x3(e)),J(!0)}(r.route.parent,i),function uH(e,n){return null!==e&&n&&n(new R3(e)),J(!0)}(r.route,i),function hH(e,n,t){const i=n[n.length-1],o=n.slice(0,n.length-1).reverse().map(s=>function X3(e){const n=e.routeConfig?e.routeConfig.canActivateChild:null;return n&&0!==n.length?{node:e,guards:n}:null}(s)).filter(s=>null!==s).map(s=>EE(()=>J(s.guards.map(l=>{const c=fl(s.node)??t,u=ms(l,c);return ar(function iH(e){return e&&gl(e.canActivateChild)}(u)?u.canActivateChild(i,e):c.runInContext(()=>u(i,e))).pipe(Vr())})).pipe(_s())));return J(o).pipe(_s())}(e,r.path,t),function fH(e,n,t){const i=n.routeConfig?n.routeConfig.canActivate:null;if(!i||0===i.length)return J(!0);const r=i.map(o=>EE(()=>{const s=fl(n)??t,a=ms(o,s);return ar(function nH(e){return e&&gl(e.canActivate)}(a)?a.canActivate(n,e):s.runInContext(()=>a(n,e))).pipe(Vr())}));return J(r).pipe(_s())}(e,r.route,t))),Vr(r=>!0!==r,!0))}(i,o,e,n):J(a)),ae(a=>({...t,guardsResult:a})))})}(this.environmentInjector,l=>this.events.next(l)),wt(l=>{if(o.guardsResult=l.guardsResult,Hr(l.guardsResult))throw rT(0,l.guardsResult);const c=new S3(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects),l.targetSnapshot,!!l.guardsResult);this.events.next(c)}),vt(l=>!!l.guardsResult||(this.cancelNavigationTransition(l,"",3),!1)),vm(l=>{if(l.guards.canActivateChecks.length)return J(l).pipe(wt(c=>{const u=new M3(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(u)}),wn(c=>{let u=!1;return J(c).pipe(AH(t.paramsInheritanceStrategy,this.environmentInjector),wt({next:()=>u=!0,complete:()=>{u||this.cancelNavigationTransition(c,"",2)}}))}),wt(c=>{const u=new I3(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(u)}))}),vm(l=>{const c=u=>{const d=[];u.routeConfig?.loadComponent&&!u.routeConfig._loadedComponent&&d.push(this.configLoader.loadComponent(u.routeConfig).pipe(wt(h=>{u.component=h}),ae(()=>{})));for(const h of u.children)d.push(...c(h));return d};return Kg(c(l.targetSnapshot.root)).pipe(Ku(),xt(1))}),vm(()=>this.afterPreactivation()),ae(l=>{const c=function B3(e,n,t){const i=dl(e,n._root,t?t._root:void 0);return new XE(i,n)}(t.routeReuseStrategy,l.targetSnapshot,l.currentRouterState);return this.currentTransition=o={...l,targetRouterState:c},o}),wt(()=>{this.events.next(new am)}),((e,n,t,i)=>ae(r=>(new Z3(n,r.targetRouterState,r.currentRouterState,t,i).activate(e),r)))(this.rootContexts,t.routeReuseStrategy,l=>this.events.next(l),this.inputBindingEnabled),xt(1),wt({next:l=>{s=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new lr(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects))),t.titleStrategy?.updateTitle(l.targetRouterState.snapshot),l.resolve(!0)},complete:()=>{s=!0}}),et(this.transitionAbortSubject.pipe(wt(l=>{throw l}))),Ga(()=>{s||a||this.cancelNavigationTransition(o,"",1),this.currentNavigation?.id===o.id&&(this.currentNavigation=null)}),Br(l=>{if(a=!0,sT(l))this.events.next(new cl(o.id,this.urlSerializer.serialize(o.extractedUrl),l.message,l.cancellationCode)),function $3(e){return sT(e)&&Hr(e.url)}(l)?this.events.next(new lm(l.url)):o.resolve(!1);else{this.events.next(new ad(o.id,this.urlSerializer.serialize(o.extractedUrl),l,o.targetSnapshot??void 0));try{o.resolve(t.errorHandler(l))}catch(c){o.reject(c)}}return bn}))}))}cancelNavigationTransition(t,i,r){const o=new cl(t.id,this.urlSerializer.serialize(t.extractedUrl),i,r);this.events.next(o),t.resolve(!1)}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function yT(e){return e!==ll}let bT=(()=>{class e{buildTitle(t){let i,r=t.root;for(;void 0!==r;)i=this.getResolvedTitleForRoute(r)??i,r=r.children.find(o=>o.outlet===oe);return i}getResolvedTitleForRoute(t){return t.data[nl]}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:function(){return F(BH)},providedIn:"root"})}return e})(),BH=(()=>{class e extends bT{constructor(t){super(),this.title=t}updateTitle(t){const i=this.buildTitle(t);void 0!==i&&this.title.setTitle(i)}static#e=this.\u0275fac=function(i){return new(i||e)(H(Kw))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),jH=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:function(){return F($H)},providedIn:"root"})}return e})();class HH{shouldDetach(n){return!1}store(n,t){}shouldAttach(n){return!1}retrieve(n){return null}shouldReuseRoute(n,t){return n.routeConfig===t.routeConfig}}let $H=(()=>{class e extends HH{static#e=this.\u0275fac=function(){let t;return function(r){return(t||(t=st(e)))(r||e)}}();static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const gd=new z("",{providedIn:"root",factory:()=>({})});let UH=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:function(){return F(GH)},providedIn:"root"})}return e})(),GH=(()=>{class e{shouldProcessUrl(t){return!0}extract(t){return t}merge(t,i){return t}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var ml=function(e){return e[e.COMPLETE=0]="COMPLETE",e[e.FAILED=1]="FAILED",e[e.REDIRECTING=2]="REDIRECTING",e}(ml||{});function DT(e,n){e.events.pipe(vt(t=>t instanceof lr||t instanceof cl||t instanceof ad||t instanceof ps),ae(t=>t instanceof lr||t instanceof ps?ml.COMPLETE:t instanceof cl&&(0===t.code||1===t.code)?ml.REDIRECTING:ml.FAILED),vt(t=>t!==ml.REDIRECTING),xt(1)).subscribe(()=>{n()})}function zH(e){throw e}function WH(e,n,t){return n.parse("/")}const qH={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},YH={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let Rn=(()=>{class e{get navigationId(){return this.navigationTransitions.navigationId}get browserPageId(){return"computed"!==this.canceledNavigationResolution?this.currentPageId:this.location.getState()?.\u0275routerPageId??this.currentPageId}get events(){return this._events}constructor(){this.disposed=!1,this.currentPageId=0,this.console=F(OD),this.isNgZoneEnabled=!1,this._events=new Ee,this.options=F(gd,{optional:!0})||{},this.pendingTasks=F(hu),this.errorHandler=this.options.errorHandler||zH,this.malformedUriErrorHandler=this.options.malformedUriErrorHandler||WH,this.navigated=!1,this.lastSuccessfulId=-1,this.urlHandlingStrategy=F(UH),this.routeReuseStrategy=F(jH),this.titleStrategy=F(bT),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.config=F(ys,{optional:!0})?.flat()??[],this.navigationTransitions=F(pd),this.urlSerializer=F(rl),this.location=F(Kp),this.componentInputBindingEnabled=!!F(cd,{optional:!0}),this.eventsSubscription=new nt,this.isNgZoneEnabled=F(fe)instanceof fe&&fe.isInAngularZone(),this.resetConfig(this.config),this.currentUrlTree=new hs,this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.routerState=QE(0,null),this.navigationTransitions.setupNavigations(this,this.currentUrlTree,this.routerState).subscribe(t=>{this.lastSuccessfulId=t.id,this.currentPageId=this.browserPageId},t=>{this.console.warn(`Unhandled Navigation Error: ${t}`)}),this.subscribeToNavigationEvents()}subscribeToNavigationEvents(){const t=this.navigationTransitions.events.subscribe(i=>{try{const{currentTransition:r}=this.navigationTransitions;if(null===r)return void(wT(i)&&this._events.next(i));if(i instanceof sd)yT(r.source)&&(this.browserUrlTree=r.extractedUrl);else if(i instanceof ps)this.rawUrlTree=r.rawUrl;else if(i instanceof YE){if("eager"===this.urlUpdateStrategy){if(!r.extras.skipLocationChange){const o=this.urlHandlingStrategy.merge(r.urlAfterRedirects,r.rawUrl);this.setBrowserUrl(o,r)}this.browserUrlTree=r.urlAfterRedirects}}else if(i instanceof am)this.currentUrlTree=r.urlAfterRedirects,this.rawUrlTree=this.urlHandlingStrategy.merge(r.urlAfterRedirects,r.rawUrl),this.routerState=r.targetRouterState,"deferred"===this.urlUpdateStrategy&&(r.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,r),this.browserUrlTree=r.urlAfterRedirects);else if(i instanceof cl)0!==i.code&&1!==i.code&&(this.navigated=!0),(3===i.code||2===i.code)&&this.restoreHistory(r);else if(i instanceof lm){const o=this.urlHandlingStrategy.merge(i.url,r.currentRawUrl),s={skipLocationChange:r.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy||yT(r.source)};this.scheduleNavigation(o,ll,null,s,{resolve:r.resolve,reject:r.reject,promise:r.promise})}i instanceof ad&&this.restoreHistory(r,!0),i instanceof lr&&(this.navigated=!0),wT(i)&&this._events.next(i)}catch(r){this.navigationTransitions.transitionAbortSubject.next(r)}});this.eventsSubscription.add(t)}resetRootComponentType(t){this.routerState.root.component=t,this.navigationTransitions.rootComponentType=t}initialNavigation(){if(this.setUpLocationChangeListener(),!this.navigationTransitions.hasRequestedNavigation){const t=this.location.getState();this.navigateToSyncWithBrowser(this.location.path(!0),ll,t)}}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(t=>{const i="popstate"===t.type?"popstate":"hashchange";"popstate"===i&&setTimeout(()=>{this.navigateToSyncWithBrowser(t.url,i,t.state)},0)}))}navigateToSyncWithBrowser(t,i,r){const o={replaceUrl:!0},s=r?.navigationId?r:null;if(r){const l={...r};delete l.navigationId,delete l.\u0275routerPageId,0!==Object.keys(l).length&&(o.state=l)}const a=this.parseUrl(t);this.scheduleNavigation(a,i,s,o)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(t){this.config=t.map(gm),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(t,i={}){const{relativeTo:r,queryParams:o,fragment:s,queryParamsHandling:a,preserveFragment:l}=i,c=l?this.currentUrlTree.fragment:s;let d,u=null;switch(a){case"merge":u={...this.currentUrlTree.queryParams,...o};break;case"preserve":u=this.currentUrlTree.queryParams;break;default:u=o||null}null!==u&&(u=this.removeEmptyProps(u));try{d=HE(r?r.snapshot:this.routerState.snapshot.root)}catch{("string"!=typeof t[0]||!t[0].startsWith("/"))&&(t=[]),d=this.currentUrlTree.root}return $E(d,t,u,c??null)}navigateByUrl(t,i={skipLocationChange:!1}){const r=Hr(t)?t:this.parseUrl(t),o=this.urlHandlingStrategy.merge(r,this.rawUrlTree);return this.scheduleNavigation(o,ll,null,i)}navigate(t,i={skipLocationChange:!1}){return function ZH(e){for(let n=0;n{const o=t[r];return null!=o&&(i[r]=o),i},{})}scheduleNavigation(t,i,r,o,s){if(this.disposed)return Promise.resolve(!1);let a,l,c;s?(a=s.resolve,l=s.reject,c=s.promise):c=new Promise((d,h)=>{a=d,l=h});const u=this.pendingTasks.add();return DT(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(u))}),this.navigationTransitions.handleNavigationRequest({source:i,restoredState:r,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,currentBrowserUrl:this.browserUrlTree,rawUrl:t,extras:o,resolve:a,reject:l,promise:c,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),c.catch(d=>Promise.reject(d))}setBrowserUrl(t,i){const r=this.urlSerializer.serialize(t);if(this.location.isCurrentPathEqualTo(r)||i.extras.replaceUrl){const s={...i.extras.state,...this.generateNgRouterState(i.id,this.browserPageId)};this.location.replaceState(r,"",s)}else{const o={...i.extras.state,...this.generateNgRouterState(i.id,this.browserPageId+1)};this.location.go(r,"",o)}}restoreHistory(t,i=!1){if("computed"===this.canceledNavigationResolution){const o=this.currentPageId-this.browserPageId;0!==o?this.location.historyGo(o):this.currentUrlTree===this.getCurrentNavigation()?.finalUrl&&0===o&&(this.resetState(t),this.browserUrlTree=t.currentUrlTree,this.resetUrlToCurrentUrlTree())}else"replace"===this.canceledNavigationResolution&&(i&&this.resetState(t),this.resetUrlToCurrentUrlTree())}resetState(t){this.routerState=t.currentRouterState,this.currentUrlTree=t.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,t.rawUrl)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(t,i){return"computed"===this.canceledNavigationResolution?{navigationId:t,\u0275routerPageId:i}:{navigationId:t}}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function wT(e){return!(e instanceof am||e instanceof lm)}class CT{}let QH=(()=>{class e{constructor(t,i,r,o,s){this.router=t,this.injector=r,this.preloadingStrategy=o,this.loader=s}setUpPreloading(){this.subscription=this.router.events.pipe(vt(t=>t instanceof lr),ls(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(t,i){const r=[];for(const o of i){o.providers&&!o._injector&&(o._injector=yp(o.providers,t,`Route: ${o.path}`));const s=o._injector??t,a=o._loadedInjector??s;(o.loadChildren&&!o._loadedRoutes&&void 0===o.canLoad||o.loadComponent&&!o._loadedComponent)&&r.push(this.preloadConfig(s,o)),(o.children||o._loadedRoutes)&&r.push(this.processRoutes(a,o.children??o._loadedRoutes))}return pt(r).pipe(lo())}preloadConfig(t,i){return this.preloadingStrategy.preload(i,()=>{let r;r=i.loadChildren&&void 0===i.canLoad?this.loader.loadChildren(t,i):J(null);const o=r.pipe(ht(s=>null===s?J(void 0):(i._loadedRoutes=s.routes,i._loadedInjector=s.injector,this.processRoutes(s.injector??t,s.routes))));return i.loadComponent&&!i._loadedComponent?pt([o,this.loader.loadComponent(i)]).pipe(lo()):o})}static#e=this.\u0275fac=function(i){return new(i||e)(H(Rn),H(xD),H(zt),H(CT),H(ym))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const Dm=new z("");let ET=(()=>{class e{constructor(t,i,r,o,s={}){this.urlSerializer=t,this.transitions=i,this.viewportScroller=r,this.zone=o,this.options=s,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},s.scrollPositionRestoration=s.scrollPositionRestoration||"disabled",s.anchorScrolling=s.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(t=>{t instanceof sd?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=t.navigationTrigger,this.restoredId=t.restoredState?t.restoredState.navigationId:0):t instanceof lr?(this.lastId=t.id,this.scheduleScrollEvent(t,this.urlSerializer.parse(t.urlAfterRedirects).fragment)):t instanceof ps&&0===t.code&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(t,this.urlSerializer.parse(t.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(t=>{t instanceof ZE&&(t.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(t.position):t.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(t.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(t,i){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new ZE(t,"popstate"===this.lastSource?this.store[this.restoredId]:null,i))})},0)})}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}static#e=this.\u0275fac=function(i){!function I1(){throw new Error("invalid")}()};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();function ki(e,n){return{\u0275kind:e,\u0275providers:n}}function ST(){const e=F(Nt);return n=>{const t=e.get(Ki);if(n!==t.components[0])return;const i=e.get(Rn),r=e.get(MT);1===e.get(wm)&&i.initialNavigation(),e.get(IT,null,ce.Optional)?.setUpPreloading(),e.get(Dm,null,ce.Optional)?.init(),i.resetRootComponentType(t.componentTypes[0]),r.closed||(r.next(),r.complete(),r.unsubscribe())}}const MT=new z("",{factory:()=>new Ee}),wm=new z("",{providedIn:"root",factory:()=>1}),IT=new z("");function n$(e){return ki(0,[{provide:IT,useExisting:QH},{provide:CT,useExisting:e}])}const NT=new z("ROUTER_FORROOT_GUARD"),r$=[Kp,{provide:rl,useClass:nm},Rn,ul,{provide:$r,useFactory:function TT(e){return e.routerState.root},deps:[Rn]},ym,[]];function o$(){return new VD("Router",Rn)}let OT=(()=>{class e{constructor(t){}static forRoot(t,i){return{ngModule:e,providers:[r$,[],{provide:ys,multi:!0,useValue:t},{provide:NT,useFactory:c$,deps:[[Rn,new gc,new mc]]},{provide:gd,useValue:i||{}},i?.useHash?{provide:Rr,useClass:YF}:{provide:Rr,useClass:pw},{provide:Dm,useFactory:()=>{const e=F(dV),n=F(fe),t=F(gd),i=F(pd),r=F(rl);return t.scrollOffset&&e.setOffset(t.scrollOffset),new ET(r,i,e,n,t)}},i?.preloadingStrategy?n$(i.preloadingStrategy).\u0275providers:[],{provide:VD,multi:!0,useFactory:o$},i?.initialNavigation?u$(i):[],i?.bindToComponentInputs?ki(8,[iT,{provide:cd,useExisting:iT}]).\u0275providers:[],[{provide:xT,useFactory:ST},{provide:$p,multi:!0,useExisting:xT}]]}}static forChild(t){return{ngModule:e,providers:[{provide:ys,multi:!0,useValue:t}]}}static#e=this.\u0275fac=function(i){return new(i||e)(H(NT,8))};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})();function c$(e){return"guarded"}function u$(e){return["disabled"===e.initialNavigation?ki(3,[{provide:Pp,multi:!0,useFactory:()=>{const n=F(Rn);return()=>{n.setUpLocationChangeListener()}}},{provide:wm,useValue:2}]).\u0275providers:[],"enabledBlocking"===e.initialNavigation?ki(2,[{provide:wm,useValue:0},{provide:Pp,multi:!0,deps:[Nt],useFactory:n=>{const t=n.get(WF,Promise.resolve());return()=>t.then(()=>new Promise(i=>{const r=n.get(Rn),o=n.get(MT);DT(r,()=>{i(!0)}),n.get(pd).afterPreactivation=()=>(i(!0),o.closed?J(void 0):o),r.initialNavigation()}))}}]).\u0275providers:[]]}const xT=new z("");class AT{constructor(n={}){this.term=n.term||""}}function f$(e,n){if(1&e&&(p(0,"li")(1,"a",12),m(2),f()()),2&e){const t=n.$implicit;g(1),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id)}}function h$(e,n){if(1&e&&(p(0,"div",25)(1,"ul"),I(2,f$,3,2,"li",4),f()()),2&e){const t=T(3).$implicit;g(2),S("ngForOf",t.inputs)}}function p$(e,n){if(1&e&&(p(0,"div")(1,"div",26)(2,"p",21)(3,"a",12),m(4),f(),p(5,"button",22),m(6),f()()()()),2&e){const t=n.$implicit;g(3),U("href","/explorer?term=",t.to,"",W),g(1),A(t.to),g(2),V("",t.value.toFixed(6)," YDA")}}function g$(e,n){if(1&e){const t=Ze();p(0,"div")(1,"div",11)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",12),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",12),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Fee: "),f(),m(15),f(),p(16,"div",13)(17,"div",14)(18,"p")(19,"strong"),m(20,"Inputs:"),f(),m(21),f(),p(22,"div",15)(23,"button",16),Z("click",function(){return Ue(t),Ge(T(3).toggleAccordion("inputsAccordion"))}),m(24,"Show Inputs"),f(),I(25,h$,3,1,"div",17),f(),p(26,"p")(27,"strong"),m(28,"Outputs:"),f(),m(29),f()()(),p(30,"div",18)(31,"div",19)(32,"div",20)(33,"p",21)(34,"a",12),m(35),f(),p(36,"button",22),m(37),f()()()(),p(38,"div",23),Ae(39,"img",24),f(),p(40,"div",19),I(41,p$,7,3,"div",4),f()()()()}if(2&e){const t=T(2).$implicit,i=T();g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V("",t.fee," YDA"),g(6),V(" ",t.inputs.length,""),g(4),S("ngIf","inputsAccordion"===i.showAccordion),g(4),V(" ",t.outputs.length,""),g(5),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to),g(2),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function m$(e,n){if(1&e&&(p(0,"div")(1,"div",11)(2,"p",27)(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",12),m(6),f()(),p(7,"p",27)(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",12),m(11),f()(),p(12,"p",27)(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",28)(17,"h4",29),m(18,"Relationship DATA:"),f(),p(19,"textarea",30),m(20),f()(),p(21,"div",31)(22,"div",26)(23,"button",32),m(24,"Newly created Address"),f(),p(25,"p",33)(26,"a",12),m(27),f()()()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship),g(6),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function _$(e,n){if(1&e&&(p(0,"div")(1,"div",11)(2,"p",27)(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",12),m(6),f()(),p(7,"p",27)(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",12),m(11),f()(),p(12,"p",27)(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",28)(17,"h4",29),m(18,"Relationship DATA:"),f(),p(19,"textarea",30),m(20),f()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship)}}function v$(e,n){if(1&e&&(p(0,"div")(1,"div",11)(2,"p",27)(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",12),m(6),f()(),p(7,"p",27)(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",12),m(11),f()(),p(12,"p",27)(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",28)(17,"h4",29),m(18,"Relationship DATA:"),f(),p(19,"textarea",30),m(20),f()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship)}}function y$(e,n){if(1&e&&(p(0,"tr",8)(1,"td",9),I(2,g$,42,12,"div",10),I(3,m$,28,8,"div",10),I(4,_$,21,6,"div",10),I(5,v$,21,6,"div",10),f()()),2&e){const t=T().$implicit,i=T();g(2),S("ngIf",i.transactionUtilsService.isTransferTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCreateIdentityTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isEncryptedMessageTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isMessageTransaction(t))}}const b$=function(e,n,t,i,r){return{coinbase:e,transfer:n,"create-identity":t,"encrypted-message":i,message:r}};function D$(e,n){if(1&e){const t=Ze();Zi(0),p(1,"tr",5),Z("click",function(){const o=Ue(t).$implicit;return Ge(T().toggleDetails(o))}),p(2,"td"),m(3),f(),p(4,"td",3),m(5),f(),p(6,"td"),m(7),f(),p(8,"td")(9,"button",6),m(10),f()()(),I(11,y$,6,4,"tr",7),Ji()}if(2&e){const t=n.$implicit,i=T();g(3),A(i.dateFormatService.formatTransactionTime(t.time)),g(2),A(t.hash),g(2),up("",t.inputs.length," / ",t.outputs.length,""),g(2),S("ngClass",ns(7,b$,i.transactionUtilsService.isCoinbaseTransaction(t),i.transactionUtilsService.isTransferTransaction(t),i.transactionUtilsService.isCreateIdentityTransaction(t),i.transactionUtilsService.isEncryptedMessageTransaction(t),i.transactionUtilsService.isMessageTransaction(t))),g(1),V(" ",i.transactionUtilsService.getTransactionType(t)," "),g(1),S("ngIf",i.expandedTransaction&&i.expandedTransaction.id===t.id)}}let RT=(()=>{class e{constructor(t,i,r){this.httpClient=t,this.dateFormatService=i,this.transactionUtilsService=r,this.mempoolData=[],this.expandedTransaction=null,this.showAccordion=null}ngOnInit(){this.httpClient.get("/explorer-mempool").subscribe(t=>{this.mempoolData=t.result||[]},t=>{console.error("Error fetching mempool data:",t)})}toggleDetails(t){this.expandedTransaction=this.expandedTransaction===t?null:t}toggleAccordion(t){this.showAccordion=this.showAccordion===t?null:t}getTotalValue(t){return t.reduce((i,r)=>i+r.value,0)}static#e=this.\u0275fac=function(i){return new(i||e)(b(Wa),b(Ju),b(Xu))};static#t=this.\u0275cmp=kt({type:e,selectors:[["app-mempool"]],decls:16,vars:1,consts:[[2,"text-transform","uppercase","margin","10px","margin-top","20px"],[1,"blocks-container"],[1,"blocks-table"],[1,"hash-column"],[4,"ngFor","ngForOf"],[3,"click"],[1,"transaction-type-button",3,"ngClass"],["class","expanded-row",4,"ngIf"],[1,"expanded-row"],["colspan","4"],[4,"ngIf"],[1,"transaction-details"],[3,"href"],[1,"row"],[1,"col-md-12"],[1,"input-section",2,"width","100%","display","inline-block","margin-top","5px"],[1,"accordion",3,"click"],["class","panel",4,"ngIf"],[1,"row","in-section",2,"margin-top","5px"],[1,"col-md-5"],[1,"transfer-in-info-box"],[2,"margin-left","10px"],[1,"transaction-value-button"],[1,"col-md-2","text-center"],["src","yadacoinstatic/explorer/assets/arrow-right.png","alt","Arrow Right",1,"arrow-icon"],[1,"panel"],[1,"transfer-out-info-box"],[1,"col-12"],[1,"relationship-data-box"],[2,"text-transform","uppercase","margin","10px"],["rows","4","readonly","",2,"width","98%"],[1,"in-section","col-md-5",2,"margin-top","5px"],[1,"transaction-type-button","create-identity"],[2,"margin-left","15px"]],template:function(i,r){1&i&&(p(0,"h2",0),m(1,"Mempool"),f(),p(2,"div",1)(3,"table",2)(4,"thead")(5,"tr")(6,"th"),m(7,"Time"),f(),p(8,"th",3),m(9,"Transaction Hash"),f(),p(10,"th"),m(11,"in/out"),f(),p(12,"th"),m(13,"Type"),f()()(),p(14,"tbody"),I(15,D$,12,13,"ng-container",4),f()()()),2&i&&(g(15),S("ngForOf",r.mempoolData))},dependencies:[xu,qn,Yn]})}return e})();function w$(e,n){1&e&&(p(0,"div",9)(1,"strong"),m(2,"Loading..."),f()())}function C$(e,n){if(1&e&&(p(0,"div",10)(1,"strong"),m(2,"Your Balance:"),f(),m(3),f()),2&e){const t=T();g(3),V(" ",t.balance," ")}}let PT=(()=>{class e{constructor(t){this.httpClient=t,this.address="",this.balance=0,this.loading=!1}getBalance(){this.address&&(this.loading=!0,this.httpClient.get(`/explorer-get-balance?address=${this.address}`).subscribe(t=>{this.balance=t.balance,this.loading=!1},t=>{alert("Something went wrong while fetching the balance."),this.loading=!1}))}static#e=this.\u0275fac=function(i){return new(i||e)(b(Wa))};static#t=this.\u0275cmp=kt({type:e,selectors:[["app-address-balance"]],decls:15,vars:5,consts:[[1,"button",2,"text-transform","uppercase","margin","10px","margin-top","20px"],[1,"address-balance-container"],["for","addressInput"],[2,"display","flex"],["id","addressInput","type","text",1,"search-container",3,"ngModel","ngModelChange"],[1,"button","btn-success",3,"disabled","click"],[2,"margin-top","10px"],["class","loading-message",4,"ngIf"],["class","result",4,"ngIf"],[1,"loading-message"],[1,"result"]],template:function(i,r){1&i&&(p(0,"h2",0),m(1,"Address Balance"),f(),p(2,"div",1)(3,"label",2),m(4,"Enter Your Wallet Address:"),f(),p(5,"div",3)(6,"input",4),Z("ngModelChange",function(s){return r.address=s}),f(),p(7,"button",5),Z("click",function(){return r.getBalance()}),m(8,"Get balance"),f()(),p(9,"div",6)(10,"strong"),m(11,"Your Address:"),f(),m(12),f(),I(13,w$,3,0,"div",7),I(14,C$,4,1,"div",8),f()),2&i&&(g(6),S("ngModel",r.address),g(1),S("disabled",r.loading),g(5),V(" ",r.address," "),g(1),S("ngIf",r.loading),g(1),S("ngIf",!r.loading&&null!==r.balance))},dependencies:[Yn,Ya,Rg,Zu],styles:[".address-balance-container[_ngcontent-%COMP%]{margin:10px;padding:20px;background-color:#424242;border-radius:5px;color:#fff}label[_ngcontent-%COMP%]{display:block;margin-bottom:10px}input[_ngcontent-%COMP%]{flex:1;padding:10px;margin-bottom:10px;margin-right:10px}button.btn-success[_ngcontent-%COMP%]{background-color:green;color:#fff;padding:8px 20px;border:none;cursor:pointer;transition:background .3s ease;border-radius:5px;height:40px}.loading-message[_ngcontent-%COMP%], .result[_ngcontent-%COMP%]{margin-top:10px}"]})}return e})();function E$(e,n){if(1&e&&(p(0,"li")(1,"a",11),m(2),f()()),2&e){const t=n.$implicit;g(1),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id)}}function T$(e,n){if(1&e&&(p(0,"div",27)(1,"ul"),I(2,E$,3,2,"li",4),f()()),2&e){const t=T(3).$implicit;g(2),S("ngForOf",t.inputs)}}function S$(e,n){if(1&e&&(p(0,"div")(1,"div",28)(2,"p",22)(3,"a",11),m(4),f(),p(5,"button",23),m(6),f()()()()),2&e){const t=n.$implicit;g(3),U("href","/explorer?term=",t.to,"",W),g(1),A(t.to),g(2),V("",t.value.toFixed(6)," YDA")}}function M$(e,n){if(1&e){const t=Ze();p(0,"div")(1,"div",15)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",11),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",11),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Fee: "),f(),m(15),f(),p(16,"p")(17,"strong"),m(18,"Inputs:"),f(),m(19),f(),p(20,"div",16)(21,"button",17),Z("click",function(){return Ue(t),Ge(T(5).toggleAccordion("inputsAccordion"))}),m(22,"Show Inputs"),f(),I(23,T$,3,1,"div",18),f(),p(24,"p")(25,"strong"),m(26,"Outputs:"),f(),m(27),f(),p(28,"div",19)(29,"div",20)(30,"div",21)(31,"p",22)(32,"a",11),m(33),f(),p(34,"button",23),m(35),f()()()(),p(36,"div",24),Ae(37,"img",25),f(),p(38,"div",26),I(39,S$,7,3,"div",4),f()()()()}if(2&e){const t=T(2).$implicit,i=T(3);g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.fee," YDA"),g(4),V(" ",t.inputs.length,""),g(4),S("ngIf","inputsAccordion"===i.showAccordion),g(4),V(" ",t.outputs.length,""),g(5),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to),g(2),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function I$(e,n){if(1&e&&(p(0,"div"),I(1,M$,40,12,"div",14),f()),2&e){const t=T().index,i=T(2).index,r=T();g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function N$(e,n){if(1&e&&(p(0,"div")(1,"div",28)(2,"p",22)(3,"a",11),m(4),f(),p(5,"button",23),m(6),f()()()()),2&e){const t=n.$implicit;g(3),U("href","/explorer?term=",t.to,"",W),g(1),A(t.to),g(2),V("",t.value.toFixed(6)," YDA")}}function O$(e,n){if(1&e&&(p(0,"div")(1,"div",15)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",11),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",11),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Outputs:"),f(),m(15),f(),p(16,"div",19)(17,"div",20)(18,"div",21)(19,"p",22),m(20," (Newly Generated Coins) "),p(21,"button",23),m(22),f()()()(),p(23,"div",24),Ae(24,"img",25),f(),p(25,"div",26),I(26,N$,7,3,"div",4),f()()()()),2&e){const t=T(2).$implicit,i=T(3);g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.outputs.length,""),g(7),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function x$(e,n){if(1&e&&(p(0,"div"),I(1,O$,27,7,"div",14),f()),2&e){const t=T().index,i=T(2).index,r=T();g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function A$(e,n){if(1&e&&(p(0,"div")(1,"div",15)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",11),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",11),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",29)(17,"h4",30),m(18,"Relationship DATA:"),f(),p(19,"textarea",31),m(20),f()(),p(21,"div",20)(22,"div",28)(23,"button",32),m(24,"Newly created Address"),f(),p(25,"p",33)(26,"a",11),m(27),f()()()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship),g(6),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function R$(e,n){if(1&e&&(p(0,"div"),I(1,A$,28,8,"div",14),f()),2&e){const t=T().index,i=T(2).index,r=T();g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function P$(e,n){if(1&e&&(p(0,"div")(1,"div",15)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",11),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",11),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",29)(17,"h4",30),m(18,"Relationship DATA:"),f(),p(19,"textarea",31),m(20),f()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship)}}function k$(e,n){if(1&e&&(p(0,"div"),I(1,P$,21,6,"div",14),f()),2&e){const t=T().index,i=T(2).index,r=T();g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function F$(e,n){if(1&e&&(p(0,"div")(1,"div",15)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",11),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",11),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",29)(17,"h4",30),m(18,"Relationship DATA:"),f(),p(19,"textarea",31),m(20),f()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship)}}function L$(e,n){if(1&e&&(p(0,"div"),I(1,F$,21,6,"div",14),f()),2&e){const t=T().index,i=T(2).index,r=T();g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}const V$=function(e,n,t,i,r){return{coinbase:e,transfer:n,"create-identity":t,"encrypted-message":i,message:r}};function B$(e,n){if(1&e){const t=Ze();p(0,"li")(1,"button",13),Z("click",function(){const o=Ue(t).index,s=T(2).index;return Ge(T().showTransactionDetails(s,o))}),m(2),f(),I(3,I$,2,1,"div",14),I(4,x$,2,1,"div",14),I(5,R$,2,1,"div",14),I(6,k$,2,1,"div",14),I(7,L$,2,1,"div",14),f()}if(2&e){const t=n.$implicit,i=T(3);g(1),S("ngClass",ns(7,V$,i.transactionUtilsService.isCoinbaseTransaction(t),i.transactionUtilsService.isTransferTransaction(t),i.transactionUtilsService.isCreateIdentityTransaction(t),i.transactionUtilsService.isEncryptedMessageTransaction(t),i.transactionUtilsService.isMessageTransaction(t))),g(1),V(" ",i.transactionUtilsService.getTransactionType(t)," "),g(1),S("ngIf",i.transactionUtilsService.isTransferTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCoinbaseTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCreateIdentityTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isEncryptedMessageTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isMessageTransaction(t))}}function j$(e,n){if(1&e&&(p(0,"tr",7)(1,"td",8)(2,"div",9)(3,"h2",10),m(4,"Block Details"),f(),p(5,"p")(6,"strong"),m(7,"Index: "),f(),p(8,"a",11),m(9),f()(),p(10,"p")(11,"strong"),m(12,"Time:"),f(),m(13),f(),p(14,"p")(15,"strong"),m(16,"Hash: "),f(),p(17,"a",11),m(18),f()(),p(19,"p")(20,"strong"),m(21,"Previous Hash: "),f(),p(22,"a",11),m(23),f()(),p(24,"p")(25,"strong"),m(26,"Nonce:"),f(),m(27),f(),p(28,"p")(29,"strong"),m(30,"Target:"),f(),m(31),f(),p(32,"p")(33,"strong"),m(34,"ID: "),f(),p(35,"a",11),m(36),f()(),p(37,"h3",12),m(38,"Transactions"),f(),p(39,"ul"),I(40,B$,8,13,"li",4),f()()()()),2&e){const t=T().$implicit,i=T();g(8),U("href","/explorer?term=",t.index,"",W),g(1),A(t.index),g(4),V(" ",i.dateFormatService.formatTransactionTime(t.time),""),g(4),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.prevHash,"",W),g(1),A(t.prevHash),g(4),V(" ",t.nonce,""),g(4),V(" ",t.target,""),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),S("ngForOf",t.transactions)}}function H$(e,n){if(1&e){const t=Ze();Zi(0),p(1,"tr",5),Z("click",function(){const o=Ue(t).$implicit;return Ge(T().toggleDetails(o))}),p(2,"td"),m(3),f(),p(4,"td"),m(5),f(),p(6,"td"),m(7),f(),p(8,"td",3),m(9),f(),p(10,"td"),m(11),f()(),I(12,j$,41,12,"tr",6),Ji()}if(2&e){const t=n.$implicit,i=T();g(3),A(t.index),g(2),A(i.dateFormatService.formatTransactionTime(t.time)),g(2),A(i.calculateAge(t.time)),g(2),A(t.hash),g(2),A(t.transactions.length),g(1),S("ngIf",t.expanded)}}let $$=(()=>{class e{constructor(t,i,r){this.httpClient=t,this.dateFormatService=i,this.transactionUtilsService=r,this.blocks=[],this.showBlockTransactions=!1,this.showBlockTransactionDetails=[],this.searching=!1,this.showAccordion=null}ngOnInit(){this.loadLatestBlocks()}loadLatestBlocks(){this.httpClient.get("/explorer-latest").subscribe(t=>{this.blocks=t.result||[],this.searching=!1},t=>{console.error("Error fetching latest blocks:",t),alert("Something went wrong while fetching latest blocks!")})}showBlockDetails(t){console.log("Clicked block:",t),this.selectedBlock=t}toggleDetails(t){if(t.expanded)t.expanded=!1;else{this.blocks.forEach(r=>r.expanded=!1),t.expanded=!0;const i=this.blocks.indexOf(t);this.showBlockTransactionDetails[i]=[],this.selectedBlock=t}}showTransactions(){this.showBlockTransactions=!this.showBlockTransactions,this.showBlockTransactionDetails=[]}showTransactionDetails(t,i){console.log("Clicked transaction:",t,i),this.showBlockTransactionDetails[t][i]=!this.showBlockTransactionDetails[t][i]}numberWithCommas(t){return t.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")}formatHashrate(t){return t<1e3?`${t.toFixed(0)} h/s`:t<1e6?`${(t/1e3).toFixed(2)} kh/s`:`${(t/1e6).toFixed(2)} mh/s`}calculateAge(t){const i=(new Date).getTime(),r=new Date(1e3*t).getTime();console.log("Current Time:",new Date(i)),console.log("Block Time:",new Date(r));const o=i-r,s=Math.floor(o/6e4);return console.log("Difference:",o),console.log("Age in Minutes:",s),s<60?`${s} minutes ago`:`${Math.floor(s/60)} hours ago`}getTotalValue(t){return t.reduce((i,r)=>i+r.value,0)}toggleAccordion(t){this.showAccordion=this.showAccordion===t?null:t}static#e=this.\u0275fac=function(i){return new(i||e)(b(Wa),b(Ju),b(Xu))};static#t=this.\u0275cmp=kt({type:e,selectors:[["app-latest-blocks"]],decls:18,vars:1,consts:[[2,"text-transform","uppercase","margin","10px","margin-top","20px"],[1,"blocks-container"],[1,"blocks-table"],[1,"hash-column"],[4,"ngFor","ngForOf"],[3,"click"],["class","expanded-row",4,"ngIf"],[1,"expanded-row"],["colspan","5"],[2,"word-break","break-word"],[2,"text-transform","uppercase","margin","20px","margin-top","10px"],[3,"href"],[2,"text-transform","uppercase","margin","20px","margin-top","20px"],[1,"transaction-type-button",3,"ngClass","click"],[4,"ngIf"],[1,"transaction-details"],[1,"input-section",2,"margin-top","5px"],[1,"accordion",3,"click"],["class","panel",4,"ngIf"],[1,"row","in-section"],[1,"in-section","col-md-5",2,"margin-top","5px"],[1,"transfer-in-info-box"],[2,"margin-left","10px"],[1,"transaction-value-button"],[1,"col-md-2","text-center"],["src","yadacoinstatic/explorer/assets/arrow-right.png","alt","Arrow Right",1,"arrow-icon"],[1,"out-section","col-md-5",2,"margin-top","5px"],[1,"panel"],[1,"transfer-out-info-box"],[1,"relationship-data-box"],[2,"text-transform","uppercase","margin","10px"],["rows","4","readonly","",2,"width","98%"],[1,"transaction-type-button","create-identity"],[2,"margin-left","15px"]],template:function(i,r){1&i&&(p(0,"h2",0),m(1,"Latest 10 Blocks"),f(),p(2,"div",1)(3,"table",2)(4,"thead")(5,"tr")(6,"th"),m(7,"Index"),f(),p(8,"th"),m(9,"Time"),f(),p(10,"th"),m(11,"Age"),f(),p(12,"th",3),m(13,"Hash"),f(),p(14,"th"),m(15,"Transactions"),f()()(),p(16,"tbody"),I(17,H$,13,6,"ng-container",4),f()()()),2&i&&(g(17),S("ngForOf",r.blocks))},dependencies:[xu,qn,Yn]})}return e})(),U$=(()=>{class e{transform(t){return"string"==typeof t?t.replace(/,/g," "):t.toString().replace(/,/g," ")}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275pipe=Bt({name:"replaceComma",type:e,pure:!0})}return e})();function G$(e,n){1&e&&(p(0,"div")(1,"h1",24),m(2,"This is the alpha version of the Yadacoin block explorer."),f(),p(3,"h1",24),m(4,"Most functions should be operational. Please feel free to report any bugs or provide suggestions."),f(),p(5,"h1",24),m(6,"Thank you!"),f()())}function z$(e,n){1&e&&(Zi(0),p(1,"div",25)(2,"h2",26),m(3,"No results for searched phrase"),f()(),Ji())}function W$(e,n){1&e&&(p(0,"a",37),Ae(1,"i",38),m(2," Previous Block "),f()),2&e&&U("href","/explorer?term=",T().$implicit.index-1,"",W)}function q$(e,n){1&e&&(p(0,"a",39),m(1," Next Block "),Ae(2,"i",40),f()),2&e&&U("href","/explorer?term=",T().$implicit.index+1,"",W)}function Y$(e,n){if(1&e&&(p(0,"li")(1,"a",35),m(2),f()()),2&e){const t=n.$implicit;g(1),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id)}}function Z$(e,n){if(1&e&&(p(0,"div",55)(1,"ul"),I(2,Y$,3,2,"li",30),f()()),2&e){const t=T(3).$implicit;g(2),S("ngForOf",t.inputs)}}function J$(e,n){if(1&e&&(p(0,"div")(1,"div",56)(2,"p",51)(3,"a",35),m(4),f(),p(5,"button",52),m(6),f()()()()),2&e){const t=n.$implicit;g(3),U("href","/explorer?term=",t.to,"",W),g(1),A(t.to),g(2),V("",t.value.toFixed(6)," YDA")}}function X$(e,n){if(1&e){const t=Ze();p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",35),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",35),m(11),f()(),p(12,"div",15)(13,"div",44)(14,"p")(15,"strong"),m(16,"Inputs:"),f(),m(17),f(),p(18,"div",45)(19,"button",46),Z("click",function(){return Ue(t),Ge(T(6).toggleAccordion("inputsAccordion"))}),m(20,"Show Inputs"),f(),I(21,Z$,3,1,"div",47),f(),p(22,"p")(23,"strong"),m(24,"Outputs:"),f(),m(25),f()()(),p(26,"div",48)(27,"div",49)(28,"div",50)(29,"p",51)(30,"a",35),m(31),f(),p(32,"button",52),m(33),f()()()(),p(34,"div",53),Ae(35,"img",54),f(),p(36,"div",49),I(37,J$,7,3,"div",30),f()()()()}if(2&e){const t=T(2).$implicit,i=T(4);g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(6),V(" ",t.inputs.length,""),g(4),S("ngIf","inputsAccordion"===i.showAccordion),g(4),V(" ",t.outputs.length,""),g(5),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to),g(2),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function Q$(e,n){if(1&e&&(p(0,"div"),I(1,X$,38,11,"div",22),f()),2&e){const t=T().index,i=T().index,r=T(3);g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function K$(e,n){if(1&e&&(p(0,"div")(1,"div",56)(2,"p",51)(3,"a",35),m(4),f(),p(5,"button",52),m(6),f()()()()),2&e){const t=n.$implicit;g(3),U("href","/explorer?term=",t.to,"",W),g(1),A(t.to),g(2),V("",t.value.toFixed(6)," YDA")}}function e4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",35),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",35),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Outputs:"),f(),m(15),f(),p(16,"div",48)(17,"div",49)(18,"div",50)(19,"p",51),m(20," (Newly Generated Coins) "),p(21,"button",52),m(22),f()()()(),p(23,"div",53),Ae(24,"img",54),f(),p(25,"div",49),I(26,K$,7,3,"div",30),f()()()()),2&e){const t=T(2).$implicit,i=T(4);g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.outputs.length,""),g(7),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function t4(e,n){if(1&e&&(p(0,"div"),I(1,e4,27,7,"div",22),f()),2&e){const t=T().index,i=T().index,r=T(3);g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function n4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",35),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",35),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",57)(17,"h4",58),m(18,"Relationship DATA:"),f(),p(19,"textarea",59),m(20),f()(),p(21,"div",48)(22,"div",60)(23,"div",56)(24,"button",61),m(25,"Newly created Address"),f(),p(26,"p",62)(27,"a",35),m(28),f()()()()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship),g(7),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function i4(e,n){if(1&e&&(p(0,"div"),I(1,n4,29,8,"div",22),f()),2&e){const t=T().index,i=T().index,r=T(3);g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function r4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",35),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",35),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",57)(17,"h4",58),m(18,"Relationship DATA:"),f(),p(19,"textarea",59),m(20),f()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship)}}function o4(e,n){if(1&e&&(p(0,"div"),I(1,r4,21,6,"div",22),f()),2&e){const t=T().index,i=T().index,r=T(3);g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function s4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",35),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",35),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",57)(17,"h4",58),m(18,"Relationship DATA:"),f(),p(19,"textarea",59),m(20),f()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship)}}function a4(e,n){if(1&e&&(p(0,"div"),I(1,s4,21,6,"div",22),f()),2&e){const t=T().index,i=T().index,r=T(3);g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}const Cm=function(e,n,t,i,r){return{coinbase:e,transfer:n,"create-identity":t,"encrypted-message":i,message:r}};function l4(e,n){if(1&e){const t=Ze();p(0,"li")(1,"div",41)(2,"button",42),Z("click",function(){const o=Ue(t).index,s=T().index;return Ge(T(3).showTransactionDetails(s,o))}),m(3),f(),I(4,Q$,2,1,"div",22),I(5,t4,2,1,"div",22),I(6,i4,2,1,"div",22),I(7,o4,2,1,"div",22),I(8,a4,2,1,"div",22),f()()}if(2&e){const t=n.$implicit,i=T(4);g(2),S("ngClass",ns(7,Cm,i.transactionUtilsService.isCoinbaseTransaction(t),i.transactionUtilsService.isTransferTransaction(t),i.transactionUtilsService.isCreateIdentityTransaction(t),i.transactionUtilsService.isEncryptedMessageTransaction(t),i.transactionUtilsService.isMessageTransaction(t))),g(1),V(" ",i.transactionUtilsService.getTransactionType(t)," "),g(1),S("ngIf",i.transactionUtilsService.isTransferTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCoinbaseTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCreateIdentityTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isEncryptedMessageTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isMessageTransaction(t))}}function c4(e,n){if(1&e&&(p(0,"li")(1,"div",31),I(2,W$,3,1,"a",32),I(3,q$,3,1,"a",33),f(),p(4,"div",25)(5,"h2",34),m(6,"Block Details"),f(),p(7,"p")(8,"strong"),m(9,"Index: "),f(),p(10,"a",35),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Time:"),f(),m(15),f(),p(16,"p")(17,"strong"),m(18,"Hash: "),f(),p(19,"a",35),m(20),f()(),p(21,"p")(22,"strong"),m(23,"Previous Hash: "),f(),p(24,"a",35),m(25),f()(),p(26,"p")(27,"strong"),m(28,"Nonce:"),f(),m(29),f(),p(30,"p")(31,"strong"),m(32,"Target:"),f(),m(33),f(),p(34,"p")(35,"strong"),m(36,"ID: "),f(),p(37,"a",35),m(38),f()(),p(39,"h3",36),m(40,"Transactions"),f(),p(41,"ul"),I(42,l4,9,13,"li",30),f()()()),2&e){const t=n.$implicit,i=T(3);g(2),S("ngIf",0!==t.index),g(1),S("ngIf",t.index!==i.current_height),g(7),U("href","/explorer?term=",t.index,"",W),g(1),A(t.index),g(4),V(" ",t.time,""),g(4),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.prevHash,"",W),g(1),A(t.prevHash),g(4),V(" ",t.nonce,""),g(4),V(" ",t.target,""),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),S("ngForOf",t.transactions)}}function u4(e,n){if(1&e&&(p(0,"div")(1,"div",25)(2,"h3",27),m(3),f(),p(4,"h2",28),m(5),f()(),p(6,"ul",29),I(7,c4,43,14,"li",30),f()()),2&e){const t=T(2);g(3),V(" search result for ","block_height"===t.resultType?"block index":"block_hash"===t.resultType?"block hash":"block_id"===t.resultType?"block id":"",": "),g(2),V(" ","block_height"===t.resultType?t.result[0].index:"block_hash"===t.resultType?t.result[0].hash:"block_id"===t.resultType?t.result[0].id:""," "),g(2),S("ngForOf",t.result)}}const bs=function(e){return{"searched-item":e}};function d4(e,n){if(1&e&&(p(0,"li")(1,"a",71),m(2),f()()),2&e){const t=n.$implicit,i=T(7);g(1),U("href","/explorer?term=",t.id,"",W),S("ngClass",$n(3,bs,i.isSearchedItem(t.id))),g(1),A(t.id)}}function f4(e,n){if(1&e&&(p(0,"div",55)(1,"ul"),I(2,d4,3,5,"li",30),f()()),2&e){const t=T(3).$implicit;g(2),S("ngForOf",t.inputs)}}function h4(e,n){if(1&e&&(p(0,"div")(1,"div",56)(2,"p",51)(3,"a",35),m(4),f(),p(5,"button",52),m(6),f()()()()),2&e){const t=n.$implicit;g(3),U("href","/explorer?term=",t.to,"",W),g(1),A(t.to),g(2),V("",t.value.toFixed(6)," YDA")}}function p4(e,n){if(1&e){const t=Ze();p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Inputs:"),f(),m(5),f(),p(6,"div",72)(7,"button",46),Z("click",function(){return Ue(t),Ge(T(5).toggleAccordion("inputsAccordion"))}),m(8,"Show Inputs"),f(),I(9,f4,3,1,"div",47),f(),p(10,"p")(11,"strong"),m(12,"Outputs:"),f(),m(13),f(),p(14,"div",73)(15,"div",49)(16,"div",50)(17,"p",51)(18,"a",35),m(19),f(),p(20,"button",52),m(21),f()()()(),p(22,"div",53),Ae(23,"img",54),f(),p(24,"div",49),I(25,h4,7,3,"div",30),f()()()()}if(2&e){const t=T(2).$implicit,i=T(3);g(5),V(" ",t.inputs.length,""),g(4),S("ngIf","inputsAccordion"===i.showAccordion),g(4),V(" ",t.outputs.length,""),g(5),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to),g(2),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function g4(e,n){if(1&e&&(p(0,"div")(1,"div",56)(2,"p",51)(3,"a",35),m(4),f(),p(5,"button",52),m(6),f()()()()),2&e){const t=n.$implicit;g(3),U("href","/explorer?term=",t.to,"",W),g(1),A(t.to),g(2),V("",t.value.toFixed(6)," YDA")}}function m4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Outputs:"),f(),m(5),f(),p(6,"div",73)(7,"div",49)(8,"div",50)(9,"p",51),m(10," (Newly Generated Coins) "),p(11,"button",52),m(12),f()()()(),p(13,"div",53),Ae(14,"img",54),f(),p(15,"div",49),I(16,g4,7,3,"div",30),f()()()()),2&e){const t=T(2).$implicit,i=T(3);g(5),V(" ",t.outputs.length,""),g(7),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function _4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Relationship Identifier:"),f(),m(5),f(),p(6,"div",57)(7,"h4",58),m(8,"Relationship DATA:"),f(),p(9,"textarea",59),m(10),f()(),p(11,"div",73)(12,"div",60)(13,"div",56)(14,"button",74),m(15,"Newly created Address"),f(),p(16,"p",62)(17,"a",35),m(18),f()()()()()()()),2&e){const t=T(2).$implicit;g(5),V(" ",t.rid,""),g(5),A(t.relationship),g(7),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function v4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Relationship Identifier:"),f(),m(5),f(),p(6,"div",57)(7,"h4",58),m(8,"Relationship DATA:"),f(),p(9,"textarea",59),m(10),f()()()()),2&e){const t=T(2).$implicit;g(5),V(" ",t.rid,""),g(5),A(t.relationship)}}function y4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Relationship Identifier:"),f(),m(5),f(),p(6,"div",57)(7,"h4",58),m(8,"Relationship DATA:"),f(),p(9,"textarea",59),m(10),f()()()()),2&e){const t=T(2).$implicit;g(5),V(" ",t.rid,""),g(5),A(t.relationship)}}function b4(e,n){if(1&e&&(p(0,"tr",68)(1,"td",69)(2,"div")(3,"h3",70),m(4,"included in the block"),f(),p(5,"p")(6,"strong"),m(7,"Index: "),f(),p(8,"a",35),m(9),f()(),p(10,"p")(11,"strong"),m(12,"Hash: "),f(),p(13,"a",35),m(14),f()(),p(15,"div",43)(16,"p")(17,"strong"),m(18,"Transaction Hash: "),f(),p(19,"a",71),m(20),f()(),p(21,"p")(22,"strong"),m(23,"Transaction ID: "),f(),p(24,"a",71),m(25),f()(),p(26,"p")(27,"strong"),m(28,"Time: "),f(),m(29),f(),p(30,"p")(31,"strong"),m(32,"Fee: "),f(),m(33),f(),I(34,p4,26,7,"div",22),I(35,m4,17,3,"div",22),I(36,_4,19,4,"div",22),I(37,v4,11,2,"div",22),I(38,y4,11,2,"div",22),f()()()()),2&e){const t=T().$implicit,i=T(3);g(8),U("href","/explorer?term=",t.blockIndex,"",W),g(1),A(t.blockIndex),g(4),U("href","/explorer?term=",t.blockHash,"",W),g(1),A(t.blockHash),g(5),U("href","/explorer?term=",t.hash,"",W),S("ngClass",$n(17,bs,i.isSearchedItem(t.hash))),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),S("ngClass",$n(19,bs,i.isSearchedItem(t.id))),g(1),A(t.id),g(4),V(" ",i.dateFormatService.formatTransactionTime(t.time),""),g(4),V(" ",t.fee," YDA"),g(1),S("ngIf",i.transactionUtilsService.isTransferTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCoinbaseTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCreateIdentityTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isEncryptedMessageTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isMessageTransaction(t))}}function D4(e,n){if(1&e){const t=Ze();Zi(0),p(1,"tr",65),Z("click",function(){const o=Ue(t).$implicit;return Ge(T(3).toggleDetails(o))}),p(2,"td"),m(3),f(),p(4,"td",64),m(5),f(),p(6,"td"),m(7),f(),p(8,"td"),m(9),f(),p(10,"td")(11,"button",66),m(12),f()()(),I(13,b4,39,21,"tr",67),Ji()}if(2&e){const t=n.$implicit,i=T(3);g(3),A(i.dateFormatService.formatTransactionTime(t.time)),g(2),A(t.hash),g(2),A(t.inputs.length),g(2),A(t.outputs.length),g(2),S("ngClass",ns(7,Cm,i.transactionUtilsService.isCoinbaseTransaction(t),i.transactionUtilsService.isTransferTransaction(t),i.transactionUtilsService.isCreateIdentityTransaction(t),i.transactionUtilsService.isEncryptedMessageTransaction(t),i.transactionUtilsService.isMessageTransaction(t))),g(1),V(" ",i.transactionUtilsService.getTransactionType(t)," "),g(1),S("ngIf",t.expanded)}}function w4(e,n){if(1&e&&(p(0,"div")(1,"div",25)(2,"h3",27),m(3),f(),p(4,"h2",28),m(5),f()(),p(6,"div",25)(7,"table",63)(8,"thead")(9,"tr")(10,"th"),m(11,"Time"),f(),p(12,"th",64),m(13,"Hash"),f(),p(14,"th"),m(15,"Inputs"),f(),p(16,"th"),m(17,"Outputs"),f(),p(18,"th"),m(19,"Type"),f()()(),p(20,"tbody"),I(21,D4,14,13,"ng-container",30),f()()()()),2&e){const t=T(2);g(3),V(" search result for ","txn_id"===t.resultType?"transaction id":"txn_hash"===t.resultType?"transaction hash":"",": "),g(2),V(" ",t.searchedId," "),g(16),S("ngForOf",t.result)}}function C4(e,n){if(1&e&&(p(0,"li")(1,"a",35),m(2),f()()),2&e){const t=n.$implicit;g(1),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id)}}function E4(e,n){if(1&e&&(p(0,"div",55)(1,"ul"),I(2,C4,3,2,"li",30),f()()),2&e){const t=T(2).$implicit;g(2),S("ngForOf",t.inputs)}}function T4(e,n){if(1&e&&(p(0,"div")(1,"div",56)(2,"p",51)(3,"a",71),m(4),f(),p(5,"button",52),m(6),f()()()()),2&e){const t=n.$implicit,i=T(7);g(3),U("href","/explorer?term=",t.to,"",W),S("ngClass",$n(4,bs,i.isSearchedItem(t.to))),g(1),V(" ",t.to," "),g(2),V("",t.value.toFixed(6)," YDA")}}function S4(e,n){if(1&e){const t=Ze();p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Inputs:"),f(),m(5),f(),p(6,"div",72)(7,"button",46),Z("click",function(){return Ue(t),Ge(T(6).toggleAccordion("inputsAccordion"))}),m(8,"Show Inputs"),f(),I(9,E4,3,1,"div",47),f(),p(10,"p")(11,"strong"),m(12,"Outputs:"),f(),m(13),f(),p(14,"div",73)(15,"div",49)(16,"div",50)(17,"p",51)(18,"a",71),m(19),f(),p(20,"button",52),m(21),f()()()(),p(22,"div",53),Ae(23,"img",54),f(),p(24,"div",49),I(25,T4,7,6,"div",30),f()()()()}if(2&e){const t=T().$implicit,i=T(5);g(5),V(" ",t.inputs.length,""),g(4),S("ngIf","inputsAccordion"===i.showAccordion),g(4),V(" ",t.outputs.length,""),g(5),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),S("ngClass",$n(8,bs,i.isSearchedItem(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to))),g(1),V(" ",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to," "),g(2),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function M4(e,n){if(1&e&&(p(0,"div")(1,"div",56)(2,"p",51)(3,"a",71),m(4),f(),p(5,"button",52),m(6),f()()()()),2&e){const t=n.$implicit,i=T(7);g(3),U("href","/explorer?term=",t.to,"",W),S("ngClass",$n(4,bs,i.isSearchedItem(t.to))),g(1),V(" ",t.to," "),g(2),V("",t.value.toFixed(6)," YDA")}}function I4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Outputs:"),f(),m(5),f(),p(6,"div",73)(7,"div",49)(8,"div",50)(9,"p",51),m(10," (Newly Generated Coins) "),p(11,"button",52),m(12),f()()()(),p(13,"div",53),Ae(14,"img",54),f(),p(15,"div",49),I(16,M4,7,6,"div",30),f()()()()),2&e){const t=T().$implicit,i=T(5);g(5),V(" ",t.outputs.length,""),g(7),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function N4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Relationship Identifier:"),f(),m(5),f(),p(6,"div",57)(7,"h4",58),m(8,"Relationship DATA:"),f(),p(9,"textarea",59),m(10),f()(),p(11,"div",73)(12,"div",82)(13,"div",56)(14,"button",74),m(15,"Newly created Address"),f(),p(16,"p",62)(17,"a",35),m(18),f()()()()()()()),2&e){const t=T().$implicit;g(5),V(" ",t.rid,""),g(5),A(t.relationship),g(7),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function O4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Relationship Identifier:"),f(),m(5),f(),p(6,"div",57)(7,"h4",58),m(8,"Relationship DATA:"),f(),p(9,"textarea",59),m(10),f()()()()),2&e){const t=T().$implicit;g(5),V(" ",t.rid,""),g(5),A(t.relationship)}}function x4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Relationship Identifier:"),f(),m(5),f(),p(6,"div",57)(7,"h4",58),m(8,"Relationship DATA:"),f(),p(9,"textarea",59),m(10),f()()()()),2&e){const t=T().$implicit;g(5),V(" ",t.rid,""),g(5),A(t.relationship)}}function A4(e,n){if(1&e&&(p(0,"div",43)(1,"p")(2,"strong"),m(3,"Transaction Hash: "),f(),p(4,"a",35),m(5),f()(),p(6,"p")(7,"strong"),m(8,"Transaction ID: "),f(),p(9,"a",35),m(10),f()(),p(11,"p")(12,"strong"),m(13,"Time: "),f(),m(14),f(),p(15,"p")(16,"strong"),m(17,"Fee: "),f(),m(18),f(),I(19,S4,26,10,"div",22),I(20,I4,17,3,"div",22),I(21,N4,19,4,"div",22),I(22,O4,11,2,"div",22),I(23,x4,11,2,"div",22),f()),2&e){const t=n.$implicit,i=T(5);g(4),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",i.dateFormatService.formatTransactionTime(t.time),""),g(4),V(" ",t.fee," YDA"),g(1),S("ngIf",i.transactionUtilsService.isTransferTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCoinbaseTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCreateIdentityTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isEncryptedMessageTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isMessageTransaction(t))}}function R4(e,n){if(1&e&&(p(0,"tr",68)(1,"td",80)(2,"h2",34),m(3,"Transactions in Block "),p(4,"a",35),m(5),f()(),I(6,A4,24,11,"div",81),f()()),2&e){const t=T().$implicit;g(4),U("href","/explorer?term=",t.index,"",W),g(1),A(t.index),g(1),S("ngForOf",t.transactions)}}function P4(e,n){if(1&e){const t=Ze();Zi(0),p(1,"tr",65),Z("click",function(){const o=Ue(t).$implicit;return Ge(T(3).toggleDetails(o))}),p(2,"td"),m(3),f(),p(4,"td"),m(5),f(),p(6,"td",64),m(7),f(),p(8,"td")(9,"button",66),m(10),f()()(),I(11,R4,7,3,"tr",67),Ji()}if(2&e){const t=n.$implicit,i=T(3);g(3),A(t.index),g(2),A(i.dateFormatService.formatTransactionTime(t.time)),g(2),A(t.hash),g(2),S("ngClass",ns(6,Cm,i.transactionUtilsService.isCoinbaseTransaction(t.transactions[0]),i.transactionUtilsService.isTransferTransaction(t.transactions[0]),i.transactionUtilsService.isCreateIdentityTransaction(t.transactions[0]),i.transactionUtilsService.isEncryptedMessageTransaction(t.transactions[0]),i.transactionUtilsService.isMessageTransaction(t.transactions[0]))),g(1),V(" ",i.transactionUtilsService.getTransactionType(t.transactions[0])," "),g(1),S("ngIf",t.expanded)}}function k4(e,n){if(1&e){const t=Ze();p(0,"li",83)(1,"a",84),Z("click",function(){const o=Ue(t).$implicit;return Ge(T(3).changePage(o))}),m(2),f()()}if(2&e){const t=n.$implicit;me("active",t===T(3).currentPage),g(2),A(t)}}function F4(e,n){if(1&e){const t=Ze();p(0,"div")(1,"div",25)(2,"h3",27),m(3),f(),p(4,"h2",28),m(5),f()(),p(6,"div",25)(7,"table",63)(8,"thead")(9,"tr")(10,"th"),m(11,"Block Index"),f(),p(12,"th"),m(13,"Time"),f(),p(14,"th",64),m(15,"Hash"),f(),p(16,"th"),m(17,"Type"),f()()(),p(18,"tbody"),I(19,P4,12,12,"ng-container",30),f()(),p(20,"ul",75),I(21,k4,3,3,"li",76),f(),p(22,"div",77)(23,"input",78),Z("ngModelChange",function(r){return Ue(t),Ge(T(2).targetPage=r)}),f(),p(24,"button",79),Z("click",function(){return Ue(t),Ge(T(2).goToPage())}),m(25,"Go"),f()()()()}if(2&e){const t=T(2);g(3),V(" Search result for ","txn_outputs_to"===t.resultType?"transaction outputs to":"",": "),g(2),V(" ",t.searchedId," "),g(14),S("ngForOf",t.paginatedResult),g(2),S("ngForOf",t.visiblePages),g(2),tu("max",t.calculateTotalPages.length),S("ngModel",t.targetPage)}}function L4(e,n){if(1&e&&(p(0,"div"),I(1,z$,4,0,"ng-container",22),I(2,u4,8,3,"div",22),I(3,w4,22,3,"div",22),I(4,F4,26,6,"div",22),f()),2&e){const t=T();g(1),S("ngIf",!t.result||t.result&&0===t.result.length),g(1),S("ngIf",("block_height"===t.resultType||"block_hash"===t.resultType||"block_id"===t.resultType)&&t.result&&t.result.length>0),g(1),S("ngIf",("txn_id"===t.resultType||"txn_hash"===t.resultType)&&t.result&&t.result.length>0),g(1),S("ngIf","txn_outputs_to"===t.resultType&&t.result&&t.result.length>0)}}function V4(e,n){1&e&&Ae(0,"app-latest-blocks")}function B4(e,n){1&e&&Ae(0,"app-address-balance")}function j4(e,n){1&e&&Ae(0,"app-mempool")}let kT=(()=>{class e{constructor(t,i,r,o){this.httpClient=t,this.route=i,this.dateFormatService=r,this.transactionUtilsService=o,this.title="explorer",this.model=new AT,this.result=[],this.searchedId="",this.searchedHash="",this.blocks=[],this.showBlockTransactions=!1,this.showBlockTransactionDetails=[[]],this.resultType="",this.balance=0,this.searching=!1,this.submitted=!1,this.current_height="",this.circulating="",this.hashrate="",this.difficulty="",this.selectedOption="Main Page",this.showAccordion=null,this.isCollapsed=!0,this.paginatedResult=[],this.currentPage=1,this.itemsPerPage=10,this.maxVisiblePages=10,this.visiblePages=[],this.prevResultLength=0,this.prevCurrentPage=0,this.targetPage=1,this.isCalculatingTotalPages=!1,this.httpClient.get("/api-stats").subscribe(s=>{this.difficulty=this.numberWithCommas(s.stats.difficulty),this.hashrate=this.formatHashrate(s.stats.network_hash_rate),this.current_height=this.numberWithCommas(s.stats.height),this.circulating=this.numberWithCommas(s.stats.circulating)},s=>{console.error("Error fetching API stats:",s),alert("Something went wrong while fetching API stats!")}),this.route.queryParams.subscribe(s=>{const a=s.term;a&&(this.model=new AT({term:a}),this.onSubmit(),this.selectedOption="SearchResults")}),window.location.search&&(this.searching=!0,this.submitted=!0,this.httpClient.get("/explorer-search"+window.location.search).subscribe(s=>{this.result=s.result||[],this.resultType=s.resultType,this.balance=s.balance,this.searchedId=s.searchedId,this.searchedHash=s.searchedHash,this.searching=!1,this.selectedOption="SearchResults",this.paginate(),this.updateVisiblePages()},s=>{console.error("Error fetching explorer search:",s),alert("Something went wrong while fetching explorer search results!")}))}ngOnInit(){}onSubmit(){this.searching=!0,this.submitted=!0;const i=`/explorer-search?term=${encodeURIComponent(this.model.term)}`;this.httpClient.get(i).subscribe(r=>{this.result=r.result||[],this.resultType=r.resultType,this.balance=r.balance,this.searchedId=r.searchedId,this.searchedHash=r.searchedHash,this.searching=!1,this.selectedOption="SearchResults",this.paginate(),this.updateVisiblePages(),this.selectedOption="SearchResults"},r=>{console.error("Error fetching explorer search:",r),alert("Something went wrong while fetching explorer search results!"),this.searching=!1})}showBlockDetails(t){console.log("Clicked block:",t),this.selectedBlock=t}toggleAccordion(t){this.showAccordion=this.showAccordion===t?null:t}toggleDetails(t){if(t.expanded)t.expanded=!1;else{this.blocks.forEach(r=>r.expanded=!1),t.expanded=!0;const i=this.blocks.indexOf(t);this.showBlockTransactionDetails[i]=this.showBlockTransactionDetails[i]||[],this.selectedBlock=t}}showTransactions(){this.showBlockTransactions=!this.showBlockTransactions,this.showBlockTransactionDetails=[]}showTransactionDetails(t,i){console.log("Clicked transaction:",t,i),this.showBlockTransactionDetails[t]||(this.showBlockTransactionDetails[t]=[]),this.showBlockTransactionDetails[t][i]=!this.showBlockTransactionDetails[t][i]}numberWithCommas(t){return t.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")}formatHashrate(t){return t<1e3?`${t.toFixed(0)} h/s`:t<1e6?`${(t/1e3).toFixed(2)} kh/s`:`${(t/1e6).toFixed(2)} mh/s`}calculateAge(t){const i=(new Date).getTime(),r=new Date(1e3*t).getTime();console.log("Current Time:",new Date(i)),console.log("Block Time:",new Date(r));const o=i-r,s=Math.floor(o/6e4);return console.log("Difference:",o),console.log("Age in Minutes:",s),s<60?`${s} minutes ago`:`${Math.floor(s/60)} hours ago`}getTotalValue(t){return t.reduce((i,r)=>i+r.value,0)}selectOption(t){this.selectedOption=t}logButtonClick(){console.log("Button clicked!")}isSearchedItem(t){return t.toLowerCase()===this.searchedId.toLowerCase()}paginate(){const t=(this.currentPage-1)*this.itemsPerPage;this.paginatedResult=this.result.slice(t,t+this.itemsPerPage)}changePage(t){this.currentPage=+t,this.paginate(),(this.result.length!==this.prevResultLength||this.currentPage!==this.prevCurrentPage)&&(this.updateVisiblePages(),this.prevResultLength=this.result.length,this.prevCurrentPage=this.currentPage)}get calculateTotalPages(){const t=Math.ceil(this.result.length/this.itemsPerPage);return Array.from({length:t},(i,r)=>r+1)}updateVisiblePages(){console.log("Entering updateVisiblePages");const t=this.calculateTotalPages.length;let i=[1];if(t<=this.maxVisiblePages)i=i.concat(this.calculateTotalPages.slice(1));else{const r=Math.floor((this.maxVisiblePages-3)/2);let o=Math.max(2,this.currentPage-r),s=Math.min(o+this.maxVisiblePages-4,t-1);s===t-1&&(o=Math.max(2,t-this.maxVisiblePages+3)),o>2&&i.push("..."),i=i.concat(Array.from({length:s-o+1},(a,l)=>o+l)),s=1&&this.targetPage<=this.calculateTotalPages.length&&(this.changePage(this.targetPage),this.targetPage=this.currentPage)}static#e=this.\u0275fac=function(i){return new(i||e)(b(Wa),b($r),b(Ju),b(Xu))};static#t=this.\u0275cmp=kt({type:e,selectors:[["app-root"]],decls:67,vars:16,consts:[[1,"content"],[1,"navbar","navbar-expand-lg","navbar-dark","bg-dark"],["src","yadacoinstatic/explorer/assets/yadalogo.png","alt","Yadacoin Logo",1,"logo"],["href","#",1,"navbar-brand",3,"click"],["type","button","data-toggle","collapse","data-target","#navbarNav","aria-controls","navbarNav","aria-expanded","false","aria-label","Toggle navigation",1,"navbar-toggler",3,"click"],[1,"navbar-toggler-icon"],["id","navbarNav",1,"collapse","navbar-collapse"],[1,"navbar-nav"],[1,"nav-item"],["href","#",1,"nav-link",3,"click"],[1,"form-inline","ml-auto",3,"ngSubmit"],["searchForm","ngForm"],["name","term","placeholder","Wallet address, Transaction Id, Block height, Block hash...",1,"form-control",3,"ngModel","ngModelChange"],["type","submit",1,"btn","btn-success"],[1,"container-fluid"],[1,"row"],[1,"col-12","col-md-6","col-lg-3"],[1,"result-box"],["src","yadacoinstatic/explorer/assets/network-height.png","alt","Network Height",1,"watermark"],["src","yadacoinstatic/explorer/assets/hashrate.png","alt","Network Hashrate",1,"watermark"],["src","yadacoinstatic/explorer/assets/difficulty.png","alt","Network Difficulty",1,"watermark"],["src","yadacoinstatic/explorer/assets/circulating-supply.png","alt","Circulating Supply",1,"watermark"],[4,"ngIf"],[1,"footer","fixed-bottom"],[2,"text-transform","uppercase","margin","20px","margin-top","25px","text-align","center"],[1,"blocks-container"],[2,"text-transform","uppercase","margin","20px","margin-top","25px","color","red"],[2,"text-transform","uppercase","margin","20px","margin-top","25px"],[2,"margin","20px","margin-top","10px","word-break","break-word"],[2,"list-style-type","none","padding","0","margin","0"],[4,"ngFor","ngForOf"],[1,"block-details"],["class","previous-button",3,"href",4,"ngIf"],["class","next-button",3,"href",4,"ngIf"],[2,"text-transform","uppercase","margin","20px","margin-top","10px"],[3,"href"],[2,"text-transform","uppercase","margin","20px","margin-top","20px"],[1,"previous-button",3,"href"],[1,"bi","bi-arrow-left"],[1,"next-button",3,"href"],[1,"bi","bi-arrow-right"],[1,"transaction-container"],[1,"transaction-type-button",3,"ngClass","click"],[1,"transaction-details"],[1,"col-md-12"],[1,"input-section",2,"width","100%","display","inline-block","margin-top","5px"],[1,"accordion",3,"click"],["class","panel",4,"ngIf"],[1,"row","in-section",2,"margin-top","5px"],[1,"col-md-5"],[1,"transfer-in-info-box"],[2,"margin-left","10px"],[1,"transaction-value-button"],[1,"col-md-2","text-center"],["src","yadacoinstatic/explorer/assets/arrow-right.png","alt","Arrow Right",1,"arrow-icon"],[1,"panel"],[1,"transfer-out-info-box"],[1,"relationship-data-box"],[2,"text-transform","uppercase","margin","10px"],["rows","4","readonly","",2,"width","98%"],[1,"col-md-6"],[1,"transaction-type-button","create-identity"],[2,"margin-left","15px"],[1,"blocks-table"],[1,"hash-column"],[3,"click"],[1,"transaction-type-button",3,"ngClass"],["class","expanded-row",4,"ngIf"],[1,"expanded-row"],["colspan","5"],[2,"text-transform","uppercase","margin-top","10px"],[3,"ngClass","href"],[1,"input-section"],[1,"row","in-section"],[1,"transaction-type-button","create-identity",2,"margin-bottom","10px","margin-left","10px"],[1,"pagination"],["class","page-item",3,"active",4,"ngFor","ngForOf"],[1,"page-input"],["type","number","placeholder","Go to page","min","1",3,"ngModel","max","ngModelChange"],[1,"go-button",3,"click"],["colspan","4"],["class","transaction-details",4,"ngFor","ngForOf"],[1,"col-md-4"],[1,"page-item"],[1,"page-link",3,"click"]],template:function(i,r){1&i&&(p(0,"body")(1,"div",0)(2,"nav",1),Ae(3,"img",2),p(4,"a",3),Z("click",function(){return r.selectOption("Main Page")}),m(5,"Yadacoin Explorer"),f(),p(6,"button",4),Z("click",function(){return r.logButtonClick()}),Ae(7,"span",5),f(),p(8,"div",6)(9,"ul",7)(10,"li",8)(11,"a",9),Z("click",function(){return r.selectOption("Latest Blocks")}),m(12,"Latest Blocks"),f()(),p(13,"li",8)(14,"a",9),Z("click",function(){return r.selectOption("Mempool")}),m(15,"Mempool"),f()(),p(16,"li",8)(17,"a",9),Z("click",function(){return r.selectOption("Address Balance")}),m(18,"Address Balance"),f()()(),p(19,"form",10,11),Z("ngSubmit",function(){return r.onSubmit()}),p(21,"input",12),Z("ngModelChange",function(s){return r.model.term=s}),f(),p(22,"button",13),m(23,"Search"),f()()()(),p(24,"div",14)(25,"div",15)(26,"div",16)(27,"div",17),Ae(28,"img",18),p(29,"h5"),m(30,"Network Height"),f(),p(31,"h3"),m(32),lu(33,"replaceComma"),f()()(),p(34,"div",16)(35,"div",17),Ae(36,"img",19),p(37,"h5"),m(38,"Network Hashrate"),f(),p(39,"h3"),m(40),f()()(),p(41,"div",16)(42,"div",17),Ae(43,"img",20),p(44,"h5"),m(45,"Network Difficulty"),f(),p(46,"h3"),m(47),lu(48,"replaceComma"),f()()(),p(49,"div",16)(50,"div",17),Ae(51,"img",21),p(52,"h5"),m(53,"Circulating Supply"),f(),p(54,"h3"),m(55),lu(56,"replaceComma"),f()()()()(),I(57,G$,7,0,"div",22),I(58,L4,5,4,"div",22),I(59,V4,1,0,"app-latest-blocks",22),I(60,B4,1,0,"app-address-balance",22),I(61,j4,1,0,"app-mempool",22),f(),p(62,"footer",23)(63,"p"),m(64,"YdaCoin Explorer v0.2.0 dev | by Rakni for YadaCoin 2024"),f(),p(65,"p"),m(66,"Donation Address YADA: 1Hx9hETwiuwFnXQ715bMBTahcjgF6DNhHL"),f()()()),2&i&&(g(21),S("ngModel",r.model.term),g(11),A(cu(33,10,r.current_height)),g(8),A(r.hashrate),g(7),A(cu(48,12,r.difficulty)),g(8),V("",cu(56,14,r.circulating)," YDA"),g(2),S("ngIf","Main Page"===r.selectedOption),g(1),S("ngIf","SearchResults"===r.selectedOption),g(1),S("ngIf","Latest Blocks"===r.selectedOption),g(1),S("ngIf","Address Balance"===r.selectedOption),g(1),S("ngIf","Mempool"===r.selectedOption))},dependencies:[xu,qn,Yn,sE,Ya,Ug,Rg,WC,Xg,Jg,Zu,Yu,RT,PT,$$,U$],styles:["body[_ngcontent-%COMP%]{background-color:silver;margin:30px 5%;color:#303030}.content[_ngcontent-%COMP%]{margin-bottom:5%}.logo[_ngcontent-%COMP%]{width:50px;height:auto;margin-right:10px;margin-left:10px}.form-inline[_ngcontent-%COMP%]{width:100%;display:flex;justify-content:space-between;margin-left:10px;margin-top:5px}.form-control[_ngcontent-%COMP%]{flex:1}.btn[_ngcontent-%COMP%]{margin-left:10px;margin-right:20px}.navbar-nav[_ngcontent-%COMP%] .nav-item[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}.navbar-nav[_ngcontent-%COMP%]{margin-left:auto}.navbar-nav[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]{padding:.5rem 1rem}.navbar-nav[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]:hover{background-color:#ffffff1a}.navbar-toggler[_ngcontent-%COMP%]{margin-right:15px}.result-box[_ngcontent-%COMP%]{padding:10px;margin-right:10px;margin-top:20px;border-radius:5px;color:#fff;text-align:left;position:relative;background-color:#343a40}.result-box[_ngcontent-%COMP%] h5[_ngcontent-%COMP%], .result-box[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:10px;text-transform:uppercase;position:relative;z-index:1}.result-box[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-size:24px;font-weight:700}.watermark[_ngcontent-%COMP%]{width:auto;height:95%;object-fit:contain;position:absolute;top:0;right:0;z-index:0}.footer[_ngcontent-%COMP%]{background-color:#1f2428;color:#fff;padding:2px;text-align:center;position:fixed;bottom:0;font-size:12px}.pagination[_ngcontent-%COMP%]{margin-top:20px;cursor:pointer}.go-button[_ngcontent-%COMP%]{margin-left:5px;border:none;border-radius:3px;cursor:pointer;opacity:.7;transition:background-color .3s;background-color:#1e87cf}.footer[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:2px 0}"]})}return e})();const H4=[{path:"",component:kT},{path:"mempool",component:RT},{path:"address-balance",component:PT},{path:"**",redirectTo:"/"}];let $4=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({imports:[OT.forRoot(H4),OT]})}return e})();const U4=["addListener","removeListener"],G4=["addEventListener","removeEventListener"],z4=["on","off"];function At(e,n,t,i){if(se(t)&&(i=t,t=void 0),i)return At(e,n,t).pipe(Ng(i));const[r,o]=function Y4(e){return se(e.addEventListener)&&se(e.removeEventListener)}(e)?G4.map(s=>a=>e[s](n,a,t)):function W4(e){return se(e.addListener)&&se(e.removeListener)}(e)?U4.map(FT(e,n)):function q4(e){return se(e.on)&&se(e.off)}(e)?z4.map(FT(e,n)):[];if(!r&&nf(e))return ht(s=>At(s,n,t))(ft(e));if(!r)throw new TypeError("Invalid event target");return new Ce(s=>{const a=(...l)=>s.next(1o(a)})}function FT(e,n){return t=>i=>e[t](n,i)}class Z4 extends nt{constructor(n,t){super()}schedule(n,t=0){return this}}const md={setInterval(e,n,...t){const{delegate:i}=md;return i?.setInterval?i.setInterval(e,n,...t):setInterval(e,n,...t)},clearInterval(e){const{delegate:n}=md;return(n?.clearInterval||clearInterval)(e)},delegate:void 0},LT={now:()=>(LT.delegate||Date).now(),delegate:void 0};class _l{constructor(n,t=_l.now){this.schedulerActionCtor=n,this.now=t}schedule(n,t=0,i){return new this.schedulerActionCtor(this,n).schedule(i,t)}}_l.now=LT.now;const Q4=new class X4 extends _l{constructor(n,t=_l.now){super(n,t),this.actions=[],this._active=!1}flush(n){const{actions:t}=this;if(this._active)return void t.push(n);let i;this._active=!0;do{if(i=n.execute(n.state,n.delay))break}while(n=t.shift());if(this._active=!1,i){for(;n=t.shift();)n.unsubscribe();throw i}}}(class J4 extends Z4{constructor(n,t){super(n,t),this.scheduler=n,this.work=t,this.pending=!1}schedule(n,t=0){var i;if(this.closed)return this;this.state=n;const r=this.id,o=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(o,r,t)),this.pending=!0,this.delay=t,this.id=null!==(i=this.id)&&void 0!==i?i:this.requestAsyncId(o,this.id,t),this}requestAsyncId(n,t,i=0){return md.setInterval(n.flush.bind(n,this),i)}recycleAsyncId(n,t,i=0){if(null!=i&&this.delay===i&&!1===this.pending)return t;null!=t&&md.clearInterval(t)}execute(n,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(n,t);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(n,t){let r,i=!1;try{this.work(n)}catch(o){i=!0,r=o||new Error("Scheduled action threw falsy error")}if(i)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){const{id:n,scheduler:t}=this,{actions:i}=t;this.work=this.state=this.scheduler=null,this.pending=!1,Vi(i,this),null!=n&&(this.id=this.recycleAsyncId(t,n,null)),this.delay=null,super.unsubscribe()}}});const{isArray:e5}=Array;function jT(e){return 1===e.length&&e5(e[0])?e[0]:e}function Em(...e){const n=Ul(e),t=jT(e);return t.length?new Ce(i=>{let r=t.map(()=>[]),o=t.map(()=>!1);i.add(()=>{r=o=null});for(let s=0;!i.closed&&s{if(r[s].push(a),r.every(l=>l.length)){const l=r.map(c=>c.shift());i.next(n?n(...l):l),r.some((c,u)=>!c.length&&o[u])&&i.complete()}},()=>{o[s]=!0,!r[s].length&&i.complete()}));return()=>{r=o=null}}):bn}function Tm(...e){const n=Ul(e);return qe((t,i)=>{const r=e.length,o=new Array(r);let s=e.map(()=>!1),a=!1;for(let l=0;l{o[l]=c,!a&&!s[l]&&(s[l]=!0,(a=s.every(kn))&&(s=null))},pr));t.subscribe(Ve(i,l=>{if(a){const c=[l,...o];i.next(n?n(...c):c)}}))})}Math,Math,Math;const A8=["*"],lU=["dialog"];function zr(e){return"string"==typeof e}function Wr(e){return null!=e}function Ss(e){return(e||document.body).getBoundingClientRect()}const yS={animation:!0,transitionTimerDelayMs:5},eG=()=>{},{transitionTimerDelayMs:tG}=yS,Tl=new Map,an=(e,n,t,i)=>{let r=i.context||{};const o=Tl.get(n);if(o)switch(i.runningTransition){case"continue":return bn;case"stop":e.run(()=>o.transition$.complete()),r=Object.assign(o.context,r),Tl.delete(n)}const s=t(n,i.animation,r)||eG;if(!i.animation||"none"===window.getComputedStyle(n).transitionProperty)return e.run(()=>s()),J(void 0).pipe(function QU(e){return n=>new Ce(t=>n.subscribe({next:s=>e.run(()=>t.next(s)),error:s=>e.run(()=>t.error(s)),complete:()=>e.run(()=>t.complete())}))}(e));const a=new Ee,l=new Ee,c=a.pipe(function n5(...e){return n=>el(n,J(...e))}(!0));Tl.set(n,{transition$:a,complete:()=>{l.next(),l.complete()},context:r});const u=function KU(e){const{transitionDelay:n,transitionDuration:t}=window.getComputedStyle(e);return 1e3*(parseFloat(n)+parseFloat(t))}(n);return e.runOutsideAngular(()=>{const d=At(n,"transitionend").pipe(et(c),vt(({target:_})=>_===n));(function HT(...e){return 1===(e=jT(e)).length?ft(e[0]):new Ce(function t5(e){return n=>{let t=[];for(let i=0;t&&!n.closed&&i{if(t){for(let o=0;o{let o=function K4(e){return e instanceof Date&&!isNaN(e)}(e)?+e-t.now():e;o<0&&(o=0);let s=0;return t.schedule(function(){r.closed||(r.next(s++),0<=i?this.schedule(void 0,i):r.complete())},o)})}(u+tG).pipe(et(c)),d,l).pipe(et(c)).subscribe(()=>{Tl.delete(n),e.run(()=>{s(),a.next(),a.complete()})})}),a.asObservable()};let Ed=(()=>{class e{constructor(){this.animation=yS.animation}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),IS=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),NS=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),AS=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),zm=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})();var Le=function(e){return e[e.Tab=9]="Tab",e[e.Enter=13]="Enter",e[e.Escape=27]="Escape",e[e.Space=32]="Space",e[e.PageUp=33]="PageUp",e[e.PageDown=34]="PageDown",e[e.End=35]="End",e[e.Home=36]="Home",e[e.ArrowLeft=37]="ArrowLeft",e[e.ArrowUp=38]="ArrowUp",e[e.ArrowRight=39]="ArrowRight",e[e.ArrowDown=40]="ArrowDown",e}(Le||{});typeof navigator<"u"&&navigator.userAgent&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||/Macintosh/.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2||/Android/.test(navigator.userAgent));const BS=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");function jS(e){const n=Array.from(e.querySelectorAll(BS)).filter(t=>-1!==t.tabIndex);return[n[0],n[n.length-1]]}new Date(1882,10,12),new Date(2174,10,25);let KS=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),nM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})();class Xr{constructor(n,t,i){this.nodes=n,this.viewRef=t,this.componentRef=i}}let e6=(()=>{class e{constructor(t,i){this._el=t,this._zone=i}ngOnInit(){this._zone.onStable.asObservable().pipe(xt(1)).subscribe(()=>{an(this._zone,this._el.nativeElement,(t,i)=>{i&&Ss(t),t.classList.add("show")},{animation:this.animation,runningTransition:"continue"})})}hide(){return an(this._zone,this._el.nativeElement,({classList:t})=>t.remove("show"),{animation:this.animation,runningTransition:"stop"})}static#e=this.\u0275fac=function(i){return new(i||e)(b(Se),b(fe))};static#t=this.\u0275cmp=kt({type:e,selectors:[["ngb-modal-backdrop"]],hostAttrs:[2,"z-index","1055"],hostVars:6,hostBindings:function(i,r){2&i&&(Ir("modal-backdrop"+(r.backdropClass?" "+r.backdropClass:"")),me("show",!r.animation)("fade",r.animation))},inputs:{animation:"animation",backdropClass:"backdropClass"},standalone:!0,features:[In],decls:0,vars:0,template:function(i,r){},encapsulation:2})}return e})();class iM{update(n){}close(n){}dismiss(n){}}const t6=["animation","ariaLabelledBy","ariaDescribedBy","backdrop","centered","fullscreen","keyboard","scrollable","size","windowClass","modalDialogClass"],n6=["animation","backdropClass"];class i6{_applyWindowOptions(n,t){t6.forEach(i=>{Wr(t[i])&&(n[i]=t[i])})}_applyBackdropOptions(n,t){n6.forEach(i=>{Wr(t[i])&&(n[i]=t[i])})}update(n){this._applyWindowOptions(this._windowCmptRef.instance,n),this._backdropCmptRef&&this._backdropCmptRef.instance&&this._applyBackdropOptions(this._backdropCmptRef.instance,n)}get componentInstance(){if(this._contentRef&&this._contentRef.componentRef)return this._contentRef.componentRef.instance}get closed(){return this._closed.asObservable().pipe(et(this._hidden))}get dismissed(){return this._dismissed.asObservable().pipe(et(this._hidden))}get hidden(){return this._hidden.asObservable()}get shown(){return this._windowCmptRef.instance.shown.asObservable()}constructor(n,t,i,r){this._windowCmptRef=n,this._contentRef=t,this._backdropCmptRef=i,this._beforeDismiss=r,this._closed=new Ee,this._dismissed=new Ee,this._hidden=new Ee,n.instance.dismissEvent.subscribe(o=>{this.dismiss(o)}),this.result=new Promise((o,s)=>{this._resolve=o,this._reject=s}),this.result.then(null,()=>{})}close(n){this._windowCmptRef&&(this._closed.next(n),this._resolve(n),this._removeModalElements())}_dismiss(n){this._dismissed.next(n),this._reject(n),this._removeModalElements()}dismiss(n){if(this._windowCmptRef)if(this._beforeDismiss){const t=this._beforeDismiss();!function mS(e){return e&&e.then}(t)?!1!==t&&this._dismiss(n):t.then(i=>{!1!==i&&this._dismiss(n)},()=>{})}else this._dismiss(n)}_removeModalElements(){const n=this._windowCmptRef.instance.hide(),t=this._backdropCmptRef?this._backdropCmptRef.instance.hide():J(void 0);n.subscribe(()=>{const{nativeElement:i}=this._windowCmptRef.location;i.parentNode.removeChild(i),this._windowCmptRef.destroy(),this._contentRef&&this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._windowCmptRef=null,this._contentRef=null}),t.subscribe(()=>{if(this._backdropCmptRef){const{nativeElement:i}=this._backdropCmptRef.location;i.parentNode.removeChild(i),this._backdropCmptRef.destroy(),this._backdropCmptRef=null}}),Em(n,t).subscribe(()=>{this._hidden.next(),this._hidden.complete()})}}var e_=function(e){return e[e.BACKDROP_CLICK=0]="BACKDROP_CLICK",e[e.ESC=1]="ESC",e}(e_||{});let r6=(()=>{class e{constructor(t,i,r){this._document=t,this._elRef=i,this._zone=r,this._closed$=new Ee,this._elWithFocus=null,this.backdrop=!0,this.keyboard=!0,this.dismissEvent=new Y,this.shown=new Ee,this.hidden=new Ee}get fullscreenClass(){return!0===this.fullscreen?" modal-fullscreen":zr(this.fullscreen)?` modal-fullscreen-${this.fullscreen}-down`:""}dismiss(t){this.dismissEvent.emit(t)}ngOnInit(){this._elWithFocus=this._document.activeElement,this._zone.onStable.asObservable().pipe(xt(1)).subscribe(()=>{this._show()})}ngOnDestroy(){this._disableEventHandling()}hide(){const{nativeElement:t}=this._elRef,i={animation:this.animation,runningTransition:"stop"},s=Em(an(this._zone,t,()=>t.classList.remove("show"),i),an(this._zone,this._dialogEl.nativeElement,()=>{},i));return s.subscribe(()=>{this.hidden.next(),this.hidden.complete()}),this._disableEventHandling(),this._restoreFocus(),s}_show(){const t={animation:this.animation,runningTransition:"continue"};Em(an(this._zone,this._elRef.nativeElement,(o,s)=>{s&&Ss(o),o.classList.add("show")},t),an(this._zone,this._dialogEl.nativeElement,()=>{},t)).subscribe(()=>{this.shown.next(),this.shown.complete()}),this._enableEventHandling(),this._setFocus()}_enableEventHandling(){const{nativeElement:t}=this._elRef;this._zone.runOutsideAngular(()=>{At(t,"keydown").pipe(et(this._closed$),vt(r=>r.which===Le.Escape)).subscribe(r=>{this.keyboard?requestAnimationFrame(()=>{r.defaultPrevented||this._zone.run(()=>this.dismiss(e_.ESC))}):"static"===this.backdrop&&this._bumpBackdrop()});let i=!1;At(this._dialogEl.nativeElement,"mousedown").pipe(et(this._closed$),wt(()=>i=!1),wn(()=>At(t,"mouseup").pipe(et(this._closed$),xt(1))),vt(({target:r})=>t===r)).subscribe(()=>{i=!0}),At(t,"click").pipe(et(this._closed$)).subscribe(({target:r})=>{t===r&&("static"===this.backdrop?this._bumpBackdrop():!0===this.backdrop&&!i&&this._zone.run(()=>this.dismiss(e_.BACKDROP_CLICK))),i=!1})})}_disableEventHandling(){this._closed$.next()}_setFocus(){const{nativeElement:t}=this._elRef;if(!t.contains(document.activeElement)){const i=t.querySelector("[ngbAutofocus]"),r=jS(t)[0];(i||r||t).focus()}}_restoreFocus(){const t=this._document.body,i=this._elWithFocus;let r;r=i&&i.focus&&t.contains(i)?i:t,this._zone.runOutsideAngular(()=>{setTimeout(()=>r.focus()),this._elWithFocus=null})}_bumpBackdrop(){"static"===this.backdrop&&an(this._zone,this._elRef.nativeElement,({classList:t})=>(t.add("modal-static"),()=>t.remove("modal-static")),{animation:this.animation,runningTransition:"continue"})}static#e=this.\u0275fac=function(i){return new(i||e)(b(ut),b(Se),b(fe))};static#t=this.\u0275cmp=kt({type:e,selectors:[["ngb-modal-window"]],viewQuery:function(i,r){if(1&i&&xr(lU,7),2&i){let o;Re(o=function Pe(){return function hk(e,n){return e[ri].queries[n].queryList}(O(),Mv())}())&&(r._dialogEl=o.first)}},hostAttrs:["role","dialog","tabindex","-1"],hostVars:7,hostBindings:function(i,r){2&i&&(Ie("aria-modal",!0)("aria-labelledby",r.ariaLabelledBy)("aria-describedby",r.ariaDescribedBy),Ir("modal d-block"+(r.windowClass?" "+r.windowClass:"")),me("fade",r.animation))},inputs:{animation:"animation",ariaLabelledBy:"ariaLabelledBy",ariaDescribedBy:"ariaDescribedBy",backdrop:"backdrop",centered:"centered",fullscreen:"fullscreen",keyboard:"keyboard",scrollable:"scrollable",size:"size",windowClass:"windowClass",modalDialogClass:"modalDialogClass"},outputs:{dismissEvent:"dismiss"},standalone:!0,features:[In],ngContentSelectors:A8,decls:4,vars:2,consts:[["role","document"],["dialog",""],[1,"modal-content"]],template:function(i,r){1&i&&(function T0(e){const n=O()[ot][Ft];if(!n.projection){const i=n.projection=ia(e?e.length:1,null),r=i.slice();let o=n.child;for(;null!==o;){const s=e?LR(o,e):0;null!==s&&(r[s]?r[s].projectionNext=o:i[s]=o,r[s]=o),o=o.next}}}(),p(0,"div",0,1)(2,"div",2),function S0(e,n=0,t){const i=O(),r=pe(),o=Uo(r,ue+e,16,null,t||null);null===o.projection&&(o.projection=n),Rf(),(!i[Ei]||yo())&&32!=(32&o.flags)&&function VO(e,n,t){Ny(n[ne],0,n,t,sh(e,t,n),Cy(t.parent||n[Ft],t,n))}(r,i,o)}(3),f()()),2&i&&Ir("modal-dialog"+(r.size?" modal-"+r.size:"")+(r.centered?" modal-dialog-centered":"")+r.fullscreenClass+(r.scrollable?" modal-dialog-scrollable":"")+(r.modalDialogClass?" "+r.modalDialogClass:""))},styles:["ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}\n"],encapsulation:2})}return e})(),o6=(()=>{class e{constructor(t){this._document=t}hide(){const t=Math.abs(window.innerWidth-this._document.documentElement.clientWidth),i=this._document.body,r=i.style,{overflow:o,paddingRight:s}=r;if(t>0){const a=parseFloat(window.getComputedStyle(i).paddingRight);r.paddingRight=`${a+t}px`}return r.overflow="hidden",()=>{t>0&&(r.paddingRight=s),r.overflow=o}}static#e=this.\u0275fac=function(i){return new(i||e)(H(ut))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),s6=(()=>{class e{constructor(t,i,r,o,s,a,l){this._applicationRef=t,this._injector=i,this._environmentInjector=r,this._document=o,this._scrollBar=s,this._rendererFactory=a,this._ngZone=l,this._activeWindowCmptHasChanged=new Ee,this._ariaHiddenValues=new Map,this._scrollBarRestoreFn=null,this._modalRefs=[],this._windowCmpts=[],this._activeInstances=new Y,this._activeWindowCmptHasChanged.subscribe(()=>{if(this._windowCmpts.length){const c=this._windowCmpts[this._windowCmpts.length-1];((e,n,t,i=!1)=>{e.runOutsideAngular(()=>{const r=At(n,"focusin").pipe(et(t),ae(o=>o.target));At(n,"keydown").pipe(et(t),vt(o=>o.which===Le.Tab),Tm(r)).subscribe(([o,s])=>{const[a,l]=jS(n);(s===a||s===n)&&o.shiftKey&&(l.focus(),o.preventDefault()),s===l&&!o.shiftKey&&(a.focus(),o.preventDefault())}),i&&At(n,"click").pipe(et(t),Tm(r),ae(o=>o[1])).subscribe(o=>o.focus())})})(this._ngZone,c.location.nativeElement,this._activeWindowCmptHasChanged),this._revertAriaHidden(),this._setAriaHidden(c.location.nativeElement)}})}_restoreScrollBar(){const t=this._scrollBarRestoreFn;t&&(this._scrollBarRestoreFn=null,t())}_hideScrollBar(){this._scrollBarRestoreFn||(this._scrollBarRestoreFn=this._scrollBar.hide())}open(t,i,r){const o=r.container instanceof HTMLElement?r.container:Wr(r.container)?this._document.querySelector(r.container):this._document.body,s=this._rendererFactory.createRenderer(null,null);if(!o)throw new Error(`The specified modal container "${r.container||"body"}" was not found in the DOM.`);this._hideScrollBar();const a=new iM,l=(t=r.injector||t).get(zt,null)||this._environmentInjector,c=this._getContentRef(t,l,i,a,r);let u=!1!==r.backdrop?this._attachBackdrop(o):void 0,d=this._attachWindowComponent(o,c.nodes),h=new i6(d,c,u,r.beforeDismiss);return this._registerModalRef(h),this._registerWindowCmpt(d),h.hidden.pipe(xt(1)).subscribe(()=>Promise.resolve(!0).then(()=>{this._modalRefs.length||(s.removeClass(this._document.body,"modal-open"),this._restoreScrollBar(),this._revertAriaHidden())})),a.close=_=>{h.close(_)},a.dismiss=_=>{h.dismiss(_)},a.update=_=>{h.update(_)},h.update(r),1===this._modalRefs.length&&s.addClass(this._document.body,"modal-open"),u&&u.instance&&u.changeDetectorRef.detectChanges(),d.changeDetectorRef.detectChanges(),h}get activeInstances(){return this._activeInstances}dismissAll(t){this._modalRefs.forEach(i=>i.dismiss(t))}hasOpenModals(){return this._modalRefs.length>0}_attachBackdrop(t){let i=Zp(e6,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector});return this._applicationRef.attachView(i.hostView),t.appendChild(i.location.nativeElement),i}_attachWindowComponent(t,i){let r=Zp(r6,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector,projectableNodes:i});return this._applicationRef.attachView(r.hostView),t.appendChild(r.location.nativeElement),r}_getContentRef(t,i,r,o,s){return r?r instanceof Je?this._createFromTemplateRef(r,o):zr(r)?this._createFromString(r):this._createFromComponent(t,i,r,o,s):new Xr([])}_createFromTemplateRef(t,i){const o=t.createEmbeddedView({$implicit:i,close(s){i.close(s)},dismiss(s){i.dismiss(s)}});return this._applicationRef.attachView(o),new Xr([o.rootNodes],o)}_createFromString(t){const i=this._document.createTextNode(`${t}`);return new Xr([[i]])}_createFromComponent(t,i,r,o,s){const l=Zp(r,{environmentInjector:i,elementInjector:Nt.create({providers:[{provide:iM,useValue:o}],parent:t})}),c=l.location.nativeElement;return s.scrollable&&c.classList.add("component-host-scrollable"),this._applicationRef.attachView(l.hostView),new Xr([[c]],l.hostView,l)}_setAriaHidden(t){const i=t.parentElement;i&&t!==this._document.body&&(Array.from(i.children).forEach(r=>{r!==t&&"SCRIPT"!==r.nodeName&&(this._ariaHiddenValues.set(r,r.getAttribute("aria-hidden")),r.setAttribute("aria-hidden","true"))}),this._setAriaHidden(i))}_revertAriaHidden(){this._ariaHiddenValues.forEach((t,i)=>{t?i.setAttribute("aria-hidden",t):i.removeAttribute("aria-hidden")}),this._ariaHiddenValues.clear()}_registerModalRef(t){const i=()=>{const r=this._modalRefs.indexOf(t);r>-1&&(this._modalRefs.splice(r,1),this._activeInstances.emit(this._modalRefs))};this._modalRefs.push(t),this._activeInstances.emit(this._modalRefs),t.result.then(i,i)}_registerWindowCmpt(t){this._windowCmpts.push(t),this._activeWindowCmptHasChanged.next(),t.onDestroy(()=>{const i=this._windowCmpts.indexOf(t);i>-1&&(this._windowCmpts.splice(i,1),this._activeWindowCmptHasChanged.next())})}static#e=this.\u0275fac=function(i){return new(i||e)(H(Ki),H(Nt),H(zt),H(ut),H(o6),H(kh),H(fe))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),a6=(()=>{class e{constructor(t){this._ngbConfig=t,this.backdrop=!0,this.fullscreen=!1,this.keyboard=!0}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(t){this._animation=t}static#e=this.\u0275fac=function(i){return new(i||e)(H(Ed))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),l6=(()=>{class e{constructor(t,i,r){this._injector=t,this._modalStack=i,this._config=r}open(t,i={}){const r={...this._config,animation:this._config.animation,...i};return this._modalStack.open(this._injector,t,r)}get activeInstances(){return this._modalStack.activeInstances}dismissAll(t){this._modalStack.dismissAll(t)}hasOpenModals(){return this._modalStack.hasOpenModals()}static#e=this.\u0275fac=function(i){return new(i||e)(H(Nt),H(s6),H(a6))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),rM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({providers:[l6]})}return e})(),aM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),gM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),mM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),_M=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),vM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),yM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),bM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),DM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),wM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})();new z("live announcer delay",{providedIn:"root",factory:function C6(){return 100}});let CM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),EM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})();const T6=[IS,NS,AS,zm,KS,nM,rM,aM,EM,gM,mM,_M,vM,yM,bM,DM,wM,CM];let S6=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({imports:[T6,IS,NS,AS,zm,KS,nM,rM,aM,EM,gM,mM,_M,vM,yM,bM,DM,wM,CM]})}return e})(),M6=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e,bootstrap:[kT]});static#n=this.\u0275inj=ve({providers:[Ju,Xu],imports:[rB,PB,$j,$4,Uj,S6,zm]})}return e})();nB().bootstrapModule(M6).catch(e=>console.error(e))},614:()=>{const se=":";const $l=function(E,...w){if($l.translate){const x=$l.translate(E,w);E=x[0],w=x[1]}let N=Qd(E[0],E.raw[0]);for(let x=1;x{var Li=Vi=>se(se.s=Vi);Li(614),Li(75)}]); \ No newline at end of file diff --git a/yadacoin/http/explorer.py b/yadacoin/http/explorer.py index bcdc3b2c..40e674fe 100644 --- a/yadacoin/http/explorer.py +++ b/yadacoin/http/explorer.py @@ -65,7 +65,7 @@ async def get_wallet_balance(self, term): blocks = await self.config.mongo.async_db.blocks.find( {"transactions.outputs.to": term}, {"_id": 0, "index": 1, "time": 1, "hash": 1, "transactions": 1}, - ).sort("index", -1).limit(25).to_list(length=25) + ).sort("index", -1).to_list(length=None) result = [ { From 2f9823dd6ab0c8465860b6f2ed423bcd16e5d789 Mon Sep 17 00:00:00 2001 From: Rakni1988 Date: Sun, 10 Mar 2024 20:28:52 +0100 Subject: [PATCH 68/94] test: scan missed txn --- yadacoin/core/config.py | 4 ++-- yadacoin/http/pool.py | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/yadacoin/core/config.py b/yadacoin/core/config.py index 071931cd..6929f416 100644 --- a/yadacoin/core/config.py +++ b/yadacoin/core/config.py @@ -156,7 +156,7 @@ def __init__(self, config=None): self.nonce_processor_wait = config.get("nonce_processor_wait", 1) self.mongo_query_timeout = config.get("mongo_query_timeout", 30000) - self.http_request_timeout = config.get("http_request_timeout", 10) + self.http_request_timeout = config.get("http_request_timeout", 60) for key, val in config.items(): if not hasattr(self, key): @@ -436,7 +436,7 @@ def from_dict(cls, config): cls.nonce_processor_wait = config.get("nonce_processor_wait", 1) cls.mongo_query_timeout = config.get("mongo_query_timeout", 3000) - cls.http_request_timeout = config.get("http_request_timeout", 10) + cls.http_request_timeout = config.get("http_request_timeout", 60) @staticmethod def address_is_valid(address): diff --git a/yadacoin/http/pool.py b/yadacoin/http/pool.py index 05c00f46..4dea167e 100644 --- a/yadacoin/http/pool.py +++ b/yadacoin/http/pool.py @@ -227,9 +227,45 @@ async def get(self): self.render_as_json({"status": True}) +class PoolScanMissingTxnHandler(BaseHandler): + async def get(self): + pool_public_key = ( + self.config.pool_public_key + if hasattr(self.config, "pool_public_key") + else self.config.public_key + ) + + coinbase_transactions = self.config.mongo.async_db.blocks.find( + {"transactions.outputs.to": pool_public_key, "transactions.inputs": []}, + {"_id": 0, "transactions": 1} + ) + + missing_payouts = [] + + used_transactions = set() + + async for block in coinbase_transactions: + for coinbase_txn in block["transactions"]: + if not coinbase_txn.get("inputs"): + if coinbase_txn["public_key"] == pool_public_key: + missing_payouts.append(coinbase_txn) + + used_transactions.add(coinbase_txn["id"]) + + async for block in self.config.mongo.async_db.blocks.find(): + for txn in block["transactions"]: + if txn.get("inputs"): + for input_txn in txn["inputs"]: + used_transactions.add(input_txn["id"]) + + missing_payouts = [txn for txn in missing_payouts if txn["id"] not in used_transactions] + + self.render_as_json({"missing_payouts": missing_payouts}) + POOL_HANDLERS = [ (r"/miner-stats-for-address", MinerStatsHandler), (r"/payouts-for-address", PoolPayoutsHandler), (r"/pool-blocks", PoolBlocksHandler), (r"/scan-missed-payouts", PoolScanMissedPayoutsHandler), + (r"/scan-missed-txn", PoolScanMissingTxnHandler), ] From 9ec18e72f5725cc95747a4c6d2c63c873bc5c324 Mon Sep 17 00:00:00 2001 From: Rakni1988 Date: Sun, 10 Mar 2024 20:56:41 +0100 Subject: [PATCH 69/94] test: add start index to scan missed txn --- yadacoin/http/pool.py | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/yadacoin/http/pool.py b/yadacoin/http/pool.py index 4dea167e..03b33341 100644 --- a/yadacoin/http/pool.py +++ b/yadacoin/http/pool.py @@ -235,13 +235,29 @@ async def get(self): else self.config.public_key ) + start_index = self.get_query_argument("start_index", default=None) + + if start_index is not None: + try: + start_index = int(start_index) + if start_index < 0: + raise ValueError("Start index must be a non-negative integer.") + except ValueError: + error_message = "Invalid value for 'start_index'. Please provide a non-negative integer." + example_usage = "Example usage: /scan-missed-txn?start_index=0" + self.render_as_json({"error": error_message, "instruction": example_usage}) + return + else: + instruction_message = "Please provide a start index. Example usage: /scan-missed-txn?start_index=0" + self.render_as_json({"instruction": instruction_message}) + return + coinbase_transactions = self.config.mongo.async_db.blocks.find( {"transactions.outputs.to": pool_public_key, "transactions.inputs": []}, {"_id": 0, "transactions": 1} ) missing_payouts = [] - used_transactions = set() async for block in coinbase_transactions: @@ -249,10 +265,14 @@ async def get(self): if not coinbase_txn.get("inputs"): if coinbase_txn["public_key"] == pool_public_key: missing_payouts.append(coinbase_txn) - used_transactions.add(coinbase_txn["id"]) - async for block in self.config.mongo.async_db.blocks.find(): + all_transactions = self.config.mongo.async_db.blocks.find() + + if start_index is not None: + all_transactions = all_transactions.skip(start_index) + + async for block in all_transactions: for txn in block["transactions"]: if txn.get("inputs"): for input_txn in txn["inputs"]: From bdf255125535e46d052064fb50cea35e7db762fc Mon Sep 17 00:00:00 2001 From: Rakni1988 Date: Mon, 11 Mar 2024 02:04:30 +0100 Subject: [PATCH 70/94] test: missing txn v2 --- yadacoin/http/pool.py | 82 ++++++++++++++++++++++++++++++------------- 1 file changed, 58 insertions(+), 24 deletions(-) diff --git a/yadacoin/http/pool.py b/yadacoin/http/pool.py index 03b33341..bf2b7160 100644 --- a/yadacoin/http/pool.py +++ b/yadacoin/http/pool.py @@ -235,8 +235,10 @@ async def get(self): else self.config.public_key ) + self.app_log.info(f"Using pool public key: {pool_public_key}") + start_index = self.get_query_argument("start_index", default=None) - + if start_index is not None: try: start_index = int(start_index) @@ -252,36 +254,68 @@ async def get(self): self.render_as_json({"instruction": instruction_message}) return - coinbase_transactions = self.config.mongo.async_db.blocks.find( - {"transactions.outputs.to": pool_public_key, "transactions.inputs": []}, - {"_id": 0, "transactions": 1} - ) - - missing_payouts = [] - used_transactions = set() - - async for block in coinbase_transactions: - for coinbase_txn in block["transactions"]: - if not coinbase_txn.get("inputs"): - if coinbase_txn["public_key"] == pool_public_key: - missing_payouts.append(coinbase_txn) - used_transactions.add(coinbase_txn["id"]) + coinbase_txn_ids = set() - all_transactions = self.config.mongo.async_db.blocks.find() + pipeline = [ + { + "$match": { + "transactions.public_key": pool_public_key, + "transactions.inputs": [], + "index": {"$gte": start_index} + } + }, + { + "$unwind": "$transactions" + }, + { + "$match": { + "transactions.public_key": pool_public_key, + "transactions.inputs": [], + "index": {"$gte": start_index} + } + }, + { + "$project": { + "_id": 0, + "transactions.id": 1, + } + } + ] - if start_index is not None: - all_transactions = all_transactions.skip(start_index) + coinbase_txns_aggregation = await self.config.mongo.async_db.blocks.aggregate(pipeline).to_list(length=None) - async for block in all_transactions: - for txn in block["transactions"]: - if txn.get("inputs"): - for input_txn in txn["inputs"]: - used_transactions.add(input_txn["id"]) + for doc in coinbase_txns_aggregation: + if "transactions" in doc: + coinbase_txn_ids.add(doc["transactions"].get("id")) + self.app_log.info(f"Coinbase Transaction ID: {doc['transactions'].get('id')}") - missing_payouts = [txn for txn in missing_payouts if txn["id"] not in used_transactions] + missing_payouts = [] + for txn_id in coinbase_txn_ids: + used_txns = await self.already_used(txn_id, pool_public_key) + if not used_txns: + missing_payouts.append({"transaction_id": txn_id}) self.render_as_json({"missing_payouts": missing_payouts}) + async def already_used(self, txn_id, pool_public_key): + results = self.config.mongo.async_db.blocks.aggregate( + [ + { + "$match": { + "transactions.inputs.id": txn_id, + } + }, + {"$unwind": "$transactions"}, + { + "$match": { + "transactions.inputs.id": txn_id, + "transactions.public_key": pool_public_key, + } + }, + ] + ) + return [x async for x in results] + POOL_HANDLERS = [ (r"/miner-stats-for-address", MinerStatsHandler), (r"/payouts-for-address", PoolPayoutsHandler), From 530ebc81b0fcc511936f1cfe68265f80181f3c49 Mon Sep 17 00:00:00 2001 From: Rakni1988 Date: Fri, 29 Mar 2024 19:30:38 +0100 Subject: [PATCH 71/94] fix: transfer transaction --- static/explorer/main.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/explorer/main.js b/static/explorer/main.js index 18643174..e689c989 100644 --- a/static/explorer/main.js +++ b/static/explorer/main.js @@ -1 +1 @@ -"use strict";(self.webpackChunkexplorer=self.webpackChunkexplorer||[]).push([[179],{75:()=>{function se(e){return"function"==typeof e}function Li(e){const t=e(i=>{Error.call(i),i.stack=(new Error).stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}const fr=Li(e=>function(t){e(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((i,r)=>`${r+1}) ${i.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t});function Vi(e,n){if(e){const t=e.indexOf(n);0<=t&&e.splice(t,1)}}class nt{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;const{_parentage:t}=this;if(t)if(this._parentage=null,Array.isArray(t))for(const o of t)o.remove(this);else t.remove(this);const{initialTeardown:i}=this;if(se(i))try{i()}catch(o){n=o instanceof fr?o.errors:[o]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const o of r)try{hr(o)}catch(s){n=n??[],s instanceof fr?n=[...n,...s.errors]:n.push(s)}}if(n)throw new fr(n)}}add(n){var t;if(n&&n!==this)if(this.closed)hr(n);else{if(n instanceof nt){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=null!==(t=this._finalizers)&&void 0!==t?t:[]).push(n)}}_hasParent(n){const{_parentage:t}=this;return t===n||Array.isArray(t)&&t.includes(n)}_addParent(n){const{_parentage:t}=this;this._parentage=Array.isArray(t)?(t.push(n),t):t?[t,n]:n}_removeParent(n){const{_parentage:t}=this;t===n?this._parentage=null:Array.isArray(t)&&Vi(t,n)}remove(n){const{_finalizers:t}=this;t&&Vi(t,n),n instanceof nt&&n._removeParent(this)}}nt.EMPTY=(()=>{const e=new nt;return e.closed=!0,e})();const xs=nt.EMPTY;function Al(e){return e instanceof nt||e&&"closed"in e&&se(e.remove)&&se(e.add)&&se(e.unsubscribe)}function hr(e){se(e)?e():e.unsubscribe()}const Bi={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},io={setTimeout(e,n,...t){const{delegate:i}=io;return i?.setTimeout?i.setTimeout(e,n,...t):setTimeout(e,n,...t)},clearTimeout(e){const{delegate:n}=io;return(n?.clearTimeout||clearTimeout)(e)},delegate:void 0};function $d(e){io.setTimeout(()=>{const{onUnhandledError:n}=Bi;if(!n)throw e;n(e)})}function pr(){}const Ud=As("C",void 0,void 0);function As(e,n,t){return{kind:e,value:n,error:t}}let yi=null;function ni(e){if(Bi.useDeprecatedSynchronousErrorHandling){const n=!yi;if(n&&(yi={errorThrown:!1,error:null}),e(),n){const{errorThrown:t,error:i}=yi;if(yi=null,t)throw i}}else e()}class ro extends nt{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,Al(n)&&n.add(this)):this.destination=Ps}static create(n,t,i){return new bi(n,t,i)}next(n){this.isStopped?Rs(function zd(e){return As("N",e,void 0)}(n),this):this._next(n)}error(n){this.isStopped?Rs(function Gd(e){return As("E",void 0,e)}(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?Rs(Ud,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(n){this.destination.next(n)}_error(n){try{this.destination.error(n)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const Rl=Function.prototype.bind;function oo(e,n){return Rl.call(e,n)}class Pl{constructor(n){this.partialObserver=n}next(n){const{partialObserver:t}=this;if(t.next)try{t.next(n)}catch(i){ln(i)}}error(n){const{partialObserver:t}=this;if(t.error)try{t.error(n)}catch(i){ln(i)}else ln(n)}complete(){const{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(t){ln(t)}}}class bi extends ro{constructor(n,t,i){let r;if(super(),se(n)||!n)r={next:n??void 0,error:t??void 0,complete:i??void 0};else{let o;this&&Bi.useDeprecatedNextContext?(o=Object.create(n),o.unsubscribe=()=>this.unsubscribe(),r={next:n.next&&oo(n.next,o),error:n.error&&oo(n.error,o),complete:n.complete&&oo(n.complete,o)}):r=n}this.destination=new Pl(r)}}function ln(e){Bi.useDeprecatedSynchronousErrorHandling?function Wd(e){Bi.useDeprecatedSynchronousErrorHandling&&yi&&(yi.errorThrown=!0,yi.error=e)}(e):$d(e)}function Rs(e,n){const{onStoppedNotification:t}=Bi;t&&io.setTimeout(()=>t(e,n))}const Ps={closed:!0,next:pr,error:function kl(e){throw e},complete:pr},ks="function"==typeof Symbol&&Symbol.observable||"@@observable";function kn(e){return e}function Ll(e){return 0===e.length?kn:1===e.length?e[0]:function(t){return e.reduce((i,r)=>r(i),t)}}let Ce=(()=>{class e{constructor(t){t&&(this._subscribe=t)}lift(t){const i=new e;return i.source=this,i.operator=t,i}subscribe(t,i,r){const o=function Yd(e){return e&&e instanceof ro||function qd(e){return e&&se(e.next)&&se(e.error)&&se(e.complete)}(e)&&Al(e)}(t)?t:new bi(t,i,r);return ni(()=>{const{operator:s,source:a}=this;o.add(s?s.call(o,a):a?this._subscribe(o):this._trySubscribe(o))}),o}_trySubscribe(t){try{return this._subscribe(t)}catch(i){t.error(i)}}forEach(t,i){return new(i=Vl(i))((r,o)=>{const s=new bi({next:a=>{try{t(a)}catch(l){o(l),s.unsubscribe()}},error:o,complete:r});this.subscribe(s)})}_subscribe(t){var i;return null===(i=this.source)||void 0===i?void 0:i.subscribe(t)}[ks](){return this}pipe(...t){return Ll(t)(this)}toPromise(t){return new(t=Vl(t))((i,r)=>{let o;this.subscribe(s=>o=s,s=>r(s),()=>i(o))})}}return e.create=n=>new e(n),e})();function Vl(e){var n;return null!==(n=e??Bi.Promise)&&void 0!==n?n:Promise}const Zd=Li(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let Ee=(()=>{class e extends Ce{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const i=new Bl(this,this);return i.operator=t,i}_throwIfClosed(){if(this.closed)throw new Zd}next(t){ni(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const i of this.currentObservers)i.next(t)}})}error(t){ni(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;const{observers:i}=this;for(;i.length;)i.shift().error(t)}})}complete(){ni(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:t}=this;for(;t.length;)t.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){const{hasError:i,isStopped:r,observers:o}=this;return i||r?xs:(this.currentObservers=null,o.push(t),new nt(()=>{this.currentObservers=null,Vi(o,t)}))}_checkFinalizedStatuses(t){const{hasError:i,thrownError:r,isStopped:o}=this;i?t.error(r):o&&t.complete()}asObservable(){const t=new Ce;return t.source=this,t}}return e.create=(n,t)=>new Bl(n,t),e})();class Bl extends Ee{constructor(n,t){super(),this.destination=n,this.source=t}next(n){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===i||i.call(t,n)}error(n){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===i||i.call(t,n)}complete(){var n,t;null===(t=null===(n=this.destination)||void 0===n?void 0:n.complete)||void 0===t||t.call(n)}_subscribe(n){var t,i;return null!==(i=null===(t=this.source)||void 0===t?void 0:t.subscribe(n))&&void 0!==i?i:xs}}function Fs(e){return se(e?.lift)}function qe(e){return n=>{if(Fs(n))return n.lift(function(t){try{return e(t,this)}catch(i){this.error(i)}});throw new TypeError("Unable to lift unknown Observable type")}}function Ve(e,n,t,i,r){return new Jd(e,n,t,i,r)}class Jd extends ro{constructor(n,t,i,r,o,s){super(n),this.onFinalize=o,this.shouldUnsubscribe=s,this._next=t?function(a){try{t(a)}catch(l){n.error(l)}}:super._next,this._error=r?function(a){try{r(a)}catch(l){n.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=i?function(){try{i()}catch(a){n.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:t}=this;super.unsubscribe(),!t&&(null===(n=this.onFinalize)||void 0===n||n.call(this))}}}function ae(e,n){return qe((t,i)=>{let r=0;t.subscribe(Ve(i,o=>{i.next(e.call(n,o,r++))}))})}function Jt(e){return this instanceof Jt?(this.v=e,this):new Jt(e)}function Xt(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=function it(e){var n="function"==typeof Symbol&&Symbol.iterator,t=n&&e[n],i=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(o){t[o]=e[o]&&function(s){return new Promise(function(a,l){!function r(o,s,a,l){Promise.resolve(l).then(function(c){o({value:c,done:a})},s)}(a,l,(s=e[o](s)).done,s.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const nf=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function c_(e){return se(e?.then)}function u_(e){return se(e[ks])}function d_(e){return Symbol.asyncIterator&&se(e?.[Symbol.asyncIterator])}function f_(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const h_=function VM(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function p_(e){return se(e?.[h_])}function g_(e){return function gr(e,n,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,i=t.apply(e,n||[]),o=[];return r={},s("next"),s("throw"),s("return"),r[Symbol.asyncIterator]=function(){return this},r;function s(h){i[h]&&(r[h]=function(_){return new Promise(function(v,y){o.push([h,_,v,y])>1||a(h,_)})})}function a(h,_){try{!function l(h){h.value instanceof Jt?Promise.resolve(h.value.v).then(c,u):d(o[0][2],h)}(i[h](_))}catch(v){d(o[0][3],v)}}function c(h){a("next",h)}function u(h){a("throw",h)}function d(h,_){h(_),o.shift(),o.length&&a(o[0][0],o[0][1])}}(this,arguments,function*(){const t=e.getReader();try{for(;;){const{value:i,done:r}=yield Jt(t.read());if(r)return yield Jt(void 0);yield yield Jt(i)}}finally{t.releaseLock()}})}function m_(e){return se(e?.getReader)}function ft(e){if(e instanceof Ce)return e;if(null!=e){if(u_(e))return function BM(e){return new Ce(n=>{const t=e[ks]();if(se(t.subscribe))return t.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(nf(e))return function jM(e){return new Ce(n=>{for(let t=0;t{e.then(t=>{n.closed||(n.next(t),n.complete())},t=>n.error(t)).then(null,$d)})}(e);if(d_(e))return __(e);if(p_(e))return function $M(e){return new Ce(n=>{for(const t of e)if(n.next(t),n.closed)return;n.complete()})}(e);if(m_(e))return function UM(e){return __(g_(e))}(e)}throw f_(e)}function __(e){return new Ce(n=>{(function GM(e,n){var t,i,r,o;return function N(e,n,t,i){return new(t||(t=Promise))(function(o,s){function a(u){try{c(i.next(u))}catch(d){s(d)}}function l(u){try{c(i.throw(u))}catch(d){s(d)}}function c(u){u.done?o(u.value):function r(o){return o instanceof t?o:new t(function(s){s(o)})}(u.value).then(a,l)}c((i=i.apply(e,n||[])).next())})}(this,void 0,void 0,function*(){try{for(t=Xt(e);!(i=yield t.next()).done;)if(n.next(i.value),n.closed)return}catch(s){r={error:s}}finally{try{i&&!i.done&&(o=t.return)&&(yield o.call(t))}finally{if(r)throw r.error}}n.complete()})})(e,n).catch(t=>n.error(t))})}function Di(e,n,t,i=0,r=!1){const o=n.schedule(function(){t(),r?e.add(this.schedule(null,i)):this.unsubscribe()},i);if(e.add(o),!r)return o}function ht(e,n,t=1/0){return se(n)?ht((i,r)=>ae((o,s)=>n(i,o,r,s))(ft(e(i,r))),t):("number"==typeof n&&(t=n),qe((i,r)=>function zM(e,n,t,i,r,o,s,a){const l=[];let c=0,u=0,d=!1;const h=()=>{d&&!l.length&&!c&&n.complete()},_=y=>c{o&&n.next(y),c++;let D=!1;ft(t(y,u++)).subscribe(Ve(n,M=>{r?.(M),o?_(M):n.next(M)},()=>{D=!0},void 0,()=>{if(D)try{for(c--;l.length&&cv(M)):v(M)}h()}catch(M){n.error(M)}}))};return e.subscribe(Ve(n,_,()=>{d=!0,h()})),()=>{a?.()}}(i,r,e,t)))}function lo(e=1/0){return ht(kn,e)}const bn=new Ce(e=>e.complete());function v_(e){return e&&se(e.schedule)}function rf(e){return e[e.length-1]}function Ul(e){return se(rf(e))?e.pop():void 0}function Vs(e){return v_(rf(e))?e.pop():void 0}function y_(e,n=0){return qe((t,i)=>{t.subscribe(Ve(i,r=>Di(i,e,()=>i.next(r),n),()=>Di(i,e,()=>i.complete(),n),r=>Di(i,e,()=>i.error(r),n)))})}function b_(e,n=0){return qe((t,i)=>{i.add(e.schedule(()=>t.subscribe(i),n))})}function D_(e,n){if(!e)throw new Error("Iterable cannot be null");return new Ce(t=>{Di(t,n,()=>{const i=e[Symbol.asyncIterator]();Di(t,n,()=>{i.next().then(r=>{r.done?t.complete():t.next(r.value)})},0,!0)})})}function pt(e,n){return n?function KM(e,n){if(null!=e){if(u_(e))return function YM(e,n){return ft(e).pipe(b_(n),y_(n))}(e,n);if(nf(e))return function JM(e,n){return new Ce(t=>{let i=0;return n.schedule(function(){i===e.length?t.complete():(t.next(e[i++]),t.closed||this.schedule())})})}(e,n);if(c_(e))return function ZM(e,n){return ft(e).pipe(b_(n),y_(n))}(e,n);if(d_(e))return D_(e,n);if(p_(e))return function XM(e,n){return new Ce(t=>{let i;return Di(t,n,()=>{i=e[h_](),Di(t,n,()=>{let r,o;try{({value:r,done:o}=i.next())}catch(s){return void t.error(s)}o?t.complete():t.next(r)},0,!0)}),()=>se(i?.return)&&i.return()})}(e,n);if(m_(e))return function QM(e,n){return D_(g_(e),n)}(e,n)}throw f_(e)}(e,n):ft(e)}class Dn extends Ee{constructor(n){super(),this._value=n}get value(){return this.getValue()}_subscribe(n){const t=super._subscribe(n);return!t.closed&&n.next(this._value),t}getValue(){const{hasError:n,thrownError:t,_value:i}=this;if(n)throw t;return this._throwIfClosed(),i}next(n){super.next(this._value=n)}}function J(...e){return pt(e,Vs(e))}function C_(e={}){const{connector:n=(()=>new Ee),resetOnError:t=!0,resetOnComplete:i=!0,resetOnRefCountZero:r=!0}=e;return o=>{let s,a,l,c=0,u=!1,d=!1;const h=()=>{a?.unsubscribe(),a=void 0},_=()=>{h(),s=l=void 0,u=d=!1},v=()=>{const y=s;_(),y?.unsubscribe()};return qe((y,D)=>{c++,!d&&!u&&h();const M=l=l??n();D.add(()=>{c--,0===c&&!d&&!u&&(a=sf(v,r))}),M.subscribe(D),!s&&c>0&&(s=new bi({next:C=>M.next(C),error:C=>{d=!0,h(),a=sf(_,t,C),M.error(C)},complete:()=>{u=!0,h(),a=sf(_,i),M.complete()}}),ft(y).subscribe(s))})(o)}}function sf(e,n,...t){if(!0===n)return void e();if(!1===n)return;const i=new bi({next:()=>{i.unsubscribe(),e()}});return ft(n(...t)).subscribe(i)}function wn(e,n){return qe((t,i)=>{let r=null,o=0,s=!1;const a=()=>s&&!r&&i.complete();t.subscribe(Ve(i,l=>{r?.unsubscribe();let c=0;const u=o++;ft(e(l,u)).subscribe(r=Ve(i,d=>i.next(n?n(l,d,u,c++):d),()=>{r=null,a()}))},()=>{s=!0,a()}))})}function eI(e,n){return e===n}function xe(e){for(let n in e)if(e[n]===xe)return n;throw Error("Could not find renamed property on target object.")}function Gl(e,n){for(const t in n)n.hasOwnProperty(t)&&!e.hasOwnProperty(t)&&(e[t]=n[t])}function gt(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(gt).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const n=e.toString();if(null==n)return""+n;const t=n.indexOf("\n");return-1===t?n:n.substring(0,t)}function af(e,n){return null==e||""===e?null===n?"":n:null==n||""===n?e:e+" "+n}const tI=xe({__forward_ref__:xe});function le(e){return e.__forward_ref__=le,e.toString=function(){return gt(this())},e}function ee(e){return lf(e)?e():e}function lf(e){return"function"==typeof e&&e.hasOwnProperty(tI)&&e.__forward_ref__===le}function cf(e){return e&&!!e.\u0275providers}const T_="https://g.co/ng/security#xss";class R extends Error{constructor(n,t){super(function zl(e,n){return`NG0${Math.abs(e)}${n?": "+n:""}`}(n,t)),this.code=n}}function te(e){return"string"==typeof e?e:null==e?"":String(e)}function uf(e,n){throw new R(-201,!1)}function Cn(e,n){null==e&&function Q(e,n,t,i){throw new Error(`ASSERTION ERROR: ${e}`+(null==i?"":` [Expected=> ${t} ${i} ${n} <=Actual]`))}(n,e,null,"!=")}function B(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function ve(e){return{providers:e.providers||[],imports:e.imports||[]}}function Wl(e){return S_(e,Yl)||S_(e,M_)}function S_(e,n){return e.hasOwnProperty(n)?e[n]:null}function ql(e){return e&&(e.hasOwnProperty(df)||e.hasOwnProperty(cI))?e[df]:null}const Yl=xe({\u0275prov:xe}),df=xe({\u0275inj:xe}),M_=xe({ngInjectableDef:xe}),cI=xe({ngInjectorDef:xe});var ce=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(ce||{});let ff;function Qt(e){const n=ff;return ff=e,n}function N_(e,n,t){const i=Wl(e);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:t&ce.Optional?null:void 0!==n?n:void uf(gt(e))}const Be=globalThis;class z{constructor(n,t){this._desc=n,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=B({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const Bs={},_f="__NG_DI_FLAG__",Zl="ngTempTokenPath",fI=/\n/gm,x_="__source";let co;function Hi(e){const n=co;return co=e,n}function gI(e,n=ce.Default){if(void 0===co)throw new R(-203,!1);return null===co?N_(e,void 0,n):co.get(e,n&ce.Optional?null:void 0,n)}function H(e,n=ce.Default){return(function I_(){return ff}()||gI)(ee(e),n)}function F(e,n=ce.Default){return H(e,Jl(n))}function Jl(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function vf(e){const n=[];for(let t=0;tn){s=o-1;break}}}for(;oo?"":r[d+1].toLowerCase();const _=8&i?h:null;if(_&&-1!==k_(_,c,0)||2&i&&c!==h){if(Ln(i))return!1;s=!0}}}}else{if(!s&&!Ln(i)&&!Ln(l))return!1;if(s&&Ln(l))continue;s=!1,i=l|1&i}}return Ln(i)||s}function Ln(e){return 0==(1&e)}function wI(e,n,t,i){if(null===n)return-1;let r=0;if(i||!t){let o=!1;for(;r-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&i?r+="."+s:4&i&&(r+=" "+s);else""!==r&&!Ln(s)&&(n+=$_(o,r),r=""),i=s,o=o||!Ln(i);t++}return""!==r&&(n+=$_(o,r)),n}function kt(e){return wi(()=>{const n=G_(e),t={...n,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===Xl.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||Fn.Emulated,styles:e.styles||ye,_:null,schemas:e.schemas||null,tView:null,id:""};z_(t);const i=e.dependencies;return t.directiveDefs=Kl(i,!1),t.pipeDefs=Kl(i,!0),t.id=function kI(e){let n=0;const t=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery].join("|");for(const r of t)n=Math.imul(31,n)+r.charCodeAt(0)<<0;return n+=2147483648,"c"+n}(t),t})}function xI(e){return he(e)||Et(e)}function AI(e){return null!==e}function be(e){return wi(()=>({type:e.type,bootstrap:e.bootstrap||ye,declarations:e.declarations||ye,imports:e.imports||ye,exports:e.exports||ye,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function U_(e,n){if(null==e)return ii;const t={};for(const i in e)if(e.hasOwnProperty(i)){let r=e[i],o=r;Array.isArray(r)&&(o=r[1],r=r[0]),t[r]=i,n&&(n[r]=o)}return t}function L(e){return wi(()=>{const n=G_(e);return z_(n),n})}function Bt(e){return{type:e.type,name:e.name,factory:null,pure:!1!==e.pure,standalone:!0===e.standalone,onDestroy:e.type.prototype.ngOnDestroy||null}}function he(e){return e[Ql]||null}function Et(e){return e[yf]||null}function jt(e){return e[bf]||null}function un(e,n){const t=e[R_]||null;if(!t&&!0===n)throw new Error(`Type ${gt(e)} does not have '\u0275mod' property.`);return t}function G_(e){const n={};return{type:e.type,providersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:n,inputTransforms:null,inputConfig:e.inputs||ii,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||ye,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:U_(e.inputs,n),outputs:U_(e.outputs)}}function z_(e){e.features?.forEach(n=>n(e))}function Kl(e,n){if(!e)return null;const t=n?jt:xI;return()=>("function"==typeof e?e():e).map(i=>t(i)).filter(AI)}const Qe=0,$=1,re=2,ze=3,Vn=4,Us=5,Ft=6,fo=7,rt=8,$i=9,ho=10,ne=11,Gs=12,W_=13,po=14,ot=15,zs=16,go=17,ri=18,Ws=19,q_=20,Ui=21,Ei=22,qs=23,Ys=24,ue=25,wf=1,Y_=2,oi=7,mo=9,Tt=11;function Kt(e){return Array.isArray(e)&&"object"==typeof e[wf]}function Ht(e){return Array.isArray(e)&&!0===e[wf]}function Cf(e){return 0!=(4&e.flags)}function vr(e){return e.componentOffset>-1}function tc(e){return 1==(1&e.flags)}function Bn(e){return!!e.template}function Ef(e){return 0!=(512&e[re])}function yr(e,n){return e.hasOwnProperty(Ci)?e[Ci]:null}let St=null,nc=!1;function En(e){const n=St;return St=e,n}const X_={version:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{}};function K_(e){if(!Js(e)||e.dirty){if(!e.producerMustRecompute(e)&&!nv(e))return void(e.dirty=!1);e.producerRecomputeValue(e),e.dirty=!1}}function tv(e){e.dirty=!0,function ev(e){if(void 0===e.liveConsumerNode)return;const n=nc;nc=!0;try{for(const t of e.liveConsumerNode)t.dirty||tv(t)}finally{nc=n}}(e),e.consumerMarkedDirty?.(e)}function Sf(e){return e&&(e.nextProducerIndex=0),En(e)}function Mf(e,n){if(En(n),e&&void 0!==e.producerNode&&void 0!==e.producerIndexOfThis&&void 0!==e.producerLastReadVersion){if(Js(e))for(let t=e.nextProducerIndex;te.nextProducerIndex;)e.producerNode.pop(),e.producerLastReadVersion.pop(),e.producerIndexOfThis.pop()}}function nv(e){_o(e);for(let n=0;n0}function _o(e){e.producerNode??=[],e.producerIndexOfThis??=[],e.producerLastReadVersion??=[]}let sv=null;const uv=()=>{},YI=(()=>({...X_,consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!1,consumerMarkedDirty:e=>{e.schedule(e.ref)},hasRun:!1,cleanupFn:uv}))();class ZI{constructor(n,t,i){this.previousValue=n,this.currentValue=t,this.firstChange=i}isFirstChange(){return this.firstChange}}function Mt(){return dv}function dv(e){return e.type.prototype.ngOnChanges&&(e.setInput=XI),JI}function JI(){const e=hv(this),n=e?.current;if(n){const t=e.previous;if(t===ii)e.previous=n;else for(let i in n)t[i]=n[i];e.current=null,this.ngOnChanges(n)}}function XI(e,n,t,i){const r=this.declaredInputs[t],o=hv(e)||function QI(e,n){return e[fv]=n}(e,{previous:ii,current:null}),s=o.current||(o.current={}),a=o.previous,l=a[r];s[r]=new ZI(l&&l.currentValue,n,a===ii),e[i]=n}Mt.ngInherit=!0;const fv="__ngSimpleChanges__";function hv(e){return e[fv]||null}const si=function(e,n,t){};function je(e){for(;Array.isArray(e);)e=e[Qe];return e}function rc(e,n){return je(n[e])}function en(e,n){return je(n[e.index])}function mv(e,n){return e.data[n]}function dn(e,n){const t=n[e];return Kt(t)?t:t[Qe]}function zi(e,n){return null==n?null:e[n]}function _v(e){e[go]=0}function rN(e){1024&e[re]||(e[re]|=1024,yv(e,1))}function vv(e){1024&e[re]&&(e[re]&=-1025,yv(e,-1))}function yv(e,n){let t=e[ze];if(null===t)return;t[Us]+=n;let i=t;for(t=t[ze];null!==t&&(1===n&&1===i[Us]||-1===n&&0===i[Us]);)t[Us]+=n,i=t,t=t[ze]}const K={lFrame:Ov(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function wv(){return K.bindingsEnabled}function yo(){return null!==K.skipHydrationRootTNode}function O(){return K.lFrame.lView}function pe(){return K.lFrame.tView}function Ue(e){return K.lFrame.contextLView=e,e[rt]}function Ge(e){return K.lFrame.contextLView=null,e}function It(){let e=Cv();for(;null!==e&&64===e.type;)e=e.parent;return e}function Cv(){return K.lFrame.currentTNode}function ai(e,n){const t=K.lFrame;t.currentTNode=e,t.isParent=n}function Af(){return K.lFrame.isParent}function Rf(){K.lFrame.isParent=!1}function $t(){const e=K.lFrame;let n=e.bindingRootIndex;return-1===n&&(n=e.bindingRootIndex=e.tView.bindingStartIndex),n}function bo(){return K.lFrame.bindingIndex++}function Si(e){const n=K.lFrame,t=n.bindingIndex;return n.bindingIndex=n.bindingIndex+e,t}function mN(e,n){const t=K.lFrame;t.bindingIndex=t.bindingRootIndex=e,Pf(n)}function Pf(e){K.lFrame.currentDirectiveIndex=e}function Mv(){return K.lFrame.currentQueryIndex}function Ff(e){K.lFrame.currentQueryIndex=e}function vN(e){const n=e[$];return 2===n.type?n.declTNode:1===n.type?e[Ft]:null}function Iv(e,n,t){if(t&ce.SkipSelf){let r=n,o=e;for(;!(r=r.parent,null!==r||t&ce.Host||(r=vN(o),null===r||(o=o[po],10&r.type))););if(null===r)return!1;n=r,e=o}const i=K.lFrame=Nv();return i.currentTNode=n,i.lView=e,!0}function Lf(e){const n=Nv(),t=e[$];K.lFrame=n,n.currentTNode=t.firstChild,n.lView=e,n.tView=t,n.contextLView=e,n.bindingIndex=t.bindingStartIndex,n.inI18n=!1}function Nv(){const e=K.lFrame,n=null===e?null:e.child;return null===n?Ov(e):n}function Ov(e){const n={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return null!==e&&(e.child=n),n}function xv(){const e=K.lFrame;return K.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const Av=xv;function Vf(){const e=xv();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function Ut(){return K.lFrame.selectedIndex}function br(e){K.lFrame.selectedIndex=e}function Ye(){const e=K.lFrame;return mv(e.tView,e.selectedIndex)}let Pv=!0;function oc(){return Pv}function Wi(e){Pv=e}function sc(e,n){for(let t=n.directiveStart,i=n.directiveEnd;t=i)break}else n[l]<0&&(e[go]+=65536),(a>13>16&&(3&e[re])===n&&(e[re]+=8192,Fv(a,o)):Fv(a,o)}const Do=-1;class Qs{constructor(n,t,i){this.factory=n,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=i}}function Hf(e){return e!==Do}function Ks(e){return 32767&e}function ea(e,n){let t=function ON(e){return e>>16}(e),i=n;for(;t>0;)i=i[po],t--;return i}let $f=!0;function cc(e){const n=$f;return $f=e,n}const Lv=255,Vv=5;let xN=0;const li={};function uc(e,n){const t=Bv(e,n);if(-1!==t)return t;const i=n[$];i.firstCreatePass&&(e.injectorIndex=n.length,Uf(i.data,e),Uf(n,null),Uf(i.blueprint,null));const r=dc(e,n),o=e.injectorIndex;if(Hf(r)){const s=Ks(r),a=ea(r,n),l=a[$].data;for(let c=0;c<8;c++)n[o+c]=a[s+c]|l[s+c]}return n[o+8]=r,o}function Uf(e,n){e.push(0,0,0,0,0,0,0,0,n)}function Bv(e,n){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===n[e.injectorIndex+8]?-1:e.injectorIndex}function dc(e,n){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let t=0,i=null,r=n;for(;null!==r;){if(i=Wv(r),null===i)return Do;if(t++,r=r[po],-1!==i.injectorIndex)return i.injectorIndex|t<<16}return Do}function Gf(e,n,t){!function AN(e,n,t){let i;"string"==typeof t?i=t.charCodeAt(0)||0:t.hasOwnProperty(Hs)&&(i=t[Hs]),null==i&&(i=t[Hs]=xN++);const r=i&Lv;n.data[e+(r>>Vv)]|=1<=0?n&Lv:LN:n}(t);if("function"==typeof o){if(!Iv(n,e,i))return i&ce.Host?jv(r,0,i):Hv(n,t,i,r);try{let s;if(s=o(i),null!=s||i&ce.Optional)return s;uf()}finally{Av()}}else if("number"==typeof o){let s=null,a=Bv(e,n),l=Do,c=i&ce.Host?n[ot][Ft]:null;for((-1===a||i&ce.SkipSelf)&&(l=-1===a?dc(e,n):n[a+8],l!==Do&&zv(i,!1)?(s=n[$],a=Ks(l),n=ea(l,n)):a=-1);-1!==a;){const u=n[$];if(Gv(o,a,u.data)){const d=PN(a,n,t,s,i,c);if(d!==li)return d}l=n[a+8],l!==Do&&zv(i,n[$].data[a+8]===c)&&Gv(o,a,n)?(s=u,a=Ks(l),n=ea(l,n)):a=-1}}return r}function PN(e,n,t,i,r,o){const s=n[$],a=s.data[e+8],u=fc(a,s,t,null==i?vr(a)&&$f:i!=s&&0!=(3&a.type),r&ce.Host&&o===a);return null!==u?Dr(n,s,u,a):li}function fc(e,n,t,i,r){const o=e.providerIndexes,s=n.data,a=1048575&o,l=e.directiveStart,u=o>>20,h=r?a+u:e.directiveEnd;for(let _=i?a:a+u;_=l&&v.type===t)return _}if(r){const _=s[l];if(_&&Bn(_)&&_.type===t)return l}return null}function Dr(e,n,t,i){let r=e[t];const o=n.data;if(function MN(e){return e instanceof Qs}(r)){const s=r;s.resolving&&function nI(e,n){const t=n?`. Dependency path: ${n.join(" > ")} > ${e}`:"";throw new R(-200,`Circular dependency in DI detected for ${e}${t}`)}(function Te(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():te(e)}(o[t]));const a=cc(s.canSeeViewProviders);s.resolving=!0;const c=s.injectImpl?Qt(s.injectImpl):null;Iv(e,i,ce.Default);try{r=e[t]=s.factory(void 0,o,e,i),n.firstCreatePass&&t>=i.directiveStart&&function TN(e,n,t){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:o}=n.type.prototype;if(i){const s=dv(n);(t.preOrderHooks??=[]).push(e,s),(t.preOrderCheckHooks??=[]).push(e,s)}r&&(t.preOrderHooks??=[]).push(0-e,r),o&&((t.preOrderHooks??=[]).push(e,o),(t.preOrderCheckHooks??=[]).push(e,o))}(t,o[t],n)}finally{null!==c&&Qt(c),cc(a),s.resolving=!1,Av()}}return r}function Gv(e,n,t){return!!(t[n+(e>>Vv)]&1<{const n=e.prototype.constructor,t=n[Ci]||zf(n),i=Object.prototype;let r=Object.getPrototypeOf(e.prototype).constructor;for(;r&&r!==i;){const o=r[Ci]||zf(r);if(o&&o!==t)return o;r=Object.getPrototypeOf(r)}return o=>new o})}function zf(e){return lf(e)?()=>{const n=zf(ee(e));return n&&n()}:yr(e)}function Wv(e){const n=e[$],t=n.type;return 2===t?n.declTNode:1===t?e[Ft]:null}const Co="__parameters__";function To(e,n,t){return wi(()=>{const i=function Wf(e){return function(...t){if(e){const i=e(...t);for(const r in i)this[r]=i[r]}}}(n);function r(...o){if(this instanceof r)return i.apply(this,o),this;const s=new r(...o);return a.annotation=s,a;function a(l,c,u){const d=l.hasOwnProperty(Co)?l[Co]:Object.defineProperty(l,Co,{value:[]})[Co];for(;d.length<=u;)d.push(null);return(d[u]=d[u]||[]).push(s),l}}return t&&(r.prototype=Object.create(t.prototype)),r.prototype.ngMetadataName=e,r.annotationCls=r,r})}function Mo(e,n){e.forEach(t=>Array.isArray(t)?Mo(t,n):n(t))}function Yv(e,n,t){n>=e.length?e.push(t):e.splice(n,0,t)}function hc(e,n){return n>=e.length-1?e.pop():e.splice(n,1)[0]}function ia(e,n){const t=[];for(let i=0;i=0?e[1|i]=t:(i=~i,function zN(e,n,t,i){let r=e.length;if(r==n)e.push(t,i);else if(1===r)e.push(i,e[0]),e[0]=t;else{for(r--,e.push(e[r-1],e[r]);r>n;)e[r]=e[r-2],r--;e[n]=t,e[n+1]=i}}(e,i,n,t)),i}function qf(e,n){const t=Io(e,n);if(t>=0)return e[1|t]}function Io(e,n){return function Zv(e,n,t){let i=0,r=e.length>>t;for(;r!==i;){const o=i+(r-i>>1),s=e[o<n?r=o:i=o+1}return~(r<|^->||--!>|)/g,pO="\u200b$1\u200b";const Qf=new Map;let gO=0;const eh="__ngContext__";function Lt(e,n){Kt(n)?(e[eh]=n[Ws],function _O(e){Qf.set(e[Ws],e)}(n)):e[eh]=n}let th;function nh(e,n){return th(e,n)}function sa(e){const n=e[ze];return Ht(n)?n[ze]:n}function gy(e){return _y(e[Gs])}function my(e){return _y(e[Vn])}function _y(e){for(;null!==e&&!Ht(e);)e=e[Vn];return e}function xo(e,n,t,i,r){if(null!=i){let o,s=!1;Ht(i)?o=i:Kt(i)&&(s=!0,i=i[Qe]);const a=je(i);0===e&&null!==t?null==r?Dy(n,t,a):Cr(n,t,a,r||null,!0):1===e&&null!==t?Cr(n,t,a,r||null,!0):2===e?function Ic(e,n,t){const i=Sc(e,n);i&&function FO(e,n,t,i){e.removeChild(n,t,i)}(e,i,n,t)}(n,a,s):3===e&&n.destroyNode(a),null!=o&&function BO(e,n,t,i,r){const o=t[oi];o!==je(t)&&xo(n,e,i,o,r);for(let a=Tt;an.replace(hO,pO))}(n))}function Ec(e,n,t){return e.createElement(n,t)}function yy(e,n){const t=e[mo],i=t.indexOf(n);vv(n),t.splice(i,1)}function Tc(e,n){if(e.length<=Tt)return;const t=Tt+n,i=e[t];if(i){const r=i[zs];null!==r&&r!==e&&yy(r,i),n>0&&(e[t-1][Vn]=i[Vn]);const o=hc(e,Tt+n);!function IO(e,n){la(e,n,n[ne],2,null,null),n[Qe]=null,n[Ft]=null}(i[$],i);const s=o[ri];null!==s&&s.detachView(o[$]),i[ze]=null,i[Vn]=null,i[re]&=-129}return i}function rh(e,n){if(!(256&n[re])){const t=n[ne];n[qs]&&iv(n[qs]),n[Ys]&&iv(n[Ys]),t.destroyNode&&la(e,n,t,3,null,null),function xO(e){let n=e[Gs];if(!n)return oh(e[$],e);for(;n;){let t=null;if(Kt(n))t=n[Gs];else{const i=n[Tt];i&&(t=i)}if(!t){for(;n&&!n[Vn]&&n!==e;)Kt(n)&&oh(n[$],n),n=n[ze];null===n&&(n=e),Kt(n)&&oh(n[$],n),t=n&&n[Vn]}n=t}}(n)}}function oh(e,n){if(!(256&n[re])){n[re]&=-129,n[re]|=256,function kO(e,n){let t;if(null!=e&&null!=(t=e.destroyHooks))for(let i=0;i=0?i[s]():i[-s].unsubscribe(),o+=2}else t[o].call(i[t[o+1]]);null!==i&&(n[fo]=null);const r=n[Ui];if(null!==r){n[Ui]=null;for(let o=0;o-1){const{encapsulation:o}=e.data[i.directiveStart+r];if(o===Fn.None||o===Fn.Emulated)return null}return en(i,t)}}(e,n.parent,t)}function Cr(e,n,t,i,r){e.insertBefore(n,t,i,r)}function Dy(e,n,t){e.appendChild(n,t)}function wy(e,n,t,i,r){null!==i?Cr(e,n,t,i,r):Dy(e,n,t)}function Sc(e,n){return e.parentNode(n)}function Cy(e,n,t){return Ty(e,n,t)}let ah,dh,Ty=function Ey(e,n,t){return 40&e.type?en(e,t):null};function Mc(e,n,t,i){const r=sh(e,i,n),o=n[ne],a=Cy(i.parent||n[Ft],i,n);if(null!=r)if(Array.isArray(t))for(let l=0;l{t.push(s)};return Mo(n,s=>{const a=s;Ac(a,o,[],i)&&(r||=[],r.push(a))}),void 0!==r&&qy(r,o),t}function qy(e,n){for(let t=0;t{n(o,i)})}}function Ac(e,n,t,i){if(!(e=ee(e)))return!1;let r=null,o=ql(e);const s=!o&&he(e);if(o||s){if(s&&!s.standalone)return!1;r=e}else{const l=e.ngModule;if(o=ql(l),!o)return!1;r=l}const a=i.has(r);if(s){if(a)return!1;if(i.add(r),s.dependencies){const l="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const c of l)Ac(c,n,t,i)}}else{if(!o)return!1;{if(null!=o.imports&&!a){let c;i.add(r);try{Mo(o.imports,u=>{Ac(u,n,t,i)&&(c||=[],c.push(u))})}finally{}void 0!==c&&qy(c,n)}if(!a){const c=yr(r)||(()=>new r);n({provide:r,useFactory:c,deps:ye},r),n({provide:zy,useValue:r,multi:!0},r),n({provide:fa,useValue:()=>H(r),multi:!0},r)}const l=o.providers;if(null!=l&&!a){const c=e;yh(l,u=>{n(u,c)})}}}return r!==e&&void 0!==e.providers}function yh(e,n){for(let t of e)cf(t)&&(t=t.\u0275providers),Array.isArray(t)?yh(t,n):n(t)}const gx=xe({provide:String,useValue:xe});function bh(e){return null!==e&&"object"==typeof e&&gx in e}function Er(e){return"function"==typeof e}const Dh=new z("Set Injector scope."),Rc={},_x={};let wh;function Pc(){return void 0===wh&&(wh=new _h),wh}class zt{}class ko extends zt{get destroyed(){return this._destroyed}constructor(n,t,i,r){super(),this.parent=t,this.source=i,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,Eh(n,s=>this.processProvider(s)),this.records.set(Gy,Fo(void 0,this)),r.has("environment")&&this.records.set(zt,Fo(void 0,this));const o=this.records.get(Dh);null!=o&&"string"==typeof o.value&&this.scopes.add(o.value),this.injectorDefTypes=new Set(this.get(zy.multi,ye,ce.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const t of this._ngOnDestroyHooks)t.ngOnDestroy();const n=this._onDestroyHooks;this._onDestroyHooks=[];for(const t of n)t()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(n){return this.assertNotDestroyed(),this._onDestroyHooks.push(n),()=>this.removeOnDestroy(n)}runInContext(n){this.assertNotDestroyed();const t=Hi(this),i=Qt(void 0);try{return n()}finally{Hi(t),Qt(i)}}get(n,t=Bs,i=ce.Default){if(this.assertNotDestroyed(),n.hasOwnProperty(P_))return n[P_](this);i=Jl(i);const o=Hi(this),s=Qt(void 0);try{if(!(i&ce.SkipSelf)){let l=this.records.get(n);if(void 0===l){const c=function wx(e){return"function"==typeof e||"object"==typeof e&&e instanceof z}(n)&&Wl(n);l=c&&this.injectableDefInScope(c)?Fo(Ch(n),Rc):null,this.records.set(n,l)}if(null!=l)return this.hydrate(n,l)}return(i&ce.Self?Pc():this.parent).get(n,t=i&ce.Optional&&t===Bs?null:t)}catch(a){if("NullInjectorError"===a.name){if((a[Zl]=a[Zl]||[]).unshift(gt(n)),o)throw a;return function _I(e,n,t,i){const r=e[Zl];throw n[x_]&&r.unshift(n[x_]),e.message=function vI(e,n,t,i=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let r=gt(n);if(Array.isArray(n))r=n.map(gt).join(" -> ");else if("object"==typeof n){let o=[];for(let s in n)if(n.hasOwnProperty(s)){let a=n[s];o.push(s+":"+("string"==typeof a?JSON.stringify(a):gt(a)))}r=`{${o.join(", ")}}`}return`${t}${i?"("+i+")":""}[${r}]: ${e.replace(fI,"\n ")}`}("\n"+e.message,r,t,i),e.ngTokenPath=r,e[Zl]=null,e}(a,n,"R3InjectorError",this.source)}throw a}finally{Qt(s),Hi(o)}}resolveInjectorInitializers(){const n=Hi(this),t=Qt(void 0);try{const r=this.get(fa.multi,ye,ce.Self);for(const o of r)o()}finally{Hi(n),Qt(t)}}toString(){const n=[],t=this.records;for(const i of t.keys())n.push(gt(i));return`R3Injector[${n.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new R(205,!1)}processProvider(n){let t=Er(n=ee(n))?n:ee(n&&n.provide);const i=function yx(e){return bh(e)?Fo(void 0,e.useValue):Fo(Jy(e),Rc)}(n);if(Er(n)||!0!==n.multi)this.records.get(t);else{let r=this.records.get(t);r||(r=Fo(void 0,Rc,!0),r.factory=()=>vf(r.multi),this.records.set(t,r)),t=n,r.multi.push(n)}this.records.set(t,i)}hydrate(n,t){return t.value===Rc&&(t.value=_x,t.value=t.factory()),"object"==typeof t.value&&t.value&&function Dx(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}injectableDefInScope(n){if(!n.providedIn)return!1;const t=ee(n.providedIn);return"string"==typeof t?"any"===t||this.scopes.has(t):this.injectorDefTypes.has(t)}removeOnDestroy(n){const t=this._onDestroyHooks.indexOf(n);-1!==t&&this._onDestroyHooks.splice(t,1)}}function Ch(e){const n=Wl(e),t=null!==n?n.factory:yr(e);if(null!==t)return t;if(e instanceof z)throw new R(204,!1);if(e instanceof Function)return function vx(e){const n=e.length;if(n>0)throw ia(n,"?"),new R(204,!1);const t=function lI(e){return e&&(e[Yl]||e[M_])||null}(e);return null!==t?()=>t.factory(e):()=>new e}(e);throw new R(204,!1)}function Jy(e,n,t){let i;if(Er(e)){const r=ee(e);return yr(r)||Ch(r)}if(bh(e))i=()=>ee(e.useValue);else if(function Zy(e){return!(!e||!e.useFactory)}(e))i=()=>e.useFactory(...vf(e.deps||[]));else if(function Yy(e){return!(!e||!e.useExisting)}(e))i=()=>H(ee(e.useExisting));else{const r=ee(e&&(e.useClass||e.provide));if(!function bx(e){return!!e.deps}(e))return yr(r)||Ch(r);i=()=>new r(...vf(e.deps))}return i}function Fo(e,n,t=!1){return{factory:e,value:n,multi:t?[]:void 0}}function Eh(e,n){for(const t of e)Array.isArray(t)?Eh(t,n):t&&cf(t)?Eh(t.\u0275providers,n):n(t)}const kc=new z("AppId",{providedIn:"root",factory:()=>Cx}),Cx="ng",Xy=new z("Platform Initializer"),Tr=new z("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),Qy=new z("CSP nonce",{providedIn:"root",factory:()=>function Ro(){if(void 0!==dh)return dh;if(typeof document<"u")return document;throw new R(210,!1)}().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let Ky=(e,n,t)=>null;function Ah(e,n,t=!1){return Ky(e,n,t)}class Rx{}class n1{}class kx{resolveComponentFactory(n){throw function Px(e){const n=Error(`No component factory found for ${gt(e)}.`);return n.ngComponent=e,n}(n)}}let Hc=(()=>{class e{static#e=this.NULL=new kx}return e})();function Fx(){return Bo(It(),O())}function Bo(e,n){return new Se(en(e,n))}let Se=(()=>{class e{constructor(t){this.nativeElement=t}static#e=this.__NG_ELEMENT_ID__=Fx}return e})();function Lx(e){return e instanceof Se?e.nativeElement:e}class kh{}let hn=(()=>{class e{constructor(){this.destroyNode=null}static#e=this.__NG_ELEMENT_ID__=()=>function Vx(){const e=O(),t=dn(It().index,e);return(Kt(t)?t:e)[ne]}()}return e})(),Bx=(()=>{class e{static#e=this.\u0275prov=B({token:e,providedIn:"root",factory:()=>null})}return e})();class ga{constructor(n){this.full=n,this.major=n.split(".")[0],this.minor=n.split(".")[1],this.patch=n.split(".").slice(2).join(".")}}const jx=new ga("16.2.12"),Fh={};function a1(e,n=null,t=null,i){const r=l1(e,n,t,i);return r.resolveInjectorInitializers(),r}function l1(e,n=null,t=null,i,r=new Set){const o=[t||ye,px(e)];return i=i||("object"==typeof e?void 0:gt(e)),new ko(o,n||Pc(),i||null,r)}let Nt=(()=>{class e{static#e=this.THROW_IF_NOT_FOUND=Bs;static#t=this.NULL=new _h;static create(t,i){if(Array.isArray(t))return a1({name:""},i,t,"");{const r=t.name??"";return a1({name:r},t.parent,t.providers,r)}}static#n=this.\u0275prov=B({token:e,providedIn:"any",factory:()=>H(Gy)});static#i=this.__NG_ELEMENT_ID__=-1}return e})();function Lh(e){return e.ngOriginalError}class Ii{constructor(){this._console=console}handleError(n){const t=this._findOriginalError(n);this._console.error("ERROR",n),t&&this._console.error("ORIGINAL ERROR",t)}_findOriginalError(n){let t=n&&Lh(n);for(;t&&Lh(t);)t=Lh(t);return t||null}}function Vh(e){return n=>{setTimeout(e,void 0,n)}}const Y=class Yx extends Ee{constructor(n=!1){super(),this.__isAsync=n}emit(n){super.next(n)}subscribe(n,t,i){let r=n,o=t||(()=>null),s=i;if(n&&"object"==typeof n){const l=n;r=l.next?.bind(l),o=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(o=Vh(o),r&&(r=Vh(r)),s&&(s=Vh(s)));const a=super.subscribe({next:r,error:o,complete:s});return n instanceof nt&&n.add(a),a}};function u1(...e){}class fe{constructor({enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Y(!1),this.onMicrotaskEmpty=new Y(!1),this.onStable=new Y(!1),this.onError=new Y(!1),typeof Zone>"u")throw new R(908,!1);Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),n&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!i&&t,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function Zx(){const e="function"==typeof Be.requestAnimationFrame;let n=Be[e?"requestAnimationFrame":"setTimeout"],t=Be[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&n&&t){const i=n[Zone.__symbol__("OriginalDelegate")];i&&(n=i);const r=t[Zone.__symbol__("OriginalDelegate")];r&&(t=r)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:t}}().nativeRequestAnimationFrame,function Qx(e){const n=()=>{!function Xx(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(Be,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,jh(e),e.isCheckStableRunning=!0,Bh(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),jh(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,i,r,o,s,a)=>{if(function eA(e){return!(!Array.isArray(e)||1!==e.length)&&!0===e[0].data?.__ignore_ng_zone__}(a))return t.invokeTask(r,o,s,a);try{return d1(e),t.invokeTask(r,o,s,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===o.type||e.shouldCoalesceRunChangeDetection)&&n(),f1(e)}},onInvoke:(t,i,r,o,s,a,l)=>{try{return d1(e),t.invoke(r,o,s,a,l)}finally{e.shouldCoalesceRunChangeDetection&&n(),f1(e)}},onHasTask:(t,i,r,o)=>{t.hasTask(r,o),i===r&&("microTask"==o.change?(e._hasPendingMicrotasks=o.microTask,jh(e),Bh(e)):"macroTask"==o.change&&(e.hasPendingMacrotasks=o.macroTask))},onHandleError:(t,i,r,o)=>(t.handleError(r,o),e.runOutsideAngular(()=>e.onError.emit(o)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!fe.isInAngularZone())throw new R(909,!1)}static assertNotInAngularZone(){if(fe.isInAngularZone())throw new R(909,!1)}run(n,t,i){return this._inner.run(n,t,i)}runTask(n,t,i,r){const o=this._inner,s=o.scheduleEventTask("NgZoneEvent: "+r,n,Jx,u1,u1);try{return o.runTask(s,t,i)}finally{o.cancelTask(s)}}runGuarded(n,t,i){return this._inner.runGuarded(n,t,i)}runOutsideAngular(n){return this._outer.run(n)}}const Jx={};function Bh(e){if(0==e._nesting&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function jh(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function d1(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function f1(e){e._nesting--,Bh(e)}class Kx{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Y,this.onMicrotaskEmpty=new Y,this.onStable=new Y,this.onError=new Y}run(n,t,i){return n.apply(t,i)}runGuarded(n,t,i){return n.apply(t,i)}runOutsideAngular(n){return n()}runTask(n,t,i,r){return n.apply(t,i)}}const h1=new z("",{providedIn:"root",factory:p1});function p1(){const e=F(fe);let n=!0;return function w_(...e){const n=Vs(e),t=function qM(e,n){return"number"==typeof rf(e)?e.pop():n}(e,1/0),i=e;return i.length?1===i.length?ft(i[0]):lo(t)(pt(i,n)):bn}(new Ce(r=>{n=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{r.next(n),r.complete()})}),new Ce(r=>{let o;e.runOutsideAngular(()=>{o=e.onStable.subscribe(()=>{fe.assertNotInAngularZone(),queueMicrotask(()=>{!n&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(n=!0,r.next(!0))})})});const s=e.onUnstable.subscribe(()=>{fe.assertInAngularZone(),n&&(n=!1,e.runOutsideAngular(()=>{r.next(!1)}))});return()=>{o.unsubscribe(),s.unsubscribe()}}).pipe(C_()))}function Ni(e){return e instanceof Function?e():e}let Hh=(()=>{class e{constructor(){this.renderDepth=0,this.handler=null}begin(){this.handler?.validateBegin(),this.renderDepth++}end(){this.renderDepth--,0===this.renderDepth&&this.handler?.execute()}ngOnDestroy(){this.handler?.destroy(),this.handler=null}static#e=this.\u0275prov=B({token:e,providedIn:"root",factory:()=>new e})}return e})();function ma(e){for(;e;){e[re]|=64;const n=sa(e);if(Ef(e)&&!n)return e;e=n}return null}const y1=new z("",{providedIn:"root",factory:()=>!1});let Gc=null;function C1(e,n){return e[n]??S1()}function E1(e,n){const t=S1();t.producerNode?.length&&(e[n]=Gc,t.lView=e,Gc=T1())}const uA={...X_,consumerIsAlwaysLive:!0,consumerMarkedDirty:e=>{ma(e.lView)},lView:null};function T1(){return Object.create(uA)}function S1(){return Gc??=T1(),Gc}const ie={};function g(e){M1(pe(),O(),Ut()+e,!1)}function M1(e,n,t,i){if(!i)if(3==(3&n[re])){const o=e.preOrderCheckHooks;null!==o&&ac(n,o,t)}else{const o=e.preOrderHooks;null!==o&&lc(n,o,0,t)}br(t)}function b(e,n=ce.Default){const t=O();return null===t?H(e,n):$v(It(),t,ee(e),n)}function zc(e,n,t,i,r,o,s,a,l,c,u){const d=n.blueprint.slice();return d[Qe]=r,d[re]=140|i,(null!==c||e&&2048&e[re])&&(d[re]|=2048),_v(d),d[ze]=d[po]=e,d[rt]=t,d[ho]=s||e&&e[ho],d[ne]=a||e&&e[ne],d[$i]=l||e&&e[$i]||null,d[Ft]=o,d[Ws]=function mO(){return gO++}(),d[Ei]=u,d[q_]=c,d[ot]=2==n.type?e[ot]:d,d}function Uo(e,n,t,i,r){let o=e.data[n];if(null===o)o=function $h(e,n,t,i,r){const o=Cv(),s=Af(),l=e.data[n]=function vA(e,n,t,i,r,o){let s=n?n.injectorIndex:-1,a=0;return yo()&&(a|=128),{type:t,index:i,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:r,attrs:o,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:n,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,s?o:o&&o.parent,t,n,i,r);return null===e.firstChild&&(e.firstChild=l),null!==o&&(s?null==o.child&&null!==l.parent&&(o.child=l):null===o.next&&(o.next=l,l.prev=o)),l}(e,n,t,i,r),function gN(){return K.lFrame.inI18n}()&&(o.flags|=32);else if(64&o.type){o.type=t,o.value=i,o.attrs=r;const s=function Xs(){const e=K.lFrame,n=e.currentTNode;return e.isParent?n:n.parent}();o.injectorIndex=null===s?-1:s.injectorIndex}return ai(o,!0),o}function _a(e,n,t,i){if(0===t)return-1;const r=n.length;for(let o=0;oue&&M1(e,n,ue,!1),si(a?2:0,r);const c=a?o:null,u=Sf(c);try{null!==c&&(c.dirty=!1),t(i,r)}finally{Mf(c,u)}}finally{a&&null===n[qs]&&E1(n,qs),br(s),si(a?3:1,r)}}function Uh(e,n,t){if(Cf(n)){const i=En(null);try{const o=n.directiveEnd;for(let s=n.directiveStart;snull;function A1(e,n,t,i){for(let r in e)if(e.hasOwnProperty(r)){t=null===t?{}:t;const o=e[r];null===i?R1(t,n,r,o):i.hasOwnProperty(r)&&R1(t,n,i[r],o)}return t}function R1(e,n,t,i){e.hasOwnProperty(t)?e[t].push(n,i):e[t]=[n,i]}function pn(e,n,t,i,r,o,s,a){const l=en(n,t);let u,c=n.inputs;!a&&null!=c&&(u=c[i])?(Xh(e,t,u,i,r),vr(n)&&function DA(e,n){const t=dn(n,e);16&t[re]||(t[re]|=64)}(t,n.index)):3&n.type&&(i=function bA(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(i),r=null!=s?s(r,n.value||"",i):r,o.setProperty(l,i,r))}function qh(e,n,t,i){if(wv()){const r=null===i?null:{"":-1},o=function MA(e,n){const t=e.directiveRegistry;let i=null,r=null;if(t)for(let o=0;o0;){const t=e[--n];if("number"==typeof t&&t<0)return t}return 0})(s)!=a&&s.push(a),s.push(t,i,o)}}(e,n,i,_a(e,t,r.hostVars,ie),r)}function ci(e,n,t,i,r,o){const s=en(e,n);!function Zh(e,n,t,i,r,o,s){if(null==o)e.removeAttribute(n,r,t);else{const a=null==s?te(o):s(o,i||"",r);e.setAttribute(n,r,a,t)}}(n[ne],s,o,e.value,t,i,r)}function RA(e,n,t,i,r,o){const s=o[n];if(null!==s)for(let a=0;a{class e{constructor(){this.all=new Set,this.queue=new Map}create(t,i,r){const o=typeof Zone>"u"?null:Zone.current,s=function qI(e,n,t){const i=Object.create(YI);t&&(i.consumerAllowSignalWrites=!0),i.fn=e,i.schedule=n;const r=s=>{i.cleanupFn=s};return i.ref={notify:()=>tv(i),run:()=>{if(i.dirty=!1,i.hasRun&&!nv(i))return;i.hasRun=!0;const s=Sf(i);try{i.cleanupFn(),i.cleanupFn=uv,i.fn(r)}finally{Mf(i,s)}},cleanup:()=>i.cleanupFn()},i.ref}(t,c=>{this.all.has(c)&&this.queue.set(c,o)},r);let a;this.all.add(s),s.notify();const l=()=>{s.cleanup(),a?.(),this.all.delete(s),this.queue.delete(s)};return a=i?.onDestroy(l),{destroy:l}}flush(){if(0!==this.queue.size)for(const[t,i]of this.queue)this.queue.delete(t),i?i.run(()=>t.run()):t.run()}get isQueueEmpty(){return 0===this.queue.size}static#e=this.\u0275prov=B({token:e,providedIn:"root",factory:()=>new e})}return e})();function qc(e,n,t){let i=t?e.styles:null,r=t?e.classes:null,o=0;if(null!==n)for(let s=0;s0){W1(e,1);const r=t.components;null!==r&&Y1(e,r,1)}}function Y1(e,n,t){for(let i=0;i-1&&(Tc(n,i),hc(t,i))}this._attachedToViewContainer=!1}rh(this._lView[$],this._lView)}onDestroy(n){!function bv(e,n){if(256==(256&e[re]))throw new R(911,!1);null===e[Ui]&&(e[Ui]=[]),e[Ui].push(n)}(this._lView,n)}markForCheck(){ma(this._cdRefInjectingView||this._lView)}detach(){this._lView[re]&=-129}reattach(){this._lView[re]|=128}detectChanges(){Yc(this._lView[$],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new R(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function OO(e,n){la(e,n,n[ne],2,null,null)}(this._lView[$],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new R(902,!1);this._appRef=n}}class $A extends ya{constructor(n){super(n),this._view=n}detectChanges(){const n=this._view;Yc(n[$],n,n[rt],!1)}checkNoChanges(){}get context(){return null}}class Z1 extends Hc{constructor(n){super(),this.ngModule=n}resolveComponentFactory(n){const t=he(n);return new ba(t,this.ngModule)}}function J1(e){const n=[];for(let t in e)e.hasOwnProperty(t)&&n.push({propName:e[t],templateName:t});return n}class GA{constructor(n,t){this.injector=n,this.parentInjector=t}get(n,t,i){i=Jl(i);const r=this.injector.get(n,Fh,i);return r!==Fh||t===Fh?r:this.parentInjector.get(n,t,i)}}class ba extends n1{get inputs(){const n=this.componentDef,t=n.inputTransforms,i=J1(n.inputs);if(null!==t)for(const r of i)t.hasOwnProperty(r.propName)&&(r.transform=t[r.propName]);return i}get outputs(){return J1(this.componentDef.outputs)}constructor(n,t){super(),this.componentDef=n,this.ngModule=t,this.componentType=n.type,this.selector=function II(e){return e.map(MI).join(",")}(n.selectors),this.ngContentSelectors=n.ngContentSelectors?n.ngContentSelectors:[],this.isBoundToModule=!!t}create(n,t,i,r){let o=(r=r||this.ngModule)instanceof zt?r:r?.injector;o&&null!==this.componentDef.getStandaloneInjector&&(o=this.componentDef.getStandaloneInjector(o)||o);const s=o?new GA(n,o):n,a=s.get(kh,null);if(null===a)throw new R(407,!1);const d={rendererFactory:a,sanitizer:s.get(Bx,null),effectManager:s.get(U1,null),afterRenderEventManager:s.get(Hh,null)},h=a.createRenderer(null,this.componentDef),_=this.componentDef.selectors[0][0]||"div",v=i?function hA(e,n,t,i){const o=i.get(y1,!1)||t===Fn.ShadowDom,s=e.selectRootElement(n,o);return function pA(e){x1(e)}(s),s}(h,i,this.componentDef.encapsulation,s):Ec(h,_,function UA(e){const n=e.toLowerCase();return"svg"===n?"svg":"math"===n?"math":null}(_)),M=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let C=null;null!==v&&(C=Ah(v,s,!0));const P=Wh(0,null,null,1,0,null,null,null,null,null,null),k=zc(null,P,null,M,null,null,d,h,s,null,C);let G,X;Lf(k);try{const de=this.componentDef;let ge,tt=null;de.findHostDirectiveDefs?(ge=[],tt=new Map,de.findHostDirectiveDefs(de,ge,tt),ge.push(de)):ge=[de];const lt=function WA(e,n){const t=e[$],i=ue;return e[i]=n,Uo(t,i,2,"#host",null)}(k,v),Ct=function qA(e,n,t,i,r,o,s){const a=r[$];!function YA(e,n,t,i){for(const r of e)n.mergedAttrs=$s(n.mergedAttrs,r.hostAttrs);null!==n.mergedAttrs&&(qc(n,n.mergedAttrs,!0),null!==t&&xy(i,t,n))}(i,e,n,s);let l=null;null!==n&&(l=Ah(n,r[$i]));const c=o.rendererFactory.createRenderer(n,t);let u=16;t.signals?u=4096:t.onPush&&(u=64);const d=zc(r,O1(t),null,u,r[e.index],e,o,c,null,null,l);return a.firstCreatePass&&Yh(a,e,i.length-1),Wc(r,d),r[e.index]=d}(lt,v,de,ge,k,d,h);X=mv(P,ue),v&&function JA(e,n,t,i){if(i)Df(e,t,["ng-version",jx.full]);else{const{attrs:r,classes:o}=function NI(e){const n=[],t=[];let i=1,r=2;for(;i0&&Oy(e,t,o.join(" "))}}(h,de,v,i),void 0!==t&&function XA(e,n,t){const i=e.projection=[];for(let r=0;r=0;i--){const r=e[i];r.hostVars=n+=r.hostVars,r.hostAttrs=$s(r.hostAttrs,t=$s(t,r.hostAttrs))}}(i)}function Zc(e){return e===ii?{}:e===ye?[]:e}function eR(e,n){const t=e.viewQuery;e.viewQuery=t?(i,r)=>{n(i,r),t(i,r)}:n}function tR(e,n){const t=e.contentQueries;e.contentQueries=t?(i,r,o)=>{n(i,r,o),t(i,r,o)}:n}function nR(e,n){const t=e.hostBindings;e.hostBindings=t?(i,r)=>{n(i,r),t(i,r)}:n}function Jc(e){return!!Kh(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function Kh(e){return null!==e&&("function"==typeof e||"object"==typeof e)}function ui(e,n,t){return e[n]=t}function Vt(e,n,t){return!Object.is(e[n],t)&&(e[n]=t,!0)}function Sr(e,n,t,i){const r=Vt(e,n,t);return Vt(e,n+1,i)||r}function Ie(e,n,t,i){const r=O();return Vt(r,bo(),n)&&(pe(),ci(Ye(),r,e,n,t,i)),Ie}function zo(e,n,t,i){return Vt(e,bo(),t)?n+te(t)+i:ie}function Wo(e,n,t,i,r,o){const a=Sr(e,function Ti(){return K.lFrame.bindingIndex}(),t,r);return Si(2),a?n+te(t)+i+te(r)+o:ie}function I(e,n,t,i,r,o,s,a){const l=O(),c=pe(),u=e+ue,d=c.firstCreatePass?function SR(e,n,t,i,r,o,s,a,l){const c=n.consts,u=Uo(n,e,4,s||null,zi(c,a));qh(n,t,u,zi(c,l)),sc(n,u);const d=u.tView=Wh(2,u,i,r,o,n.directiveRegistry,n.pipeRegistry,null,n.schemas,c,null);return null!==n.queries&&(n.queries.template(n,u),d.queries=n.queries.embeddedTView(u)),u}(u,c,l,n,t,i,r,o,s):c.data[u];ai(d,!1);const h=g0(c,l,d,e);oc()&&Mc(c,l,h,d),Lt(h,l),Wc(l,l[u]=L1(h,l,h,d)),tc(d)&&Gh(c,l,d),null!=s&&zh(l,d,a)}let g0=function m0(e,n,t,i){return Wi(!0),n[ne].createComment("")};function S(e,n,t){const i=O();return Vt(i,bo(),n)&&pn(pe(),Ye(),i,e,n,i[ne],t,!1),S}function op(e,n,t,i,r){const s=r?"class":"style";Xh(e,t,n.inputs[s],s,i)}function p(e,n,t,i){const r=O(),o=pe(),s=ue+e,a=r[ne],l=o.firstCreatePass?function OR(e,n,t,i,r,o){const s=n.consts,l=Uo(n,e,2,i,zi(s,r));return qh(n,t,l,zi(s,o)),null!==l.attrs&&qc(l,l.attrs,!1),null!==l.mergedAttrs&&qc(l,l.mergedAttrs,!0),null!==n.queries&&n.queries.elementStart(n,l),l}(s,o,r,n,t,i):o.data[s],c=_0(o,r,l,a,n,e);r[s]=c;const u=tc(l);return ai(l,!0),xy(a,c,l),32!=(32&l.flags)&&oc()&&Mc(o,r,c,l),0===function sN(){return K.lFrame.elementDepthCount}()&&Lt(c,r),function aN(){K.lFrame.elementDepthCount++}(),u&&(Gh(o,r,l),Uh(o,l,r)),null!==i&&zh(r,l),p}function f(){let e=It();Af()?Rf():(e=e.parent,ai(e,!1));const n=e;(function cN(e){return K.skipHydrationRootTNode===e})(n)&&function hN(){K.skipHydrationRootTNode=null}(),function lN(){K.lFrame.elementDepthCount--}();const t=pe();return t.firstCreatePass&&(sc(t,e),Cf(e)&&t.queries.elementEnd(e)),null!=n.classesWithoutHost&&function IN(e){return 0!=(8&e.flags)}(n)&&op(t,n,O(),n.classesWithoutHost,!0),null!=n.stylesWithoutHost&&function NN(e){return 0!=(16&e.flags)}(n)&&op(t,n,O(),n.stylesWithoutHost,!1),f}function Ae(e,n,t,i){return p(e,n,t,i),f(),Ae}let _0=(e,n,t,i,r,o)=>(Wi(!0),Ec(i,r,function Rv(){return K.lFrame.currentNamespace}()));function Zi(e,n,t){const i=O(),r=pe(),o=e+ue,s=r.firstCreatePass?function RR(e,n,t,i,r){const o=n.consts,s=zi(o,i),a=Uo(n,e,8,"ng-container",s);return null!==s&&qc(a,s,!0),qh(n,t,a,zi(o,r)),null!==n.queries&&n.queries.elementStart(n,a),a}(o,r,i,n,t):r.data[o];ai(s,!0);const a=y0(r,i,s,e);return i[o]=a,oc()&&Mc(r,i,a,s),Lt(a,i),tc(s)&&(Gh(r,i,s),Uh(r,s,i)),null!=t&&zh(i,s),Zi}function Ji(){let e=It();const n=pe();return Af()?Rf():(e=e.parent,ai(e,!1)),n.firstCreatePass&&(sc(n,e),Cf(e)&&n.queries.elementEnd(e)),Ji}let y0=(e,n,t,i)=>(Wi(!0),ih(n[ne],""));function Ze(){return O()}function Sa(e){return!!e&&"function"==typeof e.then}function b0(e){return!!e&&"function"==typeof e.subscribe}function Z(e,n,t,i){const r=O(),o=pe(),s=It();return function w0(e,n,t,i,r,o,s){const a=tc(i),c=e.firstCreatePass&&j1(e),u=n[rt],d=B1(n);let h=!0;if(3&i.type||s){const y=en(i,n),D=s?s(y):y,M=d.length,C=s?k=>s(je(k[i.index])):i.index;let P=null;if(!s&&a&&(P=function FR(e,n,t,i){const r=e.cleanup;if(null!=r)for(let o=0;ol?a[l]:null}"string"==typeof s&&(o+=2)}return null}(e,n,r,i.index)),null!==P)(P.__ngLastListenerFn__||P).__ngNextListenerFn__=o,P.__ngLastListenerFn__=o,h=!1;else{o=E0(i,n,u,o,!1);const k=t.listen(D,r,o);d.push(o,k),c&&c.push(r,C,M,M+1)}}else o=E0(i,n,u,o,!1);const _=i.outputs;let v;if(h&&null!==_&&(v=_[r])){const y=v.length;if(y)for(let D=0;D-1?dn(e.index,n):n);let l=C0(n,t,i,s),c=o.__ngNextListenerFn__;for(;c;)l=C0(n,t,c,s)&&l,c=c.__ngNextListenerFn__;return r&&!1===l&&s.preventDefault(),l}}function T(e=1){return function yN(e){return(K.lFrame.contextLView=function bN(e,n){for(;e>0;)n=n[po],e--;return n}(e,K.lFrame.contextLView))[rt]}(e)}function LR(e,n){let t=null;const i=function CI(e){const n=e.attrs;if(null!=n){const t=n.indexOf(5);if(!(1&t))return n[t+1]}return null}(e);for(let r=0;r>17&32767}function sp(e){return 2|e}function Mr(e){return(131068&e)>>2}function ap(e,n){return-131069&e|n<<2}function lp(e){return 1|e}function k0(e,n,t,i,r){const o=e[t+1],s=null===n;let a=i?Xi(o):Mr(o),l=!1;for(;0!==a&&(!1===l||s);){const u=e[a+1];UR(e[a],n)&&(l=!0,e[a+1]=i?lp(u):sp(u)),a=i?Xi(u):Mr(u)}l&&(e[t+1]=i?sp(o):lp(o))}function UR(e,n){return null===e||null==n||(Array.isArray(e)?e[1]:e)===n||!(!Array.isArray(e)||"string"!=typeof n)&&Io(e,n)>=0}const _t={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function F0(e){return e.substring(_t.key,_t.keyEnd)}function L0(e,n){const t=_t.textEnd;return t===n?-1:(n=_t.keyEnd=function qR(e,n,t){for(;n32;)n++;return n}(e,_t.key=n,t),Ko(e,n,t))}function Ko(e,n,t){for(;n=0;t=L0(n,t))fn(e,F0(n),!0)}function U0(e,n){return n>=e.expandoStartIndex}function G0(e,n,t,i){const r=e.data;if(null===r[t+1]){const o=r[Ut()],s=U0(e,t);Y0(o,i)&&null===n&&!s&&(n=!1),n=function XR(e,n,t,i){const r=function kf(e){const n=K.lFrame.currentDirectiveIndex;return-1===n?null:e[n]}(e);let o=i?n.residualClasses:n.residualStyles;if(null===r)0===(i?n.classBindings:n.styleBindings)&&(t=Ma(t=cp(null,e,n,t,i),n.attrs,i),o=null);else{const s=n.directiveStylingLast;if(-1===s||e[s]!==r)if(t=cp(r,e,n,t,i),null===o){let l=function QR(e,n,t){const i=t?n.classBindings:n.styleBindings;if(0!==Mr(i))return e[Xi(i)]}(e,n,i);void 0!==l&&Array.isArray(l)&&(l=cp(null,e,n,l[1],i),l=Ma(l,n.attrs,i),function KR(e,n,t,i){e[Xi(t?n.classBindings:n.styleBindings)]=i}(e,n,i,l))}else o=function e2(e,n,t){let i;const r=n.directiveEnd;for(let o=1+n.directiveStylingLast;o0)&&(c=!0)):u=t,r)if(0!==l){const h=Xi(e[a+1]);e[i+1]=nu(h,a),0!==h&&(e[h+1]=ap(e[h+1],i)),e[a+1]=function BR(e,n){return 131071&e|n<<17}(e[a+1],i)}else e[i+1]=nu(a,0),0!==a&&(e[a+1]=ap(e[a+1],i)),a=i;else e[i+1]=nu(l,0),0===a?a=i:e[l+1]=ap(e[l+1],i),l=i;c&&(e[i+1]=sp(e[i+1])),k0(e,u,i,!0),k0(e,u,i,!1),function $R(e,n,t,i,r){const o=r?e.residualClasses:e.residualStyles;null!=o&&"string"==typeof n&&Io(o,n)>=0&&(t[i+1]=lp(t[i+1]))}(n,u,e,i,o),s=nu(a,l),o?n.classBindings=s:n.styleBindings=s}(r,o,n,t,s,i)}}function cp(e,n,t,i,r){let o=null;const s=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=e[r],c=Array.isArray(l),u=c?l[1]:l,d=null===u;let h=t[r+1];h===ie&&(h=d?ye:void 0);let _=d?qf(h,i):u===i?h:void 0;if(c&&!iu(_)&&(_=qf(l,i)),iu(_)&&(a=_,s))return a;const v=e[r+1];r=s?Xi(v):Mr(v)}if(null!==n){let l=o?n.residualClasses:n.residualStyles;null!=l&&(a=qf(l,i))}return a}function iu(e){return void 0!==e}function Y0(e,n){return 0!=(e.flags&(n?8:16))}function m(e,n=""){const t=O(),i=pe(),r=e+ue,o=i.firstCreatePass?Uo(i,r,1,n,null):i.data[r],s=Z0(i,t,o,n,e);t[r]=s,oc()&&Mc(i,t,s,o),ai(o,!1)}let Z0=(e,n,t,i,r)=>(Wi(!0),function Cc(e,n){return e.createText(n)}(n[ne],i));function A(e){return V("",e,""),A}function V(e,n,t){const i=O(),r=zo(i,e,n,t);return r!==ie&&Oi(i,Ut(),r),V}function up(e,n,t,i,r){const o=O(),s=Wo(o,e,n,t,i,r);return s!==ie&&Oi(o,Ut(),s),up}const ts="en-US";let gb=ts;function hp(e,n,t,i,r){if(e=ee(e),Array.isArray(e))for(let o=0;o>20;if(Er(e)||!e.multi){const _=new Qs(c,r,b),v=gp(l,n,r?u:u+h,d);-1===v?(Gf(uc(a,s),o,l),pp(o,e,n.length),n.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),t.push(_),s.push(_)):(t[v]=_,s[v]=_)}else{const _=gp(l,n,u+h,d),v=gp(l,n,u,u+h),D=v>=0&&t[v];if(r&&!D||!r&&!(_>=0&&t[_])){Gf(uc(a,s),o,l);const M=function EP(e,n,t,i,r){const o=new Qs(e,t,b);return o.multi=[],o.index=n,o.componentProviders=0,jb(o,r,i&&!t),o}(r?CP:wP,t.length,r,i,c);!r&&D&&(t[v].providerFactory=M),pp(o,e,n.length,0),n.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),t.push(M),s.push(M)}else pp(o,e,_>-1?_:v,jb(t[r?v:_],c,!r&&i));!r&&i&&D&&t[v].componentProviders++}}}function pp(e,n,t,i){const r=Er(n),o=function mx(e){return!!e.useClass}(n);if(r||o){const l=(o?ee(n.useClass):n).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!r&&n.multi){const u=c.indexOf(t);-1===u?c.push(t,[i,l]):c[u+1].push(i,l)}else c.push(t,l)}}}function jb(e,n,t){return t&&e.componentProviders++,e.multi.push(n)-1}function gp(e,n,t,i){for(let r=t;r{t.providersResolver=(i,r)=>function DP(e,n,t){const i=pe();if(i.firstCreatePass){const r=Bn(e);hp(t,i.data,i.blueprint,r,!0),hp(n,i.data,i.blueprint,r,!1)}}(i,r?r(e):e,n)}}class Or{}class Hb{}class _p extends Or{constructor(n,t,i){super(),this._parent=t,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new Z1(this);const r=un(n);this._bootstrapComponents=Ni(r.bootstrap),this._r3Injector=l1(n,t,[{provide:Or,useValue:this},{provide:Hc,useValue:this.componentFactoryResolver},...i],gt(n),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(n)}get injector(){return this._r3Injector}destroy(){const n=this._r3Injector;!n.destroyed&&n.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}}class vp extends Hb{constructor(n){super(),this.moduleType=n}create(n){return new _p(this.moduleType,n,[])}}class $b extends Or{constructor(n){super(),this.componentFactoryResolver=new Z1(this),this.instance=null;const t=new ko([...n.providers,{provide:Or,useValue:this},{provide:Hc,useValue:this.componentFactoryResolver}],n.parent||Pc(),n.debugName,new Set(["environment"]));this.injector=t,n.runEnvironmentInitializers&&t.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(n){this.injector.onDestroy(n)}}function yp(e,n,t=null){return new $b({providers:e,parent:n,debugName:t,runEnvironmentInitializers:!0}).injector}let MP=(()=>{class e{constructor(t){this._injector=t,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(t){if(!t.standalone)return null;if(!this.cachedInjectors.has(t)){const i=Wy(0,t.type),r=i.length>0?yp([i],this._injector,`Standalone[${t.type.name}]`):null;this.cachedInjectors.set(t,r)}return this.cachedInjectors.get(t)}ngOnDestroy(){try{for(const t of this.cachedInjectors.values())null!==t&&t.destroy()}finally{this.cachedInjectors.clear()}}static#e=this.\u0275prov=B({token:e,providedIn:"environment",factory:()=>new e(H(zt))})}return e})();function In(e){e.getStandaloneInjector=n=>n.get(MP).getOrCreateStandaloneInjector(e)}function $n(e,n,t,i){return Zb(O(),$t(),e,n,t,i)}function ns(e,n,t,i,r,o,s,a){const l=$t()+e,c=O(),u=function Sn(e,n,t,i,r,o){const s=Sr(e,n,t,i);return Sr(e,n+2,r,o)||s}(c,l,t,i,r,o);return Vt(c,l+4,s)||u?ui(c,l+5,a?n.call(a,t,i,r,o,s):n(t,i,r,o,s)):function wa(e,n){return e[n]}(c,l+5)}function Zb(e,n,t,i,r,o){const s=n+t;return Vt(e,s,r)?ui(e,s+1,o?i.call(o,r):i(r)):function ka(e,n){const t=e[n];return t===ie?void 0:t}(e,s+1)}function lu(e,n){const t=pe();let i;const r=e+ue;t.firstCreatePass?(i=function $P(e,n){if(n)for(let t=n.length-1;t>=0;t--){const i=n[t];if(e===i.name)return i}}(n,t.pipeRegistry),t.data[r]=i,i.onDestroy&&(t.destroyHooks??=[]).push(r,i.onDestroy)):i=t.data[r];const o=i.factory||(i.factory=yr(i.type)),a=Qt(b);try{const l=cc(!1),c=o();return cc(l),function NR(e,n,t,i){t>=e.data.length&&(e.data[t]=null,e.blueprint[t]=null),n[t]=i}(t,O(),r,c),c}finally{Qt(a)}}function cu(e,n,t){const i=e+ue,r=O(),o=function vo(e,n){return e[n]}(r,i);return function Fa(e,n){return e[$].data[n].pure}(r,i)?Zb(r,$t(),n,o.transform,t,o):o.transform(t)}function qP(){return this._results[Symbol.iterator]()}class wp{static#e=Symbol.iterator;get changes(){return this._changes||(this._changes=new Y)}constructor(n=!1){this._emitDistinctChangesOnly=n,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const t=wp.prototype;t[Symbol.iterator]||(t[Symbol.iterator]=qP)}get(n){return this._results[n]}map(n){return this._results.map(n)}filter(n){return this._results.filter(n)}find(n){return this._results.find(n)}reduce(n,t){return this._results.reduce(n,t)}forEach(n){this._results.forEach(n)}some(n){return this._results.some(n)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(n,t){const i=this;i.dirty=!1;const r=function Tn(e){return e.flat(Number.POSITIVE_INFINITY)}(n);(this._changesDetected=!function UN(e,n,t){if(e.length!==n.length)return!1;for(let i=0;i0&&(t[r-1][Vn]=n),i{class e{static#e=this.__NG_ELEMENT_ID__=QP}return e})();const JP=Je,XP=class extends JP{constructor(n,t,i){super(),this._declarationLView=n,this._declarationTContainer=t,this.elementRef=i}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(n,t){return this.createEmbeddedViewImpl(n,t)}createEmbeddedViewImpl(n,t,i){const r=function YP(e,n,t,i){const r=n.tView,a=zc(e,r,t,4096&e[re]?4096:16,null,n,null,null,null,i?.injector??null,i?.hydrationInfo??null);a[zs]=e[n.index];const c=e[ri];return null!==c&&(a[ri]=c.createEmbeddedView(r)),Qh(r,a,t),a}(this._declarationLView,this._declarationTContainer,n,{injector:t,hydrationInfo:i});return new ya(r)}};function QP(){return uu(It(),O())}function uu(e,n){return 4&e.type?new XP(n,e,Bo(e,n)):null}let Nn=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=rk}return e})();function rk(){return sD(It(),O())}const ok=Nn,rD=class extends ok{constructor(n,t,i){super(),this._lContainer=n,this._hostTNode=t,this._hostLView=i}get element(){return Bo(this._hostTNode,this._hostLView)}get injector(){return new Gt(this._hostTNode,this._hostLView)}get parentInjector(){const n=dc(this._hostTNode,this._hostLView);if(Hf(n)){const t=ea(n,this._hostLView),i=Ks(n);return new Gt(t[$].data[i+8],t)}return new Gt(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){const t=oD(this._lContainer);return null!==t&&t[n]||null}get length(){return this._lContainer.length-Tt}createEmbeddedView(n,t,i){let r,o;"number"==typeof i?r=i:null!=i&&(r=i.index,o=i.injector);const a=n.createEmbeddedViewImpl(t||{},o,null);return this.insertImpl(a,r,false),a}createComponent(n,t,i,r,o){const s=n&&!function na(e){return"function"==typeof e}(n);let a;if(s)a=t;else{const y=t||{};a=y.index,i=y.injector,r=y.projectableNodes,o=y.environmentInjector||y.ngModuleRef}const l=s?n:new ba(he(n)),c=i||this.parentInjector;if(!o&&null==l.ngModule){const D=(s?c:this.parentInjector).get(zt,null);D&&(o=D)}he(l.componentType??{});const _=l.create(c,r,null,o);return this.insertImpl(_.hostView,a,false),_}insert(n,t){return this.insertImpl(n,t,!1)}insertImpl(n,t,i){const r=n._lView;if(function iN(e){return Ht(e[ze])}(r)){const l=this.indexOf(n);if(-1!==l)this.detach(l);else{const c=r[ze],u=new rD(c,c[Ft],c[ze]);u.detach(u.indexOf(n))}}const s=this._adjustIndex(t),a=this._lContainer;return ZP(a,r,s,!i),n.attachToViewContainerRef(),Yv(Cp(a),s,n),n}move(n,t){return this.insert(n,t)}indexOf(n){const t=oD(this._lContainer);return null!==t?t.indexOf(n):-1}remove(n){const t=this._adjustIndex(n,-1),i=Tc(this._lContainer,t);i&&(hc(Cp(this._lContainer),t),rh(i[$],i))}detach(n){const t=this._adjustIndex(n,-1),i=Tc(this._lContainer,t);return i&&null!=hc(Cp(this._lContainer),t)?new ya(i):null}_adjustIndex(n,t=0){return n??this.length+t}};function oD(e){return e[8]}function Cp(e){return e[8]||(e[8]=[])}function sD(e,n){let t;const i=n[e.index];return Ht(i)?t=i:(t=L1(i,n,null,e),n[e.index]=t,Wc(n,t)),aD(t,n,e,i),new rD(t,e,n)}let aD=function lD(e,n,t,i){if(e[oi])return;let r;r=8&t.type?je(i):function sk(e,n){const t=e[ne],i=t.createComment(""),r=en(n,e);return Cr(t,Sc(t,r),i,function LO(e,n){return e.nextSibling(n)}(t,r),!1),i}(n,t),e[oi]=r};class Ep{constructor(n){this.queryList=n,this.matches=null}clone(){return new Ep(this.queryList)}setDirty(){this.queryList.setDirty()}}class Tp{constructor(n=[]){this.queries=n}createEmbeddedView(n){const t=n.queries;if(null!==t){const i=null!==n.contentQueries?n.contentQueries[0]:t.length,r=[];for(let o=0;o0)i.push(s[a/2]);else{const c=o[a+1],u=n[-l];for(let d=Tt;d{class e{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,i)=>{this.resolve=t,this.reject=i}),this.appInits=F(Pp,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const t=[];for(const r of this.appInits){const o=r();if(Sa(o))t.push(o);else if(b0(o)){const s=new Promise((a,l)=>{o.subscribe({complete:a,error:l})});t.push(s)}}const i=()=>{this.done=!0,this.resolve()};Promise.all(t).then(()=>{i()}).catch(r=>{this.reject(r)}),0===t.length&&i(),this.initialized=!0}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),OD=(()=>{class e{log(t){console.log(t)}warn(t){console.warn(t)}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();const Gn=new z("LocaleId",{providedIn:"root",factory:()=>F(Gn,ce.Optional|ce.SkipSelf)||function kk(){return typeof $localize<"u"&&$localize.locale||ts}()});let hu=(()=>{class e{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new Dn(!1)}add(){this.hasPendingTasks.next(!0);const t=this.taskId++;return this.pendingTasks.add(t),t}remove(t){this.pendingTasks.delete(t),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();class Vk{constructor(n,t){this.ngModuleFactory=n,this.componentFactories=t}}let xD=(()=>{class e{compileModuleSync(t){return new vp(t)}compileModuleAsync(t){return Promise.resolve(this.compileModuleSync(t))}compileModuleAndAllComponentsSync(t){const i=this.compileModuleSync(t),o=Ni(un(t).declarations).reduce((s,a)=>{const l=he(a);return l&&s.push(new ba(l)),s},[]);return new Vk(i,o)}compileModuleAndAllComponentsAsync(t){return Promise.resolve(this.compileModuleAndAllComponentsSync(t))}clearCache(){}clearCacheFor(t){}getModuleId(t){}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const kD=new z(""),gu=new z("");let jp,Vp=(()=>{class e{constructor(t,i,r){this._ngZone=t,this.registry=i,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,jp||(function sF(e){jp=e}(r),r.addToWindow(i)),this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{fe.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(t)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,i,r){let o=-1;i&&i>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==o),t(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:t,timeoutId:o,updateCb:r})}whenStable(t,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(t){this.registry.registerApplication(t,this)}unregisterApplication(t){this.registry.unregisterApplication(t)}findProviders(t,i,r){return[]}static#e=this.\u0275fac=function(i){return new(i||e)(H(fe),H(Bp),H(gu))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})(),Bp=(()=>{class e{constructor(){this._applications=new Map}registerApplication(t,i){this._applications.set(t,i)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,i=!0){return jp?.findTestabilityInTree(this,t,i)??null}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})(),Qi=null;const FD=new z("AllowMultipleToken"),Hp=new z("PlatformDestroyListeners"),$p=new z("appBootstrapListener");class VD{constructor(n,t){this.name=n,this.token=t}}function jD(e,n,t=[]){const i=`Platform: ${n}`,r=new z(i);return(o=[])=>{let s=Up();if(!s||s.injector.get(FD,!1)){const a=[...t,...o,{provide:r,useValue:!0}];e?e(a):function cF(e){if(Qi&&!Qi.get(FD,!1))throw new R(400,!1);(function LD(){!function $I(e){sv=e}(()=>{throw new R(600,!1)})})(),Qi=e;const n=e.get($D);(function BD(e){e.get(Xy,null)?.forEach(t=>t())})(e)}(function HD(e=[],n){return Nt.create({name:n,providers:[{provide:Dh,useValue:"platform"},{provide:Hp,useValue:new Set([()=>Qi=null])},...e]})}(a,i))}return function dF(e){const n=Up();if(!n)throw new R(401,!1);return n}()}}function Up(){return Qi?.get($D)??null}let $D=(()=>{class e{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,i){const r=function fF(e="zone.js",n){return"noop"===e?new Kx:"zone.js"===e?new fe(n):e}(i?.ngZone,function UD(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}({eventCoalescing:i?.ngZoneEventCoalescing,runCoalescing:i?.ngZoneRunCoalescing}));return r.run(()=>{const o=function SP(e,n,t){return new _p(e,n,t)}(t.moduleType,this.injector,function YD(e){return[{provide:fe,useFactory:e},{provide:fa,multi:!0,useFactory:()=>{const n=F(pF,{optional:!0});return()=>n.initialize()}},{provide:qD,useFactory:hF},{provide:h1,useFactory:p1}]}(()=>r)),s=o.injector.get(Ii,null);return r.runOutsideAngular(()=>{const a=r.onError.subscribe({next:l=>{s.handleError(l)}});o.onDestroy(()=>{mu(this._modules,o),a.unsubscribe()})}),function GD(e,n,t){try{const i=t();return Sa(i)?i.catch(r=>{throw n.runOutsideAngular(()=>e.handleError(r)),r}):i}catch(i){throw n.runOutsideAngular(()=>e.handleError(i)),i}}(s,r,()=>{const a=o.injector.get(kp);return a.runInitializers(),a.donePromise.then(()=>(function mb(e){Cn(e,"Expected localeId to be defined"),"string"==typeof e&&(gb=e.toLowerCase().replace(/_/g,"-"))}(o.injector.get(Gn,ts)||ts),this._moduleDoBootstrap(o),o))})})}bootstrapModule(t,i=[]){const r=zD({},i);return function aF(e,n,t){const i=new vp(t);return Promise.resolve(i)}(0,0,t).then(o=>this.bootstrapModuleFactory(o,r))}_moduleDoBootstrap(t){const i=t.injector.get(Ki);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!t.instance.ngDoBootstrap)throw new R(-403,!1);t.instance.ngDoBootstrap(i)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new R(404,!1);this._modules.slice().forEach(i=>i.destroy()),this._destroyListeners.forEach(i=>i());const t=this._injector.get(Hp,null);t&&(t.forEach(i=>i()),t.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}static#e=this.\u0275fac=function(i){return new(i||e)(H(Nt))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();function zD(e,n){return Array.isArray(n)?n.reduce(zD,e):{...e,...n}}let Ki=(()=>{class e{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=F(qD),this.zoneIsStable=F(h1),this.componentTypes=[],this.components=[],this.isStable=F(hu).hasPendingTasks.pipe(wn(t=>t?J(!1):this.zoneIsStable),function E_(e,n=kn){return e=e??eI,qe((t,i)=>{let r,o=!0;t.subscribe(Ve(i,s=>{const a=n(s);(o||!e(r,a))&&(o=!1,r=a,i.next(s))}))})}(),C_()),this._injector=F(zt)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(t,i){const r=t instanceof n1;if(!this._injector.get(kp).done)throw!r&&function uo(e){const n=he(e)||Et(e)||jt(e);return null!==n&&n.standalone}(t),new R(405,!1);let s;s=r?t:this._injector.get(Hc).resolveComponentFactory(t),this.componentTypes.push(s.componentType);const a=function lF(e){return e.isBoundToModule}(s)?void 0:this._injector.get(Or),c=s.create(Nt.NULL,[],i||s.selector,a),u=c.location.nativeElement,d=c.injector.get(kD,null);return d?.registerApplication(u),c.onDestroy(()=>{this.detachView(c.hostView),mu(this.components,c),d?.unregisterApplication(u)}),this._loadComponent(c),c}tick(){if(this._runningTick)throw new R(101,!1);try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this.internalErrorHandler(t)}finally{this._runningTick=!1}}attachView(t){const i=t;this._views.push(i),i.attachToAppRef(this)}detachView(t){const i=t;mu(this._views,i),i.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t);const i=this._injector.get($p,[]);i.push(...this._bootstrapListeners),i.forEach(r=>r(t))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(t=>t()),this._views.slice().forEach(t=>t.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(t){return this._destroyListeners.push(t),()=>mu(this._destroyListeners,t)}destroy(){if(this._destroyed)throw new R(406,!1);const t=this._injector;t.destroy&&!t.destroyed&&t.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function mu(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}const qD=new z("",{providedIn:"root",factory:()=>F(Ii).handleError.bind(void 0)});function hF(){const e=F(fe),n=F(Ii);return t=>e.runOutsideAngular(()=>n.handleError(t))}let pF=(()=>{class e{constructor(){this.zone=F(fe),this.applicationRef=F(Ki)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();let zn=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=mF}return e})();function mF(e){return function _F(e,n,t){if(vr(e)&&!t){const i=dn(e.index,n);return new ya(i,i)}return 47&e.type?new ya(n[ot],n):null}(It(),O(),16==(16&e))}class QD{constructor(){}supports(n){return Jc(n)}create(n){return new CF(n)}}const wF=(e,n)=>n;class CF{constructor(n){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=n||wF}forEachItem(n){let t;for(t=this._itHead;null!==t;t=t._next)n(t)}forEachOperation(n){let t=this._itHead,i=this._removalsHead,r=0,o=null;for(;t||i;){const s=!i||t&&t.currentIndex{s=this._trackByFn(r,a),null!==t&&Object.is(t.trackById,s)?(i&&(t=this._verifyReinsertion(t,a,s,r)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,s,r),i=!0),t=t._next,r++}),this.length=r;return this._truncate(t),this.collection=n,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let n;for(n=this._previousItHead=this._itHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._additionsHead;null!==n;n=n._nextAdded)n.previousIndex=n.currentIndex;for(this._additionsHead=this._additionsTail=null,n=this._movesHead;null!==n;n=n._nextMoved)n.previousIndex=n.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(n,t,i,r){let o;return null===n?o=this._itTail:(o=n._prev,this._remove(n)),null!==(n=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._reinsertAfter(n,o,r)):null!==(n=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._moveAfter(n,o,r)):n=this._addAfter(new EF(t,i),o,r),n}_verifyReinsertion(n,t,i,r){let o=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==o?n=this._reinsertAfter(o,n._prev,r):n.currentIndex!=r&&(n.currentIndex=r,this._addToMoves(n,r)),n}_truncate(n){for(;null!==n;){const t=n._next;this._addToRemovals(this._unlink(n)),n=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(n,t,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(n);const r=n._prevRemoved,o=n._nextRemoved;return null===r?this._removalsHead=o:r._nextRemoved=o,null===o?this._removalsTail=r:o._prevRemoved=r,this._insertAfter(n,t,i),this._addToMoves(n,i),n}_moveAfter(n,t,i){return this._unlink(n),this._insertAfter(n,t,i),this._addToMoves(n,i),n}_addAfter(n,t,i){return this._insertAfter(n,t,i),this._additionsTail=null===this._additionsTail?this._additionsHead=n:this._additionsTail._nextAdded=n,n}_insertAfter(n,t,i){const r=null===t?this._itHead:t._next;return n._next=r,n._prev=t,null===r?this._itTail=n:r._prev=n,null===t?this._itHead=n:t._next=n,null===this._linkedRecords&&(this._linkedRecords=new KD),this._linkedRecords.put(n),n.currentIndex=i,n}_remove(n){return this._addToRemovals(this._unlink(n))}_unlink(n){null!==this._linkedRecords&&this._linkedRecords.remove(n);const t=n._prev,i=n._next;return null===t?this._itHead=i:t._next=i,null===i?this._itTail=t:i._prev=t,n}_addToMoves(n,t){return n.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=n:this._movesTail._nextMoved=n),n}_addToRemovals(n){return null===this._unlinkedRecords&&(this._unlinkedRecords=new KD),this._unlinkedRecords.put(n),n.currentIndex=null,n._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=n,n._prevRemoved=null):(n._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=n),n}_addIdentityChange(n,t){return n.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=n:this._identityChangesTail._nextIdentityChange=n,n}}class EF{constructor(n,t){this.item=n,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class TF{constructor(){this._head=null,this._tail=null}add(n){null===this._head?(this._head=this._tail=n,n._nextDup=null,n._prevDup=null):(this._tail._nextDup=n,n._prevDup=this._tail,n._nextDup=null,this._tail=n)}get(n,t){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===t||t<=i.currentIndex)&&Object.is(i.trackById,n))return i;return null}remove(n){const t=n._prevDup,i=n._nextDup;return null===t?this._head=i:t._nextDup=i,null===i?this._tail=t:i._prevDup=t,null===this._head}}class KD{constructor(){this.map=new Map}put(n){const t=n.trackById;let i=this.map.get(t);i||(i=new TF,this.map.set(t,i)),i.add(n)}get(n,t){const r=this.map.get(n);return r?r.get(n,t):null}remove(n){const t=n.trackById;return this.map.get(t).remove(n)&&this.map.delete(t),n}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function ew(e,n,t){const i=e.previousIndex;if(null===i)return i;let r=0;return t&&i{if(t&&t.key===r)this._maybeAddToChanges(t,i),this._appendAfter=t,t=t._next;else{const o=this._getOrCreateRecordForKey(r,i);t=this._insertBeforeOrAppend(t,o)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let i=t;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(n,t){if(n){const i=n._prev;return t._next=n,t._prev=i,n._prev=t,i&&(i._next=t),n===this._mapHead&&(this._mapHead=t),this._appendAfter=n,n}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(n,t){if(this._records.has(n)){const r=this._records.get(n);this._maybeAddToChanges(r,t);const o=r._prev,s=r._next;return o&&(o._next=s),s&&(s._prev=o),r._next=null,r._prev=null,r}const i=new MF(n);return this._records.set(n,i),i.currentValue=t,this._addToAdditions(i),i}_reset(){if(this.isDirty){let n;for(this._previousMapHead=this._mapHead,n=this._previousMapHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._changesHead;null!==n;n=n._nextChanged)n.previousValue=n.currentValue;for(n=this._additionsHead;null!=n;n=n._nextAdded)n.previousValue=n.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(n,t){Object.is(t,n.currentValue)||(n.previousValue=n.currentValue,n.currentValue=t,this._addToChanges(n))}_addToAdditions(n){null===this._additionsHead?this._additionsHead=this._additionsTail=n:(this._additionsTail._nextAdded=n,this._additionsTail=n)}_addToChanges(n){null===this._changesHead?this._changesHead=this._changesTail=n:(this._changesTail._nextChanged=n,this._changesTail=n)}_forEach(n,t){n instanceof Map?n.forEach(t):Object.keys(n).forEach(i=>t(n[i],i))}}class MF{constructor(n){this.key=n,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function nw(){return new yu([new QD])}let yu=(()=>{class e{static#e=this.\u0275prov=B({token:e,providedIn:"root",factory:nw});constructor(t){this.factories=t}static create(t,i){if(null!=i){const r=i.factories.slice();t=t.concat(r)}return new e(t)}static extend(t){return{provide:e,useFactory:i=>e.create(t,i||nw()),deps:[[e,new mc,new gc]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(null!=i)return i;throw new R(901,!1)}}return e})();function iw(){return new Ba([new tw])}let Ba=(()=>{class e{static#e=this.\u0275prov=B({token:e,providedIn:"root",factory:iw});constructor(t){this.factories=t}static create(t,i){if(i){const r=i.factories.slice();t=t.concat(r)}return new e(t)}static extend(t){return{provide:e,useFactory:i=>e.create(t,i||iw()),deps:[[e,new mc,new gc]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(i)return i;throw new R(901,!1)}}return e})();const OF=jD(null,"core",[]);let xF=(()=>{class e{constructor(t){}static#e=this.\u0275fac=function(i){return new(i||e)(H(Ki))};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})();function Zp(e,n){const t=he(e),i=n.elementInjector||Pc();return new ba(t).create(i,n.projectableNodes,n.hostElement,n.environmentInjector)}let Jp=null;function er(){return Jp}class zF{}const ut=new z("DocumentToken");let Xp=(()=>{class e{historyGo(t){throw new Error("Not implemented")}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:function(){return F(qF)},providedIn:"platform"})}return e})();const WF=new z("Location Initialized");let qF=(()=>{class e extends Xp{constructor(){super(),this._doc=F(ut),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return er().getBaseHref(this._doc)}onPopState(t){const i=er().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",t,!1),()=>i.removeEventListener("popstate",t)}onHashChange(t){const i=er().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",t,!1),()=>i.removeEventListener("hashchange",t)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(t){this._location.pathname=t}pushState(t,i,r){this._history.pushState(t,i,r)}replaceState(t,i,r){this._history.replaceState(t,i,r)}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:function(){return new e},providedIn:"platform"})}return e})();function Qp(e,n){if(0==e.length)return n;if(0==n.length)return e;let t=0;return e.endsWith("/")&&t++,n.startsWith("/")&&t++,2==t?e+n.substring(1):1==t?e+n:e+"/"+n}function fw(e){const n=e.match(/#|\?|$/),t=n&&n.index||e.length;return e.slice(0,t-("/"===e[t-1]?1:0))+e.slice(t)}function xi(e){return e&&"?"!==e[0]?"?"+e:e}let Rr=(()=>{class e{historyGo(t){throw new Error("Not implemented")}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:function(){return F(pw)},providedIn:"root"})}return e})();const hw=new z("appBaseHref");let pw=(()=>{class e extends Rr{constructor(t,i){super(),this._platformLocation=t,this._removeListenerFns=[],this._baseHref=i??this._platformLocation.getBaseHrefFromDOM()??F(ut).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return Qp(this._baseHref,t)}path(t=!1){const i=this._platformLocation.pathname+xi(this._platformLocation.search),r=this._platformLocation.hash;return r&&t?`${i}${r}`:i}pushState(t,i,r,o){const s=this.prepareExternalUrl(r+xi(o));this._platformLocation.pushState(t,i,s)}replaceState(t,i,r,o){const s=this.prepareExternalUrl(r+xi(o));this._platformLocation.replaceState(t,i,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(t=0){this._platformLocation.historyGo?.(t)}static#e=this.\u0275fac=function(i){return new(i||e)(H(Xp),H(hw,8))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),YF=(()=>{class e extends Rr{constructor(t,i){super(),this._platformLocation=t,this._baseHref="",this._removeListenerFns=[],null!=i&&(this._baseHref=i)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}path(t=!1){let i=this._platformLocation.hash;return null==i&&(i="#"),i.length>0?i.substring(1):i}prepareExternalUrl(t){const i=Qp(this._baseHref,t);return i.length>0?"#"+i:i}pushState(t,i,r,o){let s=this.prepareExternalUrl(r+xi(o));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.pushState(t,i,s)}replaceState(t,i,r,o){let s=this.prepareExternalUrl(r+xi(o));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.replaceState(t,i,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(t=0){this._platformLocation.historyGo?.(t)}static#e=this.\u0275fac=function(i){return new(i||e)(H(Xp),H(hw,8))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})(),Kp=(()=>{class e{constructor(t){this._subject=new Y,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=t;const i=this._locationStrategy.getBaseHref();this._basePath=function XF(e){if(new RegExp("^(https?:)?//").test(e)){const[,t]=e.split(/\/\/[^\/]+/);return t}return e}(fw(gw(i))),this._locationStrategy.onPopState(r=>{this._subject.emit({url:this.path(!0),pop:!0,state:r.state,type:r.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(t=!1){return this.normalize(this._locationStrategy.path(t))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(t,i=""){return this.path()==this.normalize(t+xi(i))}normalize(t){return e.stripTrailingSlash(function JF(e,n){if(!e||!n.startsWith(e))return n;const t=n.substring(e.length);return""===t||["/",";","?","#"].includes(t[0])?t:n}(this._basePath,gw(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._locationStrategy.prepareExternalUrl(t)}go(t,i="",r=null){this._locationStrategy.pushState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+xi(i)),r)}replaceState(t,i="",r=null){this._locationStrategy.replaceState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+xi(i)),r)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(t=0){this._locationStrategy.historyGo?.(t)}onUrlChange(t){return this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)})),()=>{const i=this._urlChangeListeners.indexOf(t);this._urlChangeListeners.splice(i,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(t="",i){this._urlChangeListeners.forEach(r=>r(t,i))}subscribe(t,i,r){return this._subject.subscribe({next:t,error:i,complete:r})}static#e=this.normalizeQueryParams=xi;static#t=this.joinWithSlash=Qp;static#n=this.stripTrailingSlash=fw;static#i=this.\u0275fac=function(i){return new(i||e)(H(Rr))};static#r=this.\u0275prov=B({token:e,factory:function(){return function ZF(){return new Kp(H(Rr))}()},providedIn:"root"})}return e})();function gw(e){return e.replace(/\/index.html$/,"")}function Sw(e,n){n=encodeURIComponent(n);for(const t of e.split(";")){const i=t.indexOf("="),[r,o]=-1==i?[t,""]:[t.slice(0,i),t.slice(i+1)];if(r.trim()===n)return decodeURIComponent(o)}return null}const ug=/\s+/,Mw=[];let xu=(()=>{class e{constructor(t,i,r,o){this._iterableDiffers=t,this._keyValueDiffers=i,this._ngEl=r,this._renderer=o,this.initialClasses=Mw,this.stateMap=new Map}set klass(t){this.initialClasses=null!=t?t.trim().split(ug):Mw}set ngClass(t){this.rawClass="string"==typeof t?t.trim().split(ug):t}ngDoCheck(){for(const i of this.initialClasses)this._updateState(i,!0);const t=this.rawClass;if(Array.isArray(t)||t instanceof Set)for(const i of t)this._updateState(i,!0);else if(null!=t)for(const i of Object.keys(t))this._updateState(i,!!t[i]);this._applyStateDiff()}_updateState(t,i){const r=this.stateMap.get(t);void 0!==r?(r.enabled!==i&&(r.changed=!0,r.enabled=i),r.touched=!0):this.stateMap.set(t,{enabled:i,changed:!0,touched:!0})}_applyStateDiff(){for(const t of this.stateMap){const i=t[0],r=t[1];r.changed?(this._toggleClass(i,r.enabled),r.changed=!1):r.touched||(r.enabled&&this._toggleClass(i,!1),this.stateMap.delete(i)),r.touched=!1}}_toggleClass(t,i){(t=t.trim()).length>0&&t.split(ug).forEach(r=>{i?this._renderer.addClass(this._ngEl.nativeElement,r):this._renderer.removeClass(this._ngEl.nativeElement,r)})}static#e=this.\u0275fac=function(i){return new(i||e)(b(yu),b(Ba),b(Se),b(hn))};static#t=this.\u0275dir=L({type:e,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"},standalone:!0})}return e})();class RL{constructor(n,t,i,r){this.$implicit=n,this.ngForOf=t,this.index=i,this.count=r}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let qn=(()=>{class e{set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}constructor(t,i,r){this._viewContainer=t,this._template=i,this._differs=r,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;!this._differ&&t&&(this._differ=this._differs.find(t).create(this.ngForTrackBy))}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const i=this._viewContainer;t.forEachOperation((r,o,s)=>{if(null==r.previousIndex)i.createEmbeddedView(this._template,new RL(r.item,this._ngForOf,-1,-1),null===s?void 0:s);else if(null==s)i.remove(null===o?void 0:o);else if(null!==o){const a=i.get(o);i.move(a,s),Nw(a,r)}});for(let r=0,o=i.length;r{Nw(i.get(r.currentIndex),r)})}static ngTemplateContextGuard(t,i){return!0}static#e=this.\u0275fac=function(i){return new(i||e)(b(Nn),b(Je),b(yu))};static#t=this.\u0275dir=L({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0})}return e})();function Nw(e,n){e.context.$implicit=n.item}let Yn=(()=>{class e{constructor(t,i){this._viewContainer=t,this._context=new PL,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){Ow("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){Ow("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,i){return!0}static#e=this.\u0275fac=function(i){return new(i||e)(b(Nn),b(Je))};static#t=this.\u0275dir=L({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0})}return e})();class PL{constructor(){this.$implicit=null,this.ngIf=null}}function Ow(e,n){if(n&&!n.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${gt(n)}'.`)}let aV=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})();function Pw(e){return"server"===e}let dV=(()=>{class e{static#e=this.\u0275prov=B({token:e,providedIn:"root",factory:()=>new fV(H(ut),window)})}return e})();class fV{constructor(n,t){this.document=n,this.window=t,this.offset=()=>[0,0]}setOffset(n){this.offset=Array.isArray(n)?()=>n:n}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(n){this.supportsScrolling()&&this.window.scrollTo(n[0],n[1])}scrollToAnchor(n){if(!this.supportsScrolling())return;const t=function hV(e,n){const t=e.getElementById(n)||e.getElementsByName(n)[0];if(t)return t;if("function"==typeof e.createTreeWalker&&e.body&&"function"==typeof e.body.attachShadow){const i=e.createTreeWalker(e.body,NodeFilter.SHOW_ELEMENT);let r=i.currentNode;for(;r;){const o=r.shadowRoot;if(o){const s=o.getElementById(n)||o.querySelector(`[name="${n}"]`);if(s)return s}r=i.nextNode()}}return null}(this.document,n);t&&(this.scrollToElement(t),t.focus())}setHistoryScrollRestoration(n){this.supportsScrolling()&&(this.window.history.scrollRestoration=n)}scrollToElement(n){const t=n.getBoundingClientRect(),i=t.left+this.window.pageXOffset,r=t.top+this.window.pageYOffset,o=this.offset();this.window.scrollTo(i-o[0],r-o[1])}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch{return!1}}}class kw{}class FV extends zF{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class _g extends FV{static makeCurrent(){!function GF(e){Jp||(Jp=e)}(new _g)}onAndCancel(n,t,i){return n.addEventListener(t,i),()=>{n.removeEventListener(t,i)}}dispatchEvent(n,t){n.dispatchEvent(t)}remove(n){n.parentNode&&n.parentNode.removeChild(n)}createElement(n,t){return(t=t||this.getDefaultDocument()).createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,t){return"window"===t?window:"document"===t?n:"body"===t?n.body:null}getBaseHref(n){const t=function LV(){return Ua=Ua||document.querySelector("base"),Ua?Ua.getAttribute("href"):null}();return null==t?null:function VV(e){Pu=Pu||document.createElement("a"),Pu.setAttribute("href",e);const n=Pu.pathname;return"/"===n.charAt(0)?n:`/${n}`}(t)}resetBaseElement(){Ua=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return Sw(document.cookie,n)}}let Pu,Ua=null,jV=(()=>{class e{build(){return new XMLHttpRequest}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();const vg=new z("EventManagerPlugins");let jw=(()=>{class e{constructor(t,i){this._zone=i,this._eventNameToPlugin=new Map,t.forEach(r=>{r.manager=this}),this._plugins=t.slice().reverse()}addEventListener(t,i,r){return this._findPluginFor(i).addEventListener(t,i,r)}getZone(){return this._zone}_findPluginFor(t){let i=this._eventNameToPlugin.get(t);if(i)return i;if(i=this._plugins.find(o=>o.supports(t)),!i)throw new R(5101,!1);return this._eventNameToPlugin.set(t,i),i}static#e=this.\u0275fac=function(i){return new(i||e)(H(vg),H(fe))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();class Hw{constructor(n){this._doc=n}}const yg="ng-app-id";let $w=(()=>{class e{constructor(t,i,r,o={}){this.doc=t,this.appId=i,this.nonce=r,this.platformId=o,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=Pw(o),this.resetHostNodes()}addStyles(t){for(const i of t)1===this.changeUsageCount(i,1)&&this.onStyleAdded(i)}removeStyles(t){for(const i of t)this.changeUsageCount(i,-1)<=0&&this.onStyleRemoved(i)}ngOnDestroy(){const t=this.styleNodesInDOM;t&&(t.forEach(i=>i.remove()),t.clear());for(const i of this.getAllStyles())this.onStyleRemoved(i);this.resetHostNodes()}addHost(t){this.hostNodes.add(t);for(const i of this.getAllStyles())this.addStyleToHost(t,i)}removeHost(t){this.hostNodes.delete(t)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(t){for(const i of this.hostNodes)this.addStyleToHost(i,t)}onStyleRemoved(t){const i=this.styleRef;i.get(t)?.elements?.forEach(r=>r.remove()),i.delete(t)}collectServerRenderedStyles(){const t=this.doc.head?.querySelectorAll(`style[${yg}="${this.appId}"]`);if(t?.length){const i=new Map;return t.forEach(r=>{null!=r.textContent&&i.set(r.textContent,r)}),i}return null}changeUsageCount(t,i){const r=this.styleRef;if(r.has(t)){const o=r.get(t);return o.usage+=i,o.usage}return r.set(t,{usage:i,elements:[]}),i}getStyleElement(t,i){const r=this.styleNodesInDOM,o=r?.get(i);if(o?.parentNode===t)return r.delete(i),o.removeAttribute(yg),o;{const s=this.doc.createElement("style");return this.nonce&&s.setAttribute("nonce",this.nonce),s.textContent=i,this.platformIsServer&&s.setAttribute(yg,this.appId),s}}addStyleToHost(t,i){const r=this.getStyleElement(t,i);t.appendChild(r);const o=this.styleRef,s=o.get(i)?.elements;s?s.push(r):o.set(i,{elements:[r],usage:1})}resetHostNodes(){const t=this.hostNodes;t.clear(),t.add(this.doc.head)}static#e=this.\u0275fac=function(i){return new(i||e)(H(ut),H(kc),H(Qy,8),H(Tr))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();const bg={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},Dg=/%COMP%/g,GV=new z("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function Gw(e,n){return n.map(t=>t.replace(Dg,e))}let zw=(()=>{class e{constructor(t,i,r,o,s,a,l,c=null){this.eventManager=t,this.sharedStylesHost=i,this.appId=r,this.removeStylesOnCompDestroy=o,this.doc=s,this.platformId=a,this.ngZone=l,this.nonce=c,this.rendererByCompId=new Map,this.platformIsServer=Pw(a),this.defaultRenderer=new wg(t,s,l,this.platformIsServer)}createRenderer(t,i){if(!t||!i)return this.defaultRenderer;this.platformIsServer&&i.encapsulation===Fn.ShadowDom&&(i={...i,encapsulation:Fn.Emulated});const r=this.getOrCreateRenderer(t,i);return r instanceof qw?r.applyToHost(t):r instanceof Cg&&r.applyStyles(),r}getOrCreateRenderer(t,i){const r=this.rendererByCompId;let o=r.get(i.id);if(!o){const s=this.doc,a=this.ngZone,l=this.eventManager,c=this.sharedStylesHost,u=this.removeStylesOnCompDestroy,d=this.platformIsServer;switch(i.encapsulation){case Fn.Emulated:o=new qw(l,c,i,this.appId,u,s,a,d);break;case Fn.ShadowDom:return new YV(l,c,t,i,s,a,this.nonce,d);default:o=new Cg(l,c,i,u,s,a,d)}r.set(i.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}static#e=this.\u0275fac=function(i){return new(i||e)(H(jw),H($w),H(kc),H(GV),H(ut),H(Tr),H(fe),H(Qy))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();class wg{constructor(n,t,i,r){this.eventManager=n,this.doc=t,this.ngZone=i,this.platformIsServer=r,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(n,t){return t?this.doc.createElementNS(bg[t]||t,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,t){(Ww(n)?n.content:n).appendChild(t)}insertBefore(n,t,i){n&&(Ww(n)?n.content:n).insertBefore(t,i)}removeChild(n,t){n&&n.removeChild(t)}selectRootElement(n,t){let i="string"==typeof n?this.doc.querySelector(n):n;if(!i)throw new R(-5104,!1);return t||(i.textContent=""),i}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,t,i,r){if(r){t=r+":"+t;const o=bg[r];o?n.setAttributeNS(o,t,i):n.setAttribute(t,i)}else n.setAttribute(t,i)}removeAttribute(n,t,i){if(i){const r=bg[i];r?n.removeAttributeNS(r,t):n.removeAttribute(`${i}:${t}`)}else n.removeAttribute(t)}addClass(n,t){n.classList.add(t)}removeClass(n,t){n.classList.remove(t)}setStyle(n,t,i,r){r&(qi.DashCase|qi.Important)?n.style.setProperty(t,i,r&qi.Important?"important":""):n.style[t]=i}removeStyle(n,t,i){i&qi.DashCase?n.style.removeProperty(t):n.style[t]=""}setProperty(n,t,i){n[t]=i}setValue(n,t){n.nodeValue=t}listen(n,t,i){if("string"==typeof n&&!(n=er().getGlobalEventTarget(this.doc,n)))throw new Error(`Unsupported event target ${n} for event ${t}`);return this.eventManager.addEventListener(n,t,this.decoratePreventDefault(i))}decoratePreventDefault(n){return t=>{if("__ngUnwrap__"===t)return n;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>n(t)):n(t))&&t.preventDefault()}}}function Ww(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class YV extends wg{constructor(n,t,i,r,o,s,a,l){super(n,o,s,l),this.sharedStylesHost=t,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=Gw(r.id,r.styles);for(const u of c){const d=document.createElement("style");a&&d.setAttribute("nonce",a),d.textContent=u,this.shadowRoot.appendChild(d)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,t){return super.appendChild(this.nodeOrShadowRoot(n),t)}insertBefore(n,t,i){return super.insertBefore(this.nodeOrShadowRoot(n),t,i)}removeChild(n,t){return super.removeChild(this.nodeOrShadowRoot(n),t)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class Cg extends wg{constructor(n,t,i,r,o,s,a,l){super(n,o,s,a),this.sharedStylesHost=t,this.removeStylesOnCompDestroy=r,this.styles=l?Gw(l,i.styles):i.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class qw extends Cg{constructor(n,t,i,r,o,s,a,l){const c=r+"-"+i.id;super(n,t,i,o,s,a,l,c),this.contentAttr=function zV(e){return"_ngcontent-%COMP%".replace(Dg,e)}(c),this.hostAttr=function WV(e){return"_nghost-%COMP%".replace(Dg,e)}(c)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,t){const i=super.createElement(n,t);return super.setAttribute(i,this.contentAttr,""),i}}let ZV=(()=>{class e extends Hw{constructor(t){super(t)}supports(t){return!0}addEventListener(t,i,r){return t.addEventListener(i,r,!1),()=>this.removeEventListener(t,i,r)}removeEventListener(t,i,r){return t.removeEventListener(i,r)}static#e=this.\u0275fac=function(i){return new(i||e)(H(ut))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();const Yw=["alt","control","meta","shift"],JV={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},XV={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let QV=(()=>{class e extends Hw{constructor(t){super(t)}supports(t){return null!=e.parseEventName(t)}addEventListener(t,i,r){const o=e.parseEventName(i),s=e.eventCallback(o.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>er().onAndCancel(t,o.domEventName,s))}static parseEventName(t){const i=t.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const o=e._normalizeKey(i.pop());let s="",a=i.indexOf("code");if(a>-1&&(i.splice(a,1),s="code."),Yw.forEach(c=>{const u=i.indexOf(c);u>-1&&(i.splice(u,1),s+=c+".")}),s+=o,0!=i.length||0===o.length)return null;const l={};return l.domEventName=r,l.fullKey=s,l}static matchEventFullKeyCode(t,i){let r=JV[t.key]||t.key,o="";return i.indexOf("code.")>-1&&(r=t.code,o="code."),!(null==r||!r)&&(r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),Yw.forEach(s=>{s!==r&&(0,XV[s])(t)&&(o+=s+".")}),o+=r,o===i)}static eventCallback(t,i,r){return o=>{e.matchEventFullKeyCode(o,t)&&r.runGuarded(()=>i(o))}}static _normalizeKey(t){return"esc"===t?"escape":t}static#e=this.\u0275fac=function(i){return new(i||e)(H(ut))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();const nB=jD(OF,"browser",[{provide:Tr,useValue:"browser"},{provide:Xy,useValue:function KV(){_g.makeCurrent()},multi:!0},{provide:ut,useFactory:function tB(){return function zO(e){dh=e}(document),document},deps:[]}]),iB=new z(""),Xw=[{provide:gu,useClass:class BV{addToWindow(n){Be.getAngularTestability=(i,r=!0)=>{const o=n.findTestabilityInTree(i,r);if(null==o)throw new R(5103,!1);return o},Be.getAllAngularTestabilities=()=>n.getAllTestabilities(),Be.getAllAngularRootElements=()=>n.getAllRootElements(),Be.frameworkStabilizers||(Be.frameworkStabilizers=[]),Be.frameworkStabilizers.push(i=>{const r=Be.getAllAngularTestabilities();let o=r.length,s=!1;const a=function(l){s=s||l,o--,0==o&&i(s)};r.forEach(l=>{l.whenStable(a)})})}findTestabilityInTree(n,t,i){return null==t?null:n.getTestability(t)??(i?er().isShadowRoot(t)?this.findTestabilityInTree(n,t.host,!0):this.findTestabilityInTree(n,t.parentElement,!0):null)}},deps:[]},{provide:kD,useClass:Vp,deps:[fe,Bp,gu]},{provide:Vp,useClass:Vp,deps:[fe,Bp,gu]}],Qw=[{provide:Dh,useValue:"root"},{provide:Ii,useFactory:function eB(){return new Ii},deps:[]},{provide:vg,useClass:ZV,multi:!0,deps:[ut,fe,Tr]},{provide:vg,useClass:QV,multi:!0,deps:[ut]},zw,$w,jw,{provide:kh,useExisting:zw},{provide:kw,useClass:jV,deps:[]},[]];let rB=(()=>{class e{constructor(t){}static withServerTransition(t){return{ngModule:e,providers:[{provide:kc,useValue:t.appId}]}}static#e=this.\u0275fac=function(i){return new(i||e)(H(iB,12))};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({providers:[...Qw,...Xw],imports:[aV,xF]})}return e})(),Kw=(()=>{class e{constructor(t){this._doc=t}getTitle(){return this._doc.title}setTitle(t){this._doc.title=t||""}static#e=this.\u0275fac=function(i){return new(i||e)(H(ut))};static#t=this.\u0275prov=B({token:e,factory:function(i){let r=null;return r=i?new i:function sB(){return new Kw(H(ut))}(),r},providedIn:"root"})}return e})();function ls(e,n){return se(n)?ht(e,n,1):ht(e,1)}function vt(e,n){return qe((t,i)=>{let r=0;t.subscribe(Ve(i,o=>e.call(n,o,r++)&&i.next(o)))})}function Ga(e){return qe((n,t)=>{try{n.subscribe(t)}finally{t.add(e)}})}typeof window<"u"&&window;class ku{}class Fu{}class pi{constructor(n){this.normalizedNames=new Map,this.lazyUpdate=null,n?"string"==typeof n?this.lazyInit=()=>{this.headers=new Map,n.split("\n").forEach(t=>{const i=t.indexOf(":");if(i>0){const r=t.slice(0,i),o=r.toLowerCase(),s=t.slice(i+1).trim();this.maybeSetNormalizedName(r,o),this.headers.has(o)?this.headers.get(o).push(s):this.headers.set(o,[s])}})}:typeof Headers<"u"&&n instanceof Headers?(this.headers=new Map,n.forEach((t,i)=>{this.setHeaderEntries(i,t)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(n).forEach(([t,i])=>{this.setHeaderEntries(t,i)})}:this.headers=new Map}has(n){return this.init(),this.headers.has(n.toLowerCase())}get(n){this.init();const t=this.headers.get(n.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(n){return this.init(),this.headers.get(n.toLowerCase())||null}append(n,t){return this.clone({name:n,value:t,op:"a"})}set(n,t){return this.clone({name:n,value:t,op:"s"})}delete(n,t){return this.clone({name:n,value:t,op:"d"})}maybeSetNormalizedName(n,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,n)}init(){this.lazyInit&&(this.lazyInit instanceof pi?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(n=>this.applyUpdate(n)),this.lazyUpdate=null))}copyFrom(n){n.init(),Array.from(n.headers.keys()).forEach(t=>{this.headers.set(t,n.headers.get(t)),this.normalizedNames.set(t,n.normalizedNames.get(t))})}clone(n){const t=new pi;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof pi?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([n]),t}applyUpdate(n){const t=n.name.toLowerCase();switch(n.op){case"a":case"s":let i=n.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(n.name,t);const r=("a"===n.op?this.headers.get(t):void 0)||[];r.push(...i),this.headers.set(t,r);break;case"d":const o=n.value;if(o){let s=this.headers.get(t);if(!s)return;s=s.filter(a=>-1===o.indexOf(a)),0===s.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,s)}else this.headers.delete(t),this.normalizedNames.delete(t)}}setHeaderEntries(n,t){const i=(Array.isArray(t)?t:[t]).map(o=>o.toString()),r=n.toLowerCase();this.headers.set(r,i),this.maybeSetNormalizedName(n,r)}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>n(this.normalizedNames.get(t),this.headers.get(t)))}}class dB{encodeKey(n){return iC(n)}encodeValue(n){return iC(n)}decodeKey(n){return decodeURIComponent(n)}decodeValue(n){return decodeURIComponent(n)}}const hB=/%(\d[a-f0-9])/gi,pB={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function iC(e){return encodeURIComponent(e).replace(hB,(n,t)=>pB[t]??n)}function Lu(e){return`${e}`}class nr{constructor(n={}){if(this.updates=null,this.cloneFrom=null,this.encoder=n.encoder||new dB,n.fromString){if(n.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function fB(e,n){const t=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(r=>{const o=r.indexOf("="),[s,a]=-1==o?[n.decodeKey(r),""]:[n.decodeKey(r.slice(0,o)),n.decodeValue(r.slice(o+1))],l=t.get(s)||[];l.push(a),t.set(s,l)}),t}(n.fromString,this.encoder)}else n.fromObject?(this.map=new Map,Object.keys(n.fromObject).forEach(t=>{const i=n.fromObject[t],r=Array.isArray(i)?i.map(Lu):[Lu(i)];this.map.set(t,r)})):this.map=null}has(n){return this.init(),this.map.has(n)}get(n){this.init();const t=this.map.get(n);return t?t[0]:null}getAll(n){return this.init(),this.map.get(n)||null}keys(){return this.init(),Array.from(this.map.keys())}append(n,t){return this.clone({param:n,value:t,op:"a"})}appendAll(n){const t=[];return Object.keys(n).forEach(i=>{const r=n[i];Array.isArray(r)?r.forEach(o=>{t.push({param:i,value:o,op:"a"})}):t.push({param:i,value:r,op:"a"})}),this.clone(t)}set(n,t){return this.clone({param:n,value:t,op:"s"})}delete(n,t){return this.clone({param:n,value:t,op:"d"})}toString(){return this.init(),this.keys().map(n=>{const t=this.encoder.encodeKey(n);return this.map.get(n).map(i=>t+"="+this.encoder.encodeValue(i)).join("&")}).filter(n=>""!==n).join("&")}clone(n){const t=new nr({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(n),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(n=>this.map.set(n,this.cloneFrom.map.get(n))),this.updates.forEach(n=>{switch(n.op){case"a":case"s":const t=("a"===n.op?this.map.get(n.param):void 0)||[];t.push(Lu(n.value)),this.map.set(n.param,t);break;case"d":if(void 0===n.value){this.map.delete(n.param);break}{let i=this.map.get(n.param)||[];const r=i.indexOf(Lu(n.value));-1!==r&&i.splice(r,1),i.length>0?this.map.set(n.param,i):this.map.delete(n.param)}}}),this.cloneFrom=this.updates=null)}}class gB{constructor(){this.map=new Map}set(n,t){return this.map.set(n,t),this}get(n){return this.map.has(n)||this.map.set(n,n.defaultValue()),this.map.get(n)}delete(n){return this.map.delete(n),this}has(n){return this.map.has(n)}keys(){return this.map.keys()}}function rC(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function oC(e){return typeof Blob<"u"&&e instanceof Blob}function sC(e){return typeof FormData<"u"&&e instanceof FormData}class za{constructor(n,t,i,r){let o;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=n.toUpperCase(),function mB(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,o=r):o=i,o&&(this.reportProgress=!!o.reportProgress,this.withCredentials=!!o.withCredentials,o.responseType&&(this.responseType=o.responseType),o.headers&&(this.headers=o.headers),o.context&&(this.context=o.context),o.params&&(this.params=o.params)),this.headers||(this.headers=new pi),this.context||(this.context=new gB),this.params){const s=this.params.toString();if(0===s.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":ad.set(h,n.setHeaders[h]),l)),n.setParams&&(c=Object.keys(n.setParams).reduce((d,h)=>d.set(h,n.setParams[h]),c)),new za(t,i,o,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:s})}}var cs=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(cs||{});class Tg{constructor(n,t=200,i="OK"){this.headers=n.headers||new pi,this.status=void 0!==n.status?n.status:t,this.statusText=n.statusText||i,this.url=n.url||null,this.ok=this.status>=200&&this.status<300}}class Sg extends Tg{constructor(n={}){super(n),this.type=cs.ResponseHeader}clone(n={}){return new Sg({headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class us extends Tg{constructor(n={}){super(n),this.type=cs.Response,this.body=void 0!==n.body?n.body:null}clone(n={}){return new us({body:void 0!==n.body?n.body:this.body,headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class aC extends Tg{constructor(n){super(n,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${n.url||"(unknown url)"}`:`Http failure response for ${n.url||"(unknown url)"}: ${n.status} ${n.statusText}`,this.error=n.error||null}}function Mg(e,n){return{body:n,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}let Wa=(()=>{class e{constructor(t){this.handler=t}request(t,i,r={}){let o;if(t instanceof za)o=t;else{let l,c;l=r.headers instanceof pi?r.headers:new pi(r.headers),r.params&&(c=r.params instanceof nr?r.params:new nr({fromObject:r.params})),o=new za(t,i,void 0!==r.body?r.body:null,{headers:l,context:r.context,params:c,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials})}const s=J(o).pipe(ls(l=>this.handler.handle(l)));if(t instanceof za||"events"===r.observe)return s;const a=s.pipe(vt(l=>l instanceof us));switch(r.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return a.pipe(ae(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(ae(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(ae(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));default:return a.pipe(ae(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(t,i={}){return this.request("DELETE",t,i)}get(t,i={}){return this.request("GET",t,i)}head(t,i={}){return this.request("HEAD",t,i)}jsonp(t,i){return this.request("JSONP",t,{params:(new nr).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,i={}){return this.request("OPTIONS",t,i)}patch(t,i,r={}){return this.request("PATCH",t,Mg(r,i))}post(t,i,r={}){return this.request("POST",t,Mg(r,i))}put(t,i,r={}){return this.request("PUT",t,Mg(r,i))}static#e=this.\u0275fac=function(i){return new(i||e)(H(ku))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();function uC(e,n){return n(e)}function yB(e,n){return(t,i)=>n.intercept(t,{handle:r=>e(r,i)})}const DB=new z(""),qa=new z(""),dC=new z("");function wB(){let e=null;return(n,t)=>{null===e&&(e=(F(DB,{optional:!0})??[]).reduceRight(yB,uC));const i=F(hu),r=i.add();return e(n,t).pipe(Ga(()=>i.remove(r)))}}let fC=(()=>{class e extends ku{constructor(t,i){super(),this.backend=t,this.injector=i,this.chain=null,this.pendingTasks=F(hu)}handle(t){if(null===this.chain){const r=Array.from(new Set([...this.injector.get(qa),...this.injector.get(dC,[])]));this.chain=r.reduceRight((o,s)=>function bB(e,n,t){return(i,r)=>t.runInContext(()=>n(i,o=>e(o,r)))}(o,s,this.injector),uC)}const i=this.pendingTasks.add();return this.chain(t,r=>this.backend.handle(r)).pipe(Ga(()=>this.pendingTasks.remove(i)))}static#e=this.\u0275fac=function(i){return new(i||e)(H(Fu),H(zt))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();const SB=/^\)\]\}',?\n/;let pC=(()=>{class e{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new R(-2800,!1);const i=this.xhrFactory;return(i.\u0275loadImpl?pt(i.\u0275loadImpl()):J(null)).pipe(wn(()=>new Ce(o=>{const s=i.build();if(s.open(t.method,t.urlWithParams),t.withCredentials&&(s.withCredentials=!0),t.headers.forEach((y,D)=>s.setRequestHeader(y,D.join(","))),t.headers.has("Accept")||s.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const y=t.detectContentTypeHeader();null!==y&&s.setRequestHeader("Content-Type",y)}if(t.responseType){const y=t.responseType.toLowerCase();s.responseType="json"!==y?y:"text"}const a=t.serializeBody();let l=null;const c=()=>{if(null!==l)return l;const y=s.statusText||"OK",D=new pi(s.getAllResponseHeaders()),M=function MB(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(s)||t.url;return l=new Sg({headers:D,status:s.status,statusText:y,url:M}),l},u=()=>{let{headers:y,status:D,statusText:M,url:C}=c(),P=null;204!==D&&(P=typeof s.response>"u"?s.responseText:s.response),0===D&&(D=P?200:0);let k=D>=200&&D<300;if("json"===t.responseType&&"string"==typeof P){const G=P;P=P.replace(SB,"");try{P=""!==P?JSON.parse(P):null}catch(X){P=G,k&&(k=!1,P={error:X,text:P})}}k?(o.next(new us({body:P,headers:y,status:D,statusText:M,url:C||void 0})),o.complete()):o.error(new aC({error:P,headers:y,status:D,statusText:M,url:C||void 0}))},d=y=>{const{url:D}=c(),M=new aC({error:y,status:s.status||0,statusText:s.statusText||"Unknown Error",url:D||void 0});o.error(M)};let h=!1;const _=y=>{h||(o.next(c()),h=!0);let D={type:cs.DownloadProgress,loaded:y.loaded};y.lengthComputable&&(D.total=y.total),"text"===t.responseType&&s.responseText&&(D.partialText=s.responseText),o.next(D)},v=y=>{let D={type:cs.UploadProgress,loaded:y.loaded};y.lengthComputable&&(D.total=y.total),o.next(D)};return s.addEventListener("load",u),s.addEventListener("error",d),s.addEventListener("timeout",d),s.addEventListener("abort",d),t.reportProgress&&(s.addEventListener("progress",_),null!==a&&s.upload&&s.upload.addEventListener("progress",v)),s.send(a),o.next({type:cs.Sent}),()=>{s.removeEventListener("error",d),s.removeEventListener("abort",d),s.removeEventListener("load",u),s.removeEventListener("timeout",d),t.reportProgress&&(s.removeEventListener("progress",_),null!==a&&s.upload&&s.upload.removeEventListener("progress",v)),s.readyState!==s.DONE&&s.abort()}})))}static#e=this.\u0275fac=function(i){return new(i||e)(H(kw))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();const Ig=new z("XSRF_ENABLED"),gC=new z("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),mC=new z("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class _C{}let OB=(()=>{class e{constructor(t,i,r){this.doc=t,this.platform=i,this.cookieName=r,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=Sw(t,this.cookieName),this.lastCookieString=t),this.lastToken}static#e=this.\u0275fac=function(i){return new(i||e)(H(ut),H(Tr),H(gC))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();function xB(e,n){const t=e.url.toLowerCase();if(!F(Ig)||"GET"===e.method||"HEAD"===e.method||t.startsWith("http://")||t.startsWith("https://"))return n(e);const i=F(_C).getToken(),r=F(mC);return null!=i&&!e.headers.has(r)&&(e=e.clone({headers:e.headers.set(r,i)})),n(e)}var ir=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(ir||{});function AB(...e){const n=[Wa,pC,fC,{provide:ku,useExisting:fC},{provide:Fu,useExisting:pC},{provide:qa,useValue:xB,multi:!0},{provide:Ig,useValue:!0},{provide:_C,useClass:OB}];for(const t of e)n.push(...t.\u0275providers);return function vh(e){return{\u0275providers:e}}(n)}const vC=new z("LEGACY_INTERCEPTOR_FN");function RB(){return function Pr(e,n){return{\u0275kind:e,\u0275providers:n}}(ir.LegacyInterceptors,[{provide:vC,useFactory:wB},{provide:qa,useExisting:vC,multi:!0}])}let PB=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({providers:[AB(RB())]})}return e})();const{isArray:jB}=Array,{getPrototypeOf:HB,prototype:$B,keys:UB}=Object;function yC(e){if(1===e.length){const n=e[0];if(jB(n))return{args:n,keys:null};if(function GB(e){return e&&"object"==typeof e&&HB(e)===$B}(n)){const t=UB(n);return{args:t.map(i=>n[i]),keys:t}}}return{args:e,keys:null}}const{isArray:zB}=Array;function Ng(e){return ae(n=>function WB(e,n){return zB(n)?e(...n):e(n)}(e,n))}function bC(e,n){return e.reduce((t,i,r)=>(t[i]=n[r],t),{})}let DC=(()=>{class e{constructor(t,i){this._renderer=t,this._elementRef=i,this.onChange=r=>{},this.onTouched=()=>{}}setProperty(t,i){this._renderer.setProperty(this._elementRef.nativeElement,t,i)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}static#e=this.\u0275fac=function(i){return new(i||e)(b(hn),b(Se))};static#t=this.\u0275dir=L({type:e})}return e})(),kr=(()=>{class e extends DC{static#e=this.\u0275fac=function(){let t;return function(r){return(t||(t=st(e)))(r||e)}}();static#t=this.\u0275dir=L({type:e,features:[Me]})}return e})();const An=new z("NgValueAccessor"),ZB={provide:An,useExisting:le(()=>Ya),multi:!0},XB=new z("CompositionEventMode");let Ya=(()=>{class e extends DC{constructor(t,i,r){super(t,i),this._compositionMode=r,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function JB(){const e=er()?er().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(t){this.setProperty("value",t??"")}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}static#e=this.\u0275fac=function(i){return new(i||e)(b(hn),b(Se),b(XB,8))};static#t=this.\u0275dir=L({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(i,r){1&i&&Z("input",function(s){return r._handleInput(s.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(s){return r._compositionEnd(s.target.value)})},features:[Fe([ZB]),Me]})}return e})();function rr(e){return null==e||("string"==typeof e||Array.isArray(e))&&0===e.length}const Ot=new z("NgValidators"),or=new z("NgAsyncValidators");function Bu(e){return null}function AC(e){return null!=e}function RC(e){return Sa(e)?pt(e):e}function PC(e){let n={};return e.forEach(t=>{n=null!=t?{...n,...t}:n}),0===Object.keys(n).length?null:n}function kC(e,n){return n.map(t=>t(e))}function FC(e){return e.map(n=>function KB(e){return!e.validate}(n)?n:t=>n.validate(t))}function Og(e){return null!=e?function LC(e){if(!e)return null;const n=e.filter(AC);return 0==n.length?null:function(t){return PC(kC(t,n))}}(FC(e)):null}function xg(e){return null!=e?function VC(e){if(!e)return null;const n=e.filter(AC);return 0==n.length?null:function(t){return function qB(...e){const n=Ul(e),{args:t,keys:i}=yC(e),r=new Ce(o=>{const{length:s}=t;if(!s)return void o.complete();const a=new Array(s);let l=s,c=s;for(let u=0;u{d||(d=!0,c--),a[u]=h},()=>l--,void 0,()=>{(!l||!d)&&(c||o.next(i?bC(i,a):a),o.complete())}))}});return n?r.pipe(Ng(n)):r}(kC(t,n).map(RC)).pipe(ae(PC))}}(FC(e)):null}function BC(e,n){return null===e?[n]:Array.isArray(e)?[...e,n]:[e,n]}function Ag(e){return e?Array.isArray(e)?e:[e]:[]}function ju(e,n){return Array.isArray(e)?e.includes(n):e===n}function $C(e,n){const t=Ag(n);return Ag(e).forEach(r=>{ju(t,r)||t.push(r)}),t}function UC(e,n){return Ag(n).filter(t=>!ju(e,t))}class GC{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(n){this._rawValidators=n||[],this._composedValidatorFn=Og(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=xg(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(n){this._onDestroyCallbacks.push(n)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(n=>n()),this._onDestroyCallbacks=[]}reset(n=void 0){this.control&&this.control.reset(n)}hasError(n,t){return!!this.control&&this.control.hasError(n,t)}getError(n,t){return this.control?this.control.getError(n,t):null}}class Yt extends GC{get formDirective(){return null}get path(){return null}}class sr extends GC{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class zC{constructor(n){this._cd=n}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let Rg=(()=>{class e extends zC{constructor(t){super(t)}static#e=this.\u0275fac=function(i){return new(i||e)(b(sr,2))};static#t=this.\u0275dir=L({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(i,r){2&i&&me("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)},features:[Me]})}return e})(),WC=(()=>{class e extends zC{constructor(t){super(t)}static#e=this.\u0275fac=function(i){return new(i||e)(b(Yt,10))};static#t=this.\u0275dir=L({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(i,r){2&i&&me("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)("ng-submitted",r.isSubmitted)},features:[Me]})}return e})();const Za="VALID",$u="INVALID",ds="PENDING",Ja="DISABLED";function Fg(e){return(Uu(e)?e.validators:e)||null}function Lg(e,n){return(Uu(n)?n.asyncValidators:e)||null}function Uu(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}class JC{constructor(n,t){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(n),this._assignAsyncValidators(t)}get validator(){return this._composedValidatorFn}set validator(n){this._rawValidators=this._composedValidatorFn=n}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(n){this._rawAsyncValidators=this._composedAsyncValidatorFn=n}get parent(){return this._parent}get valid(){return this.status===Za}get invalid(){return this.status===$u}get pending(){return this.status==ds}get disabled(){return this.status===Ja}get enabled(){return this.status!==Ja}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(n){this._assignValidators(n)}setAsyncValidators(n){this._assignAsyncValidators(n)}addValidators(n){this.setValidators($C(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators($C(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(UC(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(UC(n,this._rawAsyncValidators))}hasValidator(n){return ju(this._rawValidators,n)}hasAsyncValidator(n){return ju(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){this.touched=!0,this._parent&&!n.onlySelf&&this._parent.markAsTouched(n)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(n=>n.markAllAsTouched())}markAsUntouched(n={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}markAsDirty(n={}){this.pristine=!1,this._parent&&!n.onlySelf&&this._parent.markAsDirty(n)}markAsPristine(n={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}markAsPending(n={}){this.status=ds,!1!==n.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!n.onlySelf&&this._parent.markAsPending(n)}disable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=Ja,this.errors=null,this._forEachChild(i=>{i.disable({...n,onlySelf:!0})}),this._updateValue(),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...n,skipPristineCheck:t}),this._onDisabledChange.forEach(i=>i(!0))}enable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=Za,this._forEachChild(i=>{i.enable({...n,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors({...n,skipPristineCheck:t}),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(n){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(n){this._parent=n}getRawValue(){return this.value}updateValueAndValidity(n={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Za||this.status===ds)&&this._runAsyncValidator(n.emitEvent)),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity(n)}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Ja:Za}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n){if(this.asyncValidator){this.status=ds,this._hasOwnPendingAsyncValidator=!0;const t=RC(this.asyncValidator(this));this._asyncValidationSubscription=t.subscribe(i=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(i,{emitEvent:n})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(n,t={}){this.errors=n,this._updateControlsErrors(!1!==t.emitEvent)}get(n){let t=n;return null==t||(Array.isArray(t)||(t=t.split(".")),0===t.length)?null:t.reduce((i,r)=>i&&i._find(r),this)}getError(n,t){const i=t?this.get(t):this;return i&&i.errors?i.errors[n]:null}hasError(n,t){return!!this.getError(n,t)}get root(){let n=this;for(;n._parent;)n=n._parent;return n}_updateControlsErrors(n){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(n)}_initObservables(){this.valueChanges=new Y,this.statusChanges=new Y}_calculateStatus(){return this._allControlsDisabled()?Ja:this.errors?$u:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(ds)?ds:this._anyControlsHaveStatus($u)?$u:Za}_anyControlsHaveStatus(n){return this._anyControls(t=>t.status===n)}_anyControlsDirty(){return this._anyControls(n=>n.dirty)}_anyControlsTouched(){return this._anyControls(n=>n.touched)}_updatePristine(n={}){this.pristine=!this._anyControlsDirty(),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}_updateTouched(n={}){this.touched=this._anyControlsTouched(),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){Uu(n)&&null!=n.updateOn&&(this._updateOn=n.updateOn)}_parentMarkedDirty(n){return!n&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(n){return null}_assignValidators(n){this._rawValidators=Array.isArray(n)?n.slice():n,this._composedValidatorFn=function ij(e){return Array.isArray(e)?Og(e):e||null}(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=function rj(e){return Array.isArray(e)?xg(e):e||null}(this._rawAsyncValidators)}}class Vg extends JC{constructor(n,t,i){super(Fg(t),Lg(i,t)),this.controls=n,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(n,t){return this.controls[n]?this.controls[n]:(this.controls[n]=t,t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange),t)}addControl(n,t,i={}){this.registerControl(n,t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(n,t={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}setControl(n,t,i={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],t&&this.registerControl(n,t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(n){return this.controls.hasOwnProperty(n)&&this.controls[n].enabled}setValue(n,t={}){(function ZC(e,n,t){e._forEachChild((i,r)=>{if(void 0===t[r])throw new R(1002,"")})})(this,0,n),Object.keys(n).forEach(i=>{(function YC(e,n,t){const i=e.controls;if(!(n?Object.keys(i):i).length)throw new R(1e3,"");if(!i[t])throw new R(1001,"")})(this,!0,i),this.controls[i].setValue(n[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(n,t={}){null!=n&&(Object.keys(n).forEach(i=>{const r=this.controls[i];r&&r.patchValue(n[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(n={},t={}){this._forEachChild((i,r)=>{i.reset(n?n[r]:null,{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}getRawValue(){return this._reduceChildren({},(n,t,i)=>(n[i]=t.getRawValue(),n))}_syncPendingControls(){let n=this._reduceChildren(!1,(t,i)=>!!i._syncPendingControls()||t);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){Object.keys(this.controls).forEach(t=>{const i=this.controls[t];i&&n(i,t)})}_setUpControls(){this._forEachChild(n=>{n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(n){for(const[t,i]of Object.entries(this.controls))if(this.contains(t)&&n(i))return!0;return!1}_reduceValue(){return this._reduceChildren({},(t,i,r)=>((i.enabled||this.disabled)&&(t[r]=i.value),t))}_reduceChildren(n,t){let i=n;return this._forEachChild((r,o)=>{i=t(i,r,o)}),i}_allControlsDisabled(){for(const n of Object.keys(this.controls))if(this.controls[n].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(n){return this.controls.hasOwnProperty(n)?this.controls[n]:null}}const Fr=new z("CallSetDisabledState",{providedIn:"root",factory:()=>Xa}),Xa="always";function Qa(e,n,t=Xa){Bg(e,n),n.valueAccessor.writeValue(e.value),(e.disabled||"always"===t)&&n.valueAccessor.setDisabledState?.(e.disabled),function aj(e,n){n.valueAccessor.registerOnChange(t=>{e._pendingValue=t,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&XC(e,n)})}(e,n),function cj(e,n){const t=(i,r)=>{n.valueAccessor.writeValue(i),r&&n.viewToModelUpdate(i)};e.registerOnChange(t),n._registerOnDestroy(()=>{e._unregisterOnChange(t)})}(e,n),function lj(e,n){n.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&XC(e,n),"submit"!==e.updateOn&&e.markAsTouched()})}(e,n),function sj(e,n){if(n.valueAccessor.setDisabledState){const t=i=>{n.valueAccessor.setDisabledState(i)};e.registerOnDisabledChange(t),n._registerOnDestroy(()=>{e._unregisterOnDisabledChange(t)})}}(e,n)}function Wu(e,n){e.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(n)})}function Bg(e,n){const t=function jC(e){return e._rawValidators}(e);null!==n.validator?e.setValidators(BC(t,n.validator)):"function"==typeof t&&e.setValidators([t]);const i=function HC(e){return e._rawAsyncValidators}(e);null!==n.asyncValidator?e.setAsyncValidators(BC(i,n.asyncValidator)):"function"==typeof i&&e.setAsyncValidators([i]);const r=()=>e.updateValueAndValidity();Wu(n._rawValidators,r),Wu(n._rawAsyncValidators,r)}function XC(e,n){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}const pj={provide:Yt,useExisting:le(()=>Yu)},Ka=(()=>Promise.resolve())();let Yu=(()=>{class e extends Yt{constructor(t,i,r){super(),this.callSetDisabledState=r,this.submitted=!1,this._directives=new Set,this.ngSubmit=new Y,this.form=new Vg({},Og(t),xg(i))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){Ka.then(()=>{const i=this._findContainer(t.path);t.control=i.registerControl(t.name,t.control),Qa(t.control,t,this.callSetDisabledState),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){Ka.then(()=>{const i=this._findContainer(t.path);i&&i.removeControl(t.name),this._directives.delete(t)})}addFormGroup(t){Ka.then(()=>{const i=this._findContainer(t.path),r=new Vg({});(function QC(e,n){Bg(e,n)})(r,t),i.registerControl(t.name,r),r.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){Ka.then(()=>{const i=this._findContainer(t.path);i&&i.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,i){Ka.then(()=>{this.form.get(t.path).setValue(i)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,function KC(e,n){e._syncPendingControls(),n.forEach(t=>{const i=t.control;"submit"===i.updateOn&&i._pendingChange&&(t.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}(this.form,this._directives),this.ngSubmit.emit(t),"dialog"===t?.target?.method}onReset(){this.resetForm()}resetForm(t=void 0){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}static#e=this.\u0275fac=function(i){return new(i||e)(b(Ot,10),b(or,10),b(Fr,8))};static#t=this.\u0275dir=L({type:e,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(i,r){1&i&&Z("submit",function(s){return r.onSubmit(s)})("reset",function(){return r.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Fe([pj]),Me]})}return e})();function eE(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function tE(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const nE=class extends JC{constructor(n=null,t,i){super(Fg(t),Lg(i,t)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(n),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),Uu(t)&&(t.nonNullable||t.initialValueIsDefault)&&(this.defaultValue=tE(n)?n.value:n)}setValue(n,t={}){this.value=this._pendingValue=n,this._onChange.length&&!1!==t.emitModelToViewChange&&this._onChange.forEach(i=>i(this.value,!1!==t.emitViewToModelChange)),this.updateValueAndValidity(t)}patchValue(n,t={}){this.setValue(n,t)}reset(n=this.defaultValue,t={}){this._applyFormState(n),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1}_updateValue(){}_anyControls(n){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(n){this._onChange.push(n)}_unregisterOnChange(n){eE(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){eE(this._onDisabledChange,n)}_forEachChild(n){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(n){tE(n)?(this.value=this._pendingValue=n.value,n.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=n}},_j={provide:sr,useExisting:le(()=>Zu)},oE=(()=>Promise.resolve())();let Zu=(()=>{class e extends sr{constructor(t,i,r,o,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this.control=new nE,this._registered=!1,this.name="",this.update=new Y,this._parent=t,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=function $g(e,n){if(!n)return null;let t,i,r;return Array.isArray(n),n.forEach(o=>{o.constructor===Ya?t=o:function fj(e){return Object.getPrototypeOf(e.constructor)===kr}(o)?i=o:r=o}),r||i||t||null}(0,o)}ngOnChanges(t){if(this._checkForErrors(),!this._registered||"name"in t){if(this._registered&&(this._checkName(),this.formDirective)){const i=t.name.previousValue;this.formDirective.removeControl({name:i,path:this._getPath(i)})}this._setUpControl()}"isDisabled"in t&&this._updateDisabled(t),function Hg(e,n){if(!e.hasOwnProperty("model"))return!1;const t=e.model;return!!t.isFirstChange()||!Object.is(n,t.currentValue)}(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){Qa(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){oE.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(t){const i=t.isDisabled.currentValue,r=0!==i&&function os(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}(i);oE.then(()=>{r&&!this.control.disabled?this.control.disable():!r&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(t){return this._parent?function Gu(e,n){return[...n.path,e]}(t,this._parent):[t]}static#e=this.\u0275fac=function(i){return new(i||e)(b(Yt,9),b(Ot,10),b(or,10),b(An,10),b(zn,8),b(Fr,8))};static#t=this.\u0275dir=L({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[Fe([_j]),Me,Mt]})}return e})(),sE=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275dir=L({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]})}return e})();const vj={provide:An,useExisting:le(()=>Ug),multi:!0};let Ug=(()=>{class e extends kr{writeValue(t){this.setProperty("value",t??"")}registerOnChange(t){this.onChange=i=>{t(""==i?null:parseFloat(i))}}static#e=this.\u0275fac=function(){let t;return function(r){return(t||(t=st(e)))(r||e)}}();static#t=this.\u0275dir=L({type:e,selectors:[["input","type","number","formControlName",""],["input","type","number","formControl",""],["input","type","number","ngModel",""]],hostBindings:function(i,r){1&i&&Z("input",function(s){return r.onChange(s.target.value)})("blur",function(){return r.onTouched()})},features:[Fe([vj]),Me]})}return e})(),aE=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})();const Gg=new z("NgModelWithFormControlWarning");function mE(e){return"number"==typeof e?e:parseFloat(e)}let Lr=(()=>{class e{constructor(){this._validator=Bu}ngOnChanges(t){if(this.inputName in t){const i=this.normalizeInput(t[this.inputName].currentValue);this._enabled=this.enabled(i),this._validator=this._enabled?this.createValidator(i):Bu,this._onChange&&this._onChange()}}validate(t){return this._validator(t)}registerOnValidatorChange(t){this._onChange=t}enabled(t){return null!=t}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275dir=L({type:e,features:[Mt]})}return e})();const Rj={provide:Ot,useExisting:le(()=>Jg),multi:!0};let Jg=(()=>{class e extends Lr{constructor(){super(...arguments),this.inputName="max",this.normalizeInput=t=>mE(t),this.createValidator=t=>function TC(e){return n=>{if(rr(n.value)||rr(e))return null;const t=parseFloat(n.value);return!isNaN(t)&&t>e?{max:{max:e,actual:n.value}}:null}}(t)}static#e=this.\u0275fac=function(){let t;return function(r){return(t||(t=st(e)))(r||e)}}();static#t=this.\u0275dir=L({type:e,selectors:[["input","type","number","max","","formControlName",""],["input","type","number","max","","formControl",""],["input","type","number","max","","ngModel",""]],hostVars:1,hostBindings:function(i,r){2&i&&Ie("max",r._enabled?r.max:null)},inputs:{max:"max"},features:[Fe([Rj]),Me]})}return e})();const Pj={provide:Ot,useExisting:le(()=>Xg),multi:!0};let Xg=(()=>{class e extends Lr{constructor(){super(...arguments),this.inputName="min",this.normalizeInput=t=>mE(t),this.createValidator=t=>function EC(e){return n=>{if(rr(n.value)||rr(e))return null;const t=parseFloat(n.value);return!isNaN(t)&&t{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({imports:[aE]})}return e})(),$j=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:Fr,useValue:t.callSetDisabledState??Xa}]}}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({imports:[wE]})}return e})(),Uj=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:Gg,useValue:t.warnOnNgModelWithFormControl??"always"},{provide:Fr,useValue:t.callSetDisabledState??Xa}]}}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({imports:[wE]})}return e})(),Ju=(()=>{class e{formatTransactionTime(t){const i=new Date(1e3*t);return"Invalid Date"===i.toString()?(console.error("Invalid Date Format:",t),"Invalid Date"):i.toLocaleDateString(void 0,{year:"numeric",month:"2-digit",day:"2-digit"})+", "+i.toLocaleTimeString()}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Xu=(()=>{class e{getTransactionType(t){return 0===t.inputs.length&&0===t.outputs.length&&console.log("Encrypted Message"),0===t.inputs.length&&1===t.outputs.length&&0===t.outputs[0]?.value?"Message":0===t.inputs.length&&t.outputs.length>=1&&t.outputs[0]?.value>0?"Coinbase":t.inputs.length>0&&t.outputs.length>1&&t.outputs[0]?.value>0?"Transfer":t.outputs.length>=2&&0===t.outputs[0]?.value?"Create Identity":(console.log("Unknown Transaction Type"),"Unknown Transaction Type")}isEncryptedMessageTransaction(t){return 0===t.inputs.length&&0===t.outputs.length}isMessageTransaction(t){return 0===t.inputs.length&&1===t.outputs.length&&0===t.outputs[0]?.value}isCoinbaseTransaction(t){return 0===t.inputs.length&&t.outputs.length>=1&&t.outputs[0]?.value>0}isTransferTransaction(t){return t.inputs.length>0&&t.outputs.length>1&&t.outputs[0]?.value>0}isCreateIdentityTransaction(t){return t.outputs.length>=2&&0===t.outputs[0]?.value}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Kg(...e){const n=Vs(e),t=Ul(e),{args:i,keys:r}=yC(e);if(0===i.length)return pt([],n);const o=new Ce(function zj(e,n,t=kn){return i=>{CE(n,()=>{const{length:r}=e,o=new Array(r);let s=r,a=r;for(let l=0;l{const c=pt(e[l],n);let u=!1;c.subscribe(Ve(i,d=>{o[l]=d,u||(u=!0,a--),a||i.next(t(o.slice()))},()=>{--s||i.complete()}))},i)},i)}}(i,n,r?s=>bC(r,s):kn));return t?o.pipe(Ng(t)):o}function CE(e,n,t){e?Di(t,e,n):n()}const Qu=Li(e=>function(){e(this),this.name="EmptyError",this.message="no elements in sequence"});function el(...e){return function Wj(){return lo(1)}()(pt(e,Vs(e)))}function EE(e){return new Ce(n=>{ft(e()).subscribe(n)})}function tl(e,n){const t=se(e)?e:()=>e,i=r=>r.error(t());return new Ce(n?r=>n.schedule(i,0,r):i)}function em(){return qe((e,n)=>{let t=null;e._refCount++;const i=Ve(n,void 0,void 0,void 0,()=>{if(!e||e._refCount<=0||0<--e._refCount)return void(t=null);const r=e._connection,o=t;t=null,r&&(!o||r===o)&&r.unsubscribe(),n.unsubscribe()});e.subscribe(i),i.closed||(t=e.connect())})}class TE extends Ce{constructor(n,t){super(),this.source=n,this.subjectFactory=t,this._subject=null,this._refCount=0,this._connection=null,Fs(n)&&(this.lift=n.lift)}_subscribe(n){return this.getSubject().subscribe(n)}getSubject(){const n=this._subject;return(!n||n.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:n}=this;this._subject=this._connection=null,n?.unsubscribe()}connect(){let n=this._connection;if(!n){n=this._connection=new nt;const t=this.getSubject();n.add(this.source.subscribe(Ve(t,void 0,()=>{this._teardown(),t.complete()},i=>{this._teardown(),t.error(i)},()=>this._teardown()))),n.closed&&(this._connection=null,n=nt.EMPTY)}return n}refCount(){return em()(this)}}function xt(e){return e<=0?()=>bn:qe((n,t)=>{let i=0;n.subscribe(Ve(t,r=>{++i<=e&&(t.next(r),e<=i&&t.complete())}))})}function Ku(e){return qe((n,t)=>{let i=!1;n.subscribe(Ve(t,r=>{i=!0,t.next(r)},()=>{i||t.next(e),t.complete()}))})}function ME(e=qj){return qe((n,t)=>{let i=!1;n.subscribe(Ve(t,r=>{i=!0,t.next(r)},()=>i?t.complete():t.error(e())))})}function qj(){return new Qu}function Vr(e,n){const t=arguments.length>=2;return i=>i.pipe(e?vt((r,o)=>e(r,o,i)):kn,xt(1),t?Ku(n):ME(()=>new Qu))}function wt(e,n,t){const i=se(e)||n||t?{next:e,error:n,complete:t}:e;return i?qe((r,o)=>{var s;null===(s=i.subscribe)||void 0===s||s.call(i);let a=!0;r.subscribe(Ve(o,l=>{var c;null===(c=i.next)||void 0===c||c.call(i,l),o.next(l)},()=>{var l;a=!1,null===(l=i.complete)||void 0===l||l.call(i),o.complete()},l=>{var c;a=!1,null===(c=i.error)||void 0===c||c.call(i,l),o.error(l)},()=>{var l,c;a&&(null===(l=i.unsubscribe)||void 0===l||l.call(i)),null===(c=i.finalize)||void 0===c||c.call(i)}))}):kn}function Br(e){return qe((n,t)=>{let o,i=null,r=!1;i=n.subscribe(Ve(t,void 0,void 0,s=>{o=ft(e(s,Br(e)(n))),i?(i.unsubscribe(),i=null,o.subscribe(t)):r=!0})),r&&(i.unsubscribe(),i=null,o.subscribe(t))})}function tm(e){return e<=0?()=>bn:qe((n,t)=>{let i=[];n.subscribe(Ve(t,r=>{i.push(r),e{for(const r of i)t.next(r);t.complete()},void 0,()=>{i=null}))})}function et(e){return qe((n,t)=>{ft(e).subscribe(Ve(t,()=>t.complete(),pr)),!t.closed&&n.subscribe(t)})}const oe="primary",nl=Symbol("RouteTitle");class Xj{constructor(n){this.params=n||{}}has(n){return Object.prototype.hasOwnProperty.call(this.params,n)}get(n){if(this.has(n)){const t=this.params[n];return Array.isArray(t)?t[0]:t}return null}getAll(n){if(this.has(n)){const t=this.params[n];return Array.isArray(t)?t:[t]}return[]}get keys(){return Object.keys(this.params)}}function fs(e){return new Xj(e)}function Qj(e,n,t){const i=t.path.split("/");if(i.length>e.length||"full"===t.pathMatch&&(n.hasChildren()||i.lengthi[o]===r)}return e===n}function OE(e){return e.length>0?e[e.length-1]:null}function ar(e){return function Gj(e){return!!e&&(e instanceof Ce||se(e.lift)&&se(e.subscribe))}(e)?e:Sa(e)?pt(Promise.resolve(e)):J(e)}const e3={exact:function RE(e,n,t){if(!jr(e.segments,n.segments)||!ed(e.segments,n.segments,t)||e.numberOfChildren!==n.numberOfChildren)return!1;for(const i in n.children)if(!e.children[i]||!RE(e.children[i],n.children[i],t))return!1;return!0},subset:PE},xE={exact:function t3(e,n){return gi(e,n)},subset:function n3(e,n){return Object.keys(n).length<=Object.keys(e).length&&Object.keys(n).every(t=>NE(e[t],n[t]))},ignored:()=>!0};function AE(e,n,t){return e3[t.paths](e.root,n.root,t.matrixParams)&&xE[t.queryParams](e.queryParams,n.queryParams)&&!("exact"===t.fragment&&e.fragment!==n.fragment)}function PE(e,n,t){return kE(e,n,n.segments,t)}function kE(e,n,t,i){if(e.segments.length>t.length){const r=e.segments.slice(0,t.length);return!(!jr(r,t)||n.hasChildren()||!ed(r,t,i))}if(e.segments.length===t.length){if(!jr(e.segments,t)||!ed(e.segments,t,i))return!1;for(const r in n.children)if(!e.children[r]||!PE(e.children[r],n.children[r],i))return!1;return!0}{const r=t.slice(0,e.segments.length),o=t.slice(e.segments.length);return!!(jr(e.segments,r)&&ed(e.segments,r,i)&&e.children[oe])&&kE(e.children[oe],n,o,i)}}function ed(e,n,t){return n.every((i,r)=>xE[t](e[r].parameters,i.parameters))}class hs{constructor(n=new ke([],{}),t={},i=null){this.root=n,this.queryParams=t,this.fragment=i}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=fs(this.queryParams)),this._queryParamMap}toString(){return o3.serialize(this)}}class ke{constructor(n,t){this.segments=n,this.children=t,this.parent=null,Object.values(t).forEach(i=>i.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return td(this)}}class il{constructor(n,t){this.path=n,this.parameters=t}get parameterMap(){return this._parameterMap||(this._parameterMap=fs(this.parameters)),this._parameterMap}toString(){return VE(this)}}function jr(e,n){return e.length===n.length&&e.every((t,i)=>t.path===n[i].path)}let rl=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:function(){return new nm},providedIn:"root"})}return e})();class nm{parse(n){const t=new m3(n);return new hs(t.parseRootSegment(),t.parseQueryParams(),t.parseFragment())}serialize(n){const t=`/${ol(n.root,!0)}`,i=function l3(e){const n=Object.keys(e).map(t=>{const i=e[t];return Array.isArray(i)?i.map(r=>`${nd(t)}=${nd(r)}`).join("&"):`${nd(t)}=${nd(i)}`}).filter(t=>!!t);return n.length?`?${n.join("&")}`:""}(n.queryParams);return`${t}${i}${"string"==typeof n.fragment?`#${function s3(e){return encodeURI(e)}(n.fragment)}`:""}`}}const o3=new nm;function td(e){return e.segments.map(n=>VE(n)).join("/")}function ol(e,n){if(!e.hasChildren())return td(e);if(n){const t=e.children[oe]?ol(e.children[oe],!1):"",i=[];return Object.entries(e.children).forEach(([r,o])=>{r!==oe&&i.push(`${r}:${ol(o,!1)}`)}),i.length>0?`${t}(${i.join("//")})`:t}{const t=function r3(e,n){let t=[];return Object.entries(e.children).forEach(([i,r])=>{i===oe&&(t=t.concat(n(r,i)))}),Object.entries(e.children).forEach(([i,r])=>{i!==oe&&(t=t.concat(n(r,i)))}),t}(e,(i,r)=>r===oe?[ol(e.children[oe],!1)]:[`${r}:${ol(i,!1)}`]);return 1===Object.keys(e.children).length&&null!=e.children[oe]?`${td(e)}/${t[0]}`:`${td(e)}/(${t.join("//")})`}}function FE(e){return encodeURIComponent(e).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function nd(e){return FE(e).replace(/%3B/gi,";")}function im(e){return FE(e).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function id(e){return decodeURIComponent(e)}function LE(e){return id(e.replace(/\+/g,"%20"))}function VE(e){return`${im(e.path)}${function a3(e){return Object.keys(e).map(n=>`;${im(n)}=${im(e[n])}`).join("")}(e.parameters)}`}const c3=/^[^\/()?;#]+/;function rm(e){const n=e.match(c3);return n?n[0]:""}const u3=/^[^\/()?;=#]+/,f3=/^[^=?&#]+/,p3=/^[^&#]+/;class m3{constructor(n){this.url=n,this.remaining=n}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new ke([],{}):new ke([],this.parseChildren())}parseQueryParams(){const n={};if(this.consumeOptional("?"))do{this.parseQueryParam(n)}while(this.consumeOptional("&"));return n}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const n=[];for(this.peekStartsWith("(")||n.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),n.push(this.parseSegment());let t={};this.peekStartsWith("/(")&&(this.capture("/"),t=this.parseParens(!0));let i={};return this.peekStartsWith("(")&&(i=this.parseParens(!1)),(n.length>0||Object.keys(t).length>0)&&(i[oe]=new ke(n,t)),i}parseSegment(){const n=rm(this.remaining);if(""===n&&this.peekStartsWith(";"))throw new R(4009,!1);return this.capture(n),new il(id(n),this.parseMatrixParams())}parseMatrixParams(){const n={};for(;this.consumeOptional(";");)this.parseParam(n);return n}parseParam(n){const t=function d3(e){const n=e.match(u3);return n?n[0]:""}(this.remaining);if(!t)return;this.capture(t);let i="";if(this.consumeOptional("=")){const r=rm(this.remaining);r&&(i=r,this.capture(i))}n[id(t)]=id(i)}parseQueryParam(n){const t=function h3(e){const n=e.match(f3);return n?n[0]:""}(this.remaining);if(!t)return;this.capture(t);let i="";if(this.consumeOptional("=")){const s=function g3(e){const n=e.match(p3);return n?n[0]:""}(this.remaining);s&&(i=s,this.capture(i))}const r=LE(t),o=LE(i);if(n.hasOwnProperty(r)){let s=n[r];Array.isArray(s)||(s=[s],n[r]=s),s.push(o)}else n[r]=o}parseParens(n){const t={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const i=rm(this.remaining),r=this.remaining[i.length];if("/"!==r&&")"!==r&&";"!==r)throw new R(4010,!1);let o;i.indexOf(":")>-1?(o=i.slice(0,i.indexOf(":")),this.capture(o),this.capture(":")):n&&(o=oe);const s=this.parseChildren();t[o]=1===Object.keys(s).length?s[oe]:new ke([],s),this.consumeOptional("//")}return t}peekStartsWith(n){return this.remaining.startsWith(n)}consumeOptional(n){return!!this.peekStartsWith(n)&&(this.remaining=this.remaining.substring(n.length),!0)}capture(n){if(!this.consumeOptional(n))throw new R(4011,!1)}}function BE(e){return e.segments.length>0?new ke([],{[oe]:e}):e}function jE(e){const n={};for(const i of Object.keys(e.children)){const o=jE(e.children[i]);if(i===oe&&0===o.segments.length&&o.hasChildren())for(const[s,a]of Object.entries(o.children))n[s]=a;else(o.segments.length>0||o.hasChildren())&&(n[i]=o)}return function _3(e){if(1===e.numberOfChildren&&e.children[oe]){const n=e.children[oe];return new ke(e.segments.concat(n.segments),n.children)}return e}(new ke(e.segments,n))}function Hr(e){return e instanceof hs}function HE(e){let n;const r=BE(function t(o){const s={};for(const l of o.children){const c=t(l);s[l.outlet]=c}const a=new ke(o.url,s);return o===e&&(n=a),a}(e.root));return n??r}function $E(e,n,t,i){let r=e;for(;r.parent;)r=r.parent;if(0===n.length)return om(r,r,r,t,i);const o=function y3(e){if("string"==typeof e[0]&&1===e.length&&"/"===e[0])return new GE(!0,0,e);let n=0,t=!1;const i=e.reduce((r,o,s)=>{if("object"==typeof o&&null!=o){if(o.outlets){const a={};return Object.entries(o.outlets).forEach(([l,c])=>{a[l]="string"==typeof c?c.split("/"):c}),[...r,{outlets:a}]}if(o.segmentPath)return[...r,o.segmentPath]}return"string"!=typeof o?[...r,o]:0===s?(o.split("/").forEach((a,l)=>{0==l&&"."===a||(0==l&&""===a?t=!0:".."===a?n++:""!=a&&r.push(a))}),r):[...r,o]},[]);return new GE(t,n,i)}(n);if(o.toRoot())return om(r,r,new ke([],{}),t,i);const s=function b3(e,n,t){if(e.isAbsolute)return new od(n,!0,0);if(!t)return new od(n,!1,NaN);if(null===t.parent)return new od(t,!0,0);const i=rd(e.commands[0])?0:1;return function D3(e,n,t){let i=e,r=n,o=t;for(;o>r;){if(o-=r,i=i.parent,!i)throw new R(4005,!1);r=i.segments.length}return new od(i,!1,r-o)}(t,t.segments.length-1+i,e.numberOfDoubleDots)}(o,r,e),a=s.processChildren?al(s.segmentGroup,s.index,o.commands):zE(s.segmentGroup,s.index,o.commands);return om(r,s.segmentGroup,a,t,i)}function rd(e){return"object"==typeof e&&null!=e&&!e.outlets&&!e.segmentPath}function sl(e){return"object"==typeof e&&null!=e&&e.outlets}function om(e,n,t,i,r){let s,o={};i&&Object.entries(i).forEach(([l,c])=>{o[l]=Array.isArray(c)?c.map(u=>`${u}`):`${c}`}),s=e===n?t:UE(e,n,t);const a=BE(jE(s));return new hs(a,o,r)}function UE(e,n,t){const i={};return Object.entries(e.children).forEach(([r,o])=>{i[r]=o===n?t:UE(o,n,t)}),new ke(e.segments,i)}class GE{constructor(n,t,i){if(this.isAbsolute=n,this.numberOfDoubleDots=t,this.commands=i,n&&i.length>0&&rd(i[0]))throw new R(4003,!1);const r=i.find(sl);if(r&&r!==OE(i))throw new R(4004,!1)}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class od{constructor(n,t,i){this.segmentGroup=n,this.processChildren=t,this.index=i}}function zE(e,n,t){if(e||(e=new ke([],{})),0===e.segments.length&&e.hasChildren())return al(e,n,t);const i=function C3(e,n,t){let i=0,r=n;const o={match:!1,pathIndex:0,commandIndex:0};for(;r=t.length)return o;const s=e.segments[r],a=t[i];if(sl(a))break;const l=`${a}`,c=i0&&void 0===l)break;if(l&&c&&"object"==typeof c&&void 0===c.outlets){if(!qE(l,c,s))return o;i+=2}else{if(!qE(l,{},s))return o;i++}r++}return{match:!0,pathIndex:r,commandIndex:i}}(e,n,t),r=t.slice(i.commandIndex);if(i.match&&i.pathIndexo!==oe)&&e.children[oe]&&1===e.numberOfChildren&&0===e.children[oe].segments.length){const o=al(e.children[oe],n,t);return new ke(e.segments,o.children)}return Object.entries(i).forEach(([o,s])=>{"string"==typeof s&&(s=[s]),null!==s&&(r[o]=zE(e.children[o],n,s))}),Object.entries(e.children).forEach(([o,s])=>{void 0===i[o]&&(r[o]=s)}),new ke(e.segments,r)}}function sm(e,n,t){const i=e.segments.slice(0,n);let r=0;for(;r{"string"==typeof i&&(i=[i]),null!==i&&(n[t]=sm(new ke([],{}),0,i))}),n}function WE(e){const n={};return Object.entries(e).forEach(([t,i])=>n[t]=`${i}`),n}function qE(e,n,t){return e==t.path&&gi(n,t.parameters)}const ll="imperative";class mi{constructor(n,t){this.id=n,this.url=t}}class sd extends mi{constructor(n,t,i="imperative",r=null){super(n,t),this.type=0,this.navigationTrigger=i,this.restoredState=r}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class lr extends mi{constructor(n,t,i){super(n,t),this.urlAfterRedirects=i,this.type=1}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class cl extends mi{constructor(n,t,i,r){super(n,t),this.reason=i,this.code=r,this.type=2}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class ps extends mi{constructor(n,t,i,r){super(n,t),this.reason=i,this.code=r,this.type=16}}class ad extends mi{constructor(n,t,i,r){super(n,t),this.error=i,this.target=r,this.type=3}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class YE extends mi{constructor(n,t,i,r){super(n,t),this.urlAfterRedirects=i,this.state=r,this.type=4}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class T3 extends mi{constructor(n,t,i,r){super(n,t),this.urlAfterRedirects=i,this.state=r,this.type=7}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class S3 extends mi{constructor(n,t,i,r,o){super(n,t),this.urlAfterRedirects=i,this.state=r,this.shouldActivate=o,this.type=8}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class M3 extends mi{constructor(n,t,i,r){super(n,t),this.urlAfterRedirects=i,this.state=r,this.type=5}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class I3 extends mi{constructor(n,t,i,r){super(n,t),this.urlAfterRedirects=i,this.state=r,this.type=6}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class N3{constructor(n){this.route=n,this.type=9}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class O3{constructor(n){this.route=n,this.type=10}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class x3{constructor(n){this.snapshot=n,this.type=11}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class A3{constructor(n){this.snapshot=n,this.type=12}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class R3{constructor(n){this.snapshot=n,this.type=13}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class P3{constructor(n){this.snapshot=n,this.type=14}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class ZE{constructor(n,t,i){this.routerEvent=n,this.position=t,this.anchor=i,this.type=15}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}class am{}class lm{constructor(n){this.url=n}}class k3{constructor(){this.outlet=null,this.route=null,this.injector=null,this.children=new ul,this.attachRef=null}}let ul=(()=>{class e{constructor(){this.contexts=new Map}onChildOutletCreated(t,i){const r=this.getOrCreateContext(t);r.outlet=i,this.contexts.set(t,r)}onChildOutletDestroyed(t){const i=this.getContext(t);i&&(i.outlet=null,i.attachRef=null)}onOutletDeactivated(){const t=this.contexts;return this.contexts=new Map,t}onOutletReAttached(t){this.contexts=t}getOrCreateContext(t){let i=this.getContext(t);return i||(i=new k3,this.contexts.set(t,i)),i}getContext(t){return this.contexts.get(t)||null}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();class JE{constructor(n){this._root=n}get root(){return this._root.value}parent(n){const t=this.pathFromRoot(n);return t.length>1?t[t.length-2]:null}children(n){const t=cm(n,this._root);return t?t.children.map(i=>i.value):[]}firstChild(n){const t=cm(n,this._root);return t&&t.children.length>0?t.children[0].value:null}siblings(n){const t=um(n,this._root);return t.length<2?[]:t[t.length-2].children.map(r=>r.value).filter(r=>r!==n)}pathFromRoot(n){return um(n,this._root).map(t=>t.value)}}function cm(e,n){if(e===n.value)return n;for(const t of n.children){const i=cm(e,t);if(i)return i}return null}function um(e,n){if(e===n.value)return[n];for(const t of n.children){const i=um(e,t);if(i.length)return i.unshift(n),i}return[]}class Pi{constructor(n,t){this.value=n,this.children=t}toString(){return`TreeNode(${this.value})`}}function gs(e){const n={};return e&&e.children.forEach(t=>n[t.value.outlet]=t),n}class XE extends JE{constructor(n,t){super(n),this.snapshot=t,dm(this,n)}toString(){return this.snapshot.toString()}}function QE(e,n){const t=function F3(e,n){const s=new ld([],{},{},"",{},oe,n,null,{});return new eT("",new Pi(s,[]))}(0,n),i=new Dn([new il("",{})]),r=new Dn({}),o=new Dn({}),s=new Dn({}),a=new Dn(""),l=new $r(i,r,s,a,o,oe,n,t.root);return l.snapshot=t.root,new XE(new Pi(l,[]),t)}class $r{constructor(n,t,i,r,o,s,a,l){this.urlSubject=n,this.paramsSubject=t,this.queryParamsSubject=i,this.fragmentSubject=r,this.dataSubject=o,this.outlet=s,this.component=a,this._futureSnapshot=l,this.title=this.dataSubject?.pipe(ae(c=>c[nl]))??J(void 0),this.url=n,this.params=t,this.queryParams=i,this.fragment=r,this.data=o}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=this.params.pipe(ae(n=>fs(n)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(ae(n=>fs(n)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function KE(e,n="emptyOnly"){const t=e.pathFromRoot;let i=0;if("always"!==n)for(i=t.length-1;i>=1;){const r=t[i],o=t[i-1];if(r.routeConfig&&""===r.routeConfig.path)i--;else{if(o.component)break;i--}}return function L3(e){return e.reduce((n,t)=>({params:{...n.params,...t.params},data:{...n.data,...t.data},resolve:{...t.data,...n.resolve,...t.routeConfig?.data,...t._resolvedData}}),{params:{},data:{},resolve:{}})}(t.slice(i))}class ld{get title(){return this.data?.[nl]}constructor(n,t,i,r,o,s,a,l,c){this.url=n,this.params=t,this.queryParams=i,this.fragment=r,this.data=o,this.outlet=s,this.component=a,this.routeConfig=l,this._resolve=c}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=fs(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=fs(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(i=>i.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class eT extends JE{constructor(n,t){super(t),this.url=n,dm(this,t)}toString(){return tT(this._root)}}function dm(e,n){n.value._routerState=e,n.children.forEach(t=>dm(e,t))}function tT(e){const n=e.children.length>0?` { ${e.children.map(tT).join(", ")} } `:"";return`${e.value}${n}`}function fm(e){if(e.snapshot){const n=e.snapshot,t=e._futureSnapshot;e.snapshot=t,gi(n.queryParams,t.queryParams)||e.queryParamsSubject.next(t.queryParams),n.fragment!==t.fragment&&e.fragmentSubject.next(t.fragment),gi(n.params,t.params)||e.paramsSubject.next(t.params),function Kj(e,n){if(e.length!==n.length)return!1;for(let t=0;tgi(t.parameters,n[i].parameters))}(e.url,n.url);return t&&!(!e.parent!=!n.parent)&&(!e.parent||hm(e.parent,n.parent))}let nT=(()=>{class e{constructor(){this.activated=null,this._activatedRoute=null,this.name=oe,this.activateEvents=new Y,this.deactivateEvents=new Y,this.attachEvents=new Y,this.detachEvents=new Y,this.parentContexts=F(ul),this.location=F(Nn),this.changeDetector=F(zn),this.environmentInjector=F(zt),this.inputBinder=F(cd,{optional:!0}),this.supportsBindingToComponentInputs=!0}get activatedComponentRef(){return this.activated}ngOnChanges(t){if(t.name){const{firstChange:i,previousValue:r}=t.name;if(i)return;this.isTrackedInParentContexts(r)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(r)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(t){return this.parentContexts.getContext(t)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;const t=this.parentContexts.getContext(this.name);t?.route&&(t.attachRef?this.attach(t.attachRef,t.route):this.activateWith(t.route,t.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new R(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new R(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new R(4012,!1);this.location.detach();const t=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(t.instance),t}attach(t,i){this.activated=t,this._activatedRoute=i,this.location.insert(t.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(t.instance)}deactivate(){if(this.activated){const t=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(t)}}activateWith(t,i){if(this.isActivated)throw new R(4013,!1);this._activatedRoute=t;const r=this.location,s=t.snapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,l=new V3(t,a,r.injector);this.activated=r.createComponent(s,{index:r.length,injector:l,environmentInjector:i??this.environmentInjector}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275dir=L({type:e,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[Mt]})}return e})();class V3{constructor(n,t,i){this.route=n,this.childContexts=t,this.parent=i}get(n,t){return n===$r?this.route:n===ul?this.childContexts:this.parent.get(n,t)}}const cd=new z("");let iT=(()=>{class e{constructor(){this.outletDataSubscriptions=new Map}bindActivatedRouteToOutletComponent(t){this.unsubscribeFromRouteData(t),this.subscribeToRouteData(t)}unsubscribeFromRouteData(t){this.outletDataSubscriptions.get(t)?.unsubscribe(),this.outletDataSubscriptions.delete(t)}subscribeToRouteData(t){const{activatedRoute:i}=t,r=Kg([i.queryParams,i.params,i.data]).pipe(wn(([o,s,a],l)=>(a={...o,...s,...a},0===l?J(a):Promise.resolve(a)))).subscribe(o=>{if(!t.isActivated||!t.activatedComponentRef||t.activatedRoute!==i||null===i.component)return void this.unsubscribeFromRouteData(t);const s=function UF(e){const n=he(e);if(!n)return null;const t=new ba(n);return{get selector(){return t.selector},get type(){return t.componentType},get inputs(){return t.inputs},get outputs(){return t.outputs},get ngContentSelectors(){return t.ngContentSelectors},get isStandalone(){return n.standalone},get isSignal(){return n.signals}}}(i.component);if(s)for(const{templateName:a}of s.inputs)t.activatedComponentRef.setInput(a,o[a]);else this.unsubscribeFromRouteData(t)});this.outletDataSubscriptions.set(t,r)}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();function dl(e,n,t){if(t&&e.shouldReuseRoute(n.value,t.value.snapshot)){const i=t.value;i._futureSnapshot=n.value;const r=function j3(e,n,t){return n.children.map(i=>{for(const r of t.children)if(e.shouldReuseRoute(i.value,r.value.snapshot))return dl(e,i,r);return dl(e,i)})}(e,n,t);return new Pi(i,r)}{if(e.shouldAttach(n.value)){const o=e.retrieve(n.value);if(null!==o){const s=o.route;return s.value._futureSnapshot=n.value,s.children=n.children.map(a=>dl(e,a)),s}}const i=function H3(e){return new $r(new Dn(e.url),new Dn(e.params),new Dn(e.queryParams),new Dn(e.fragment),new Dn(e.data),e.outlet,e.component,e)}(n.value),r=n.children.map(o=>dl(e,o));return new Pi(i,r)}}const pm="ngNavigationCancelingError";function rT(e,n){const{redirectTo:t,navigationBehaviorOptions:i}=Hr(n)?{redirectTo:n,navigationBehaviorOptions:void 0}:n,r=oT(!1,0,n);return r.url=t,r.navigationBehaviorOptions=i,r}function oT(e,n,t){const i=new Error("NavigationCancelingError: "+(e||""));return i[pm]=!0,i.cancellationCode=n,t&&(i.url=t),i}function sT(e){return e&&e[pm]}let aT=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275cmp=kt({type:e,selectors:[["ng-component"]],standalone:!0,features:[In],decls:1,vars:0,template:function(i,r){1&i&&Ae(0,"router-outlet")},dependencies:[nT],encapsulation:2})}return e})();function gm(e){const n=e.children&&e.children.map(gm),t=n?{...e,children:n}:{...e};return!t.component&&!t.loadComponent&&(n||t.loadChildren)&&t.outlet&&t.outlet!==oe&&(t.component=aT),t}function Jn(e){return e.outlet||oe}function fl(e){if(!e)return null;if(e.routeConfig?._injector)return e.routeConfig._injector;for(let n=e.parent;n;n=n.parent){const t=n.routeConfig;if(t?._loadedInjector)return t._loadedInjector;if(t?._injector)return t._injector}return null}class Z3{constructor(n,t,i,r,o){this.routeReuseStrategy=n,this.futureState=t,this.currState=i,this.forwardEvent=r,this.inputBindingEnabled=o}activate(n){const t=this.futureState._root,i=this.currState?this.currState._root:null;this.deactivateChildRoutes(t,i,n),fm(this.futureState.root),this.activateChildRoutes(t,i,n)}deactivateChildRoutes(n,t,i){const r=gs(t);n.children.forEach(o=>{const s=o.value.outlet;this.deactivateRoutes(o,r[s],i),delete r[s]}),Object.values(r).forEach(o=>{this.deactivateRouteAndItsChildren(o,i)})}deactivateRoutes(n,t,i){const r=n.value,o=t?t.value:null;if(r===o)if(r.component){const s=i.getContext(r.outlet);s&&this.deactivateChildRoutes(n,t,s.children)}else this.deactivateChildRoutes(n,t,i);else o&&this.deactivateRouteAndItsChildren(t,i)}deactivateRouteAndItsChildren(n,t){n.value.component&&this.routeReuseStrategy.shouldDetach(n.value.snapshot)?this.detachAndStoreRouteSubtree(n,t):this.deactivateRouteAndOutlet(n,t)}detachAndStoreRouteSubtree(n,t){const i=t.getContext(n.value.outlet),r=i&&n.value.component?i.children:t,o=gs(n);for(const s of Object.keys(o))this.deactivateRouteAndItsChildren(o[s],r);if(i&&i.outlet){const s=i.outlet.detach(),a=i.children.onOutletDeactivated();this.routeReuseStrategy.store(n.value.snapshot,{componentRef:s,route:n,contexts:a})}}deactivateRouteAndOutlet(n,t){const i=t.getContext(n.value.outlet),r=i&&n.value.component?i.children:t,o=gs(n);for(const s of Object.keys(o))this.deactivateRouteAndItsChildren(o[s],r);i&&(i.outlet&&(i.outlet.deactivate(),i.children.onOutletDeactivated()),i.attachRef=null,i.route=null)}activateChildRoutes(n,t,i){const r=gs(t);n.children.forEach(o=>{this.activateRoutes(o,r[o.value.outlet],i),this.forwardEvent(new P3(o.value.snapshot))}),n.children.length&&this.forwardEvent(new A3(n.value.snapshot))}activateRoutes(n,t,i){const r=n.value,o=t?t.value:null;if(fm(r),r===o)if(r.component){const s=i.getOrCreateContext(r.outlet);this.activateChildRoutes(n,t,s.children)}else this.activateChildRoutes(n,t,i);else if(r.component){const s=i.getOrCreateContext(r.outlet);if(this.routeReuseStrategy.shouldAttach(r.snapshot)){const a=this.routeReuseStrategy.retrieve(r.snapshot);this.routeReuseStrategy.store(r.snapshot,null),s.children.onOutletReAttached(a.contexts),s.attachRef=a.componentRef,s.route=a.route.value,s.outlet&&s.outlet.attach(a.componentRef,a.route.value),fm(a.route.value),this.activateChildRoutes(n,null,s.children)}else{const a=fl(r.snapshot);s.attachRef=null,s.route=r,s.injector=a,s.outlet&&s.outlet.activateWith(r,s.injector),this.activateChildRoutes(n,null,s.children)}}else this.activateChildRoutes(n,null,i)}}class lT{constructor(n){this.path=n,this.route=this.path[this.path.length-1]}}class ud{constructor(n,t){this.component=n,this.route=t}}function J3(e,n,t){const i=e._root;return hl(i,n?n._root:null,t,[i.value])}function ms(e,n){const t=Symbol(),i=n.get(e,t);return i===t?"function"!=typeof e||function aI(e){return null!==Wl(e)}(e)?n.get(e):e:i}function hl(e,n,t,i,r={canDeactivateChecks:[],canActivateChecks:[]}){const o=gs(n);return e.children.forEach(s=>{(function Q3(e,n,t,i,r={canDeactivateChecks:[],canActivateChecks:[]}){const o=e.value,s=n?n.value:null,a=t?t.getContext(e.value.outlet):null;if(s&&o.routeConfig===s.routeConfig){const l=function K3(e,n,t){if("function"==typeof t)return t(e,n);switch(t){case"pathParamsChange":return!jr(e.url,n.url);case"pathParamsOrQueryParamsChange":return!jr(e.url,n.url)||!gi(e.queryParams,n.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!hm(e,n)||!gi(e.queryParams,n.queryParams);default:return!hm(e,n)}}(s,o,o.routeConfig.runGuardsAndResolvers);l?r.canActivateChecks.push(new lT(i)):(o.data=s.data,o._resolvedData=s._resolvedData),hl(e,n,o.component?a?a.children:null:t,i,r),l&&a&&a.outlet&&a.outlet.isActivated&&r.canDeactivateChecks.push(new ud(a.outlet.component,s))}else s&&pl(n,a,r),r.canActivateChecks.push(new lT(i)),hl(e,null,o.component?a?a.children:null:t,i,r)})(s,o[s.value.outlet],t,i.concat([s.value]),r),delete o[s.value.outlet]}),Object.entries(o).forEach(([s,a])=>pl(a,t.getContext(s),r)),r}function pl(e,n,t){const i=gs(e),r=e.value;Object.entries(i).forEach(([o,s])=>{pl(s,r.component?n?n.children.getContext(o):null:n,t)}),t.canDeactivateChecks.push(new ud(r.component&&n&&n.outlet&&n.outlet.isActivated?n.outlet.component:null,r))}function gl(e){return"function"==typeof e}function cT(e){return e instanceof Qu||"EmptyError"===e?.name}const dd=Symbol("INITIAL_VALUE");function _s(){return wn(e=>Kg(e.map(n=>n.pipe(xt(1),function SE(...e){const n=Vs(e);return qe((t,i)=>{(n?el(e,t,n):el(e,t)).subscribe(i)})}(dd)))).pipe(ae(n=>{for(const t of n)if(!0!==t){if(t===dd)return dd;if(!1===t||t instanceof hs)return t}return!0}),vt(n=>n!==dd),xt(1)))}function uT(e){return function Fl(...e){return Ll(e)}(wt(n=>{if(Hr(n))throw rT(0,n)}),ae(n=>!0===n))}class fd{constructor(n){this.segmentGroup=n||null}}class dT{constructor(n){this.urlTree=n}}function vs(e){return tl(new fd(e))}function fT(e){return tl(new dT(e))}class yH{constructor(n,t){this.urlSerializer=n,this.urlTree=t}noMatchError(n){return new R(4002,!1)}lineralizeSegments(n,t){let i=[],r=t.root;for(;;){if(i=i.concat(r.segments),0===r.numberOfChildren)return J(i);if(r.numberOfChildren>1||!r.children[oe])return tl(new R(4e3,!1));r=r.children[oe]}}applyRedirectCommands(n,t,i){return this.applyRedirectCreateUrlTree(t,this.urlSerializer.parse(t),n,i)}applyRedirectCreateUrlTree(n,t,i,r){const o=this.createSegmentGroup(n,t.root,i,r);return new hs(o,this.createQueryParams(t.queryParams,this.urlTree.queryParams),t.fragment)}createQueryParams(n,t){const i={};return Object.entries(n).forEach(([r,o])=>{if("string"==typeof o&&o.startsWith(":")){const a=o.substring(1);i[r]=t[a]}else i[r]=o}),i}createSegmentGroup(n,t,i,r){const o=this.createSegments(n,t.segments,i,r);let s={};return Object.entries(t.children).forEach(([a,l])=>{s[a]=this.createSegmentGroup(n,l,i,r)}),new ke(o,s)}createSegments(n,t,i,r){return t.map(o=>o.path.startsWith(":")?this.findPosParam(n,o,r):this.findOrReturn(o,i))}findPosParam(n,t,i){const r=i[t.path.substring(1)];if(!r)throw new R(4001,!1);return r}findOrReturn(n,t){let i=0;for(const r of t){if(r.path===n.path)return t.splice(i),r;i++}return n}}const mm={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function bH(e,n,t,i,r){const o=_m(e,n,t);return o.matched?(i=function U3(e,n){return e.providers&&!e._injector&&(e._injector=yp(e.providers,n,`Route: ${e.path}`)),e._injector??n}(n,i),function mH(e,n,t,i){const r=n.canMatch;return r&&0!==r.length?J(r.map(s=>{const a=ms(s,e);return ar(function oH(e){return e&&gl(e.canMatch)}(a)?a.canMatch(n,t):e.runInContext(()=>a(n,t)))})).pipe(_s(),uT()):J(!0)}(i,n,t).pipe(ae(s=>!0===s?o:{...mm}))):J(o)}function _m(e,n,t){if(""===n.path)return"full"===n.pathMatch&&(e.hasChildren()||t.length>0)?{...mm}:{matched:!0,consumedSegments:[],remainingSegments:t,parameters:{},positionalParamSegments:{}};const r=(n.matcher||Qj)(t,e,n);if(!r)return{...mm};const o={};Object.entries(r.posParams??{}).forEach(([a,l])=>{o[a]=l.path});const s=r.consumed.length>0?{...o,...r.consumed[r.consumed.length-1].parameters}:o;return{matched:!0,consumedSegments:r.consumed,remainingSegments:t.slice(r.consumed.length),parameters:s,positionalParamSegments:r.posParams??{}}}function hT(e,n,t,i){return t.length>0&&function CH(e,n,t){return t.some(i=>hd(e,n,i)&&Jn(i)!==oe)}(e,t,i)?{segmentGroup:new ke(n,wH(i,new ke(t,e.children))),slicedSegments:[]}:0===t.length&&function EH(e,n,t){return t.some(i=>hd(e,n,i))}(e,t,i)?{segmentGroup:new ke(e.segments,DH(e,0,t,i,e.children)),slicedSegments:t}:{segmentGroup:new ke(e.segments,e.children),slicedSegments:t}}function DH(e,n,t,i,r){const o={};for(const s of i)if(hd(e,t,s)&&!r[Jn(s)]){const a=new ke([],{});o[Jn(s)]=a}return{...r,...o}}function wH(e,n){const t={};t[oe]=n;for(const i of e)if(""===i.path&&Jn(i)!==oe){const r=new ke([],{});t[Jn(i)]=r}return t}function hd(e,n,t){return(!(e.hasChildren()||n.length>0)||"full"!==t.pathMatch)&&""===t.path}class IH{constructor(n,t,i,r,o,s,a){this.injector=n,this.configLoader=t,this.rootComponentType=i,this.config=r,this.urlTree=o,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.allowRedirects=!0,this.applyRedirects=new yH(this.urlSerializer,this.urlTree)}noMatchError(n){return new R(4002,!1)}recognize(){const n=hT(this.urlTree.root,[],[],this.config).segmentGroup;return this.processSegmentGroup(this.injector,this.config,n,oe).pipe(Br(t=>{if(t instanceof dT)return this.allowRedirects=!1,this.urlTree=t.urlTree,this.match(t.urlTree);throw t instanceof fd?this.noMatchError(t):t}),ae(t=>{const i=new ld([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,{},oe,this.rootComponentType,null,{}),r=new Pi(i,t),o=new eT("",r),s=function v3(e,n,t=null,i=null){return $E(HE(e),n,t,i)}(i,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,o.url=this.urlSerializer.serialize(s),this.inheritParamsAndData(o._root),{state:o,tree:s}}))}match(n){return this.processSegmentGroup(this.injector,this.config,n.root,oe).pipe(Br(i=>{throw i instanceof fd?this.noMatchError(i):i}))}inheritParamsAndData(n){const t=n.value,i=KE(t,this.paramsInheritanceStrategy);t.params=Object.freeze(i.params),t.data=Object.freeze(i.data),n.children.forEach(r=>this.inheritParamsAndData(r))}processSegmentGroup(n,t,i,r){return 0===i.segments.length&&i.hasChildren()?this.processChildren(n,t,i):this.processSegment(n,t,i,i.segments,r,!0)}processChildren(n,t,i){const r=[];for(const o of Object.keys(i.children))"primary"===o?r.unshift(o):r.push(o);return pt(r).pipe(ls(o=>{const s=i.children[o],a=function q3(e,n){const t=e.filter(i=>Jn(i)===n);return t.push(...e.filter(i=>Jn(i)!==n)),t}(t,o);return this.processSegmentGroup(n,a,s,o)}),function Zj(e,n){return qe(function Yj(e,n,t,i,r){return(o,s)=>{let a=t,l=n,c=0;o.subscribe(Ve(s,u=>{const d=c++;l=a?e(l,u,d):(a=!0,u),i&&s.next(l)},r&&(()=>{a&&s.next(l),s.complete()})))}}(e,n,arguments.length>=2,!0))}((o,s)=>(o.push(...s),o)),Ku(null),function Jj(e,n){const t=arguments.length>=2;return i=>i.pipe(e?vt((r,o)=>e(r,o,i)):kn,tm(1),t?Ku(n):ME(()=>new Qu))}(),ht(o=>{if(null===o)return vs(i);const s=pT(o);return function NH(e){e.sort((n,t)=>n.value.outlet===oe?-1:t.value.outlet===oe?1:n.value.outlet.localeCompare(t.value.outlet))}(s),J(s)}))}processSegment(n,t,i,r,o,s){return pt(t).pipe(ls(a=>this.processSegmentAgainstRoute(a._injector??n,t,a,i,r,o,s).pipe(Br(l=>{if(l instanceof fd)return J(null);throw l}))),Vr(a=>!!a),Br(a=>{if(cT(a))return function SH(e,n,t){return 0===n.length&&!e.children[t]}(i,r,o)?J([]):vs(i);throw a}))}processSegmentAgainstRoute(n,t,i,r,o,s,a){return function TH(e,n,t,i){return!!(Jn(e)===i||i!==oe&&hd(n,t,e))&&("**"===e.path||_m(n,e,t).matched)}(i,r,o,s)?void 0===i.redirectTo?this.matchSegmentAgainstRoute(n,r,i,o,s,a):a&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(n,r,t,i,o,s):vs(r):vs(r)}expandSegmentAgainstRouteUsingRedirect(n,t,i,r,o,s){return"**"===r.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(n,i,r,s):this.expandRegularSegmentAgainstRouteUsingRedirect(n,t,i,r,o,s)}expandWildCardWithParamsAgainstRouteUsingRedirect(n,t,i,r){const o=this.applyRedirects.applyRedirectCommands([],i.redirectTo,{});return i.redirectTo.startsWith("/")?fT(o):this.applyRedirects.lineralizeSegments(i,o).pipe(ht(s=>{const a=new ke(s,{});return this.processSegment(n,t,a,s,r,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(n,t,i,r,o,s){const{matched:a,consumedSegments:l,remainingSegments:c,positionalParamSegments:u}=_m(t,r,o);if(!a)return vs(t);const d=this.applyRedirects.applyRedirectCommands(l,r.redirectTo,u);return r.redirectTo.startsWith("/")?fT(d):this.applyRedirects.lineralizeSegments(r,d).pipe(ht(h=>this.processSegment(n,i,t,h.concat(c),s,!1)))}matchSegmentAgainstRoute(n,t,i,r,o,s){let a;if("**"===i.path){const l=r.length>0?OE(r).parameters:{};a=J({snapshot:new ld(r,l,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,gT(i),Jn(i),i.component??i._loadedComponent??null,i,mT(i)),consumedSegments:[],remainingSegments:[]}),t.children={}}else a=bH(t,i,r,n).pipe(ae(({matched:l,consumedSegments:c,remainingSegments:u,parameters:d})=>l?{snapshot:new ld(c,d,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,gT(i),Jn(i),i.component??i._loadedComponent??null,i,mT(i)),consumedSegments:c,remainingSegments:u}:null));return a.pipe(wn(l=>null===l?vs(t):this.getChildConfig(n=i._injector??n,i,r).pipe(wn(({routes:c})=>{const u=i._loadedInjector??n,{snapshot:d,consumedSegments:h,remainingSegments:_}=l,{segmentGroup:v,slicedSegments:y}=hT(t,h,_,c);if(0===y.length&&v.hasChildren())return this.processChildren(u,c,v).pipe(ae(M=>null===M?null:[new Pi(d,M)]));if(0===c.length&&0===y.length)return J([new Pi(d,[])]);const D=Jn(i)===o;return this.processSegment(u,c,v,y,D?oe:o,!0).pipe(ae(M=>[new Pi(d,M)]))}))))}getChildConfig(n,t,i){return t.children?J({routes:t.children,injector:n}):t.loadChildren?void 0!==t._loadedRoutes?J({routes:t._loadedRoutes,injector:t._loadedInjector}):function gH(e,n,t,i){const r=n.canLoad;return void 0===r||0===r.length?J(!0):J(r.map(s=>{const a=ms(s,e);return ar(function tH(e){return e&&gl(e.canLoad)}(a)?a.canLoad(n,t):e.runInContext(()=>a(n,t)))})).pipe(_s(),uT())}(n,t,i).pipe(ht(r=>r?this.configLoader.loadChildren(n,t).pipe(wt(o=>{t._loadedRoutes=o.routes,t._loadedInjector=o.injector})):function vH(e){return tl(oT(!1,3))}())):J({routes:[],injector:n})}}function OH(e){const n=e.value.routeConfig;return n&&""===n.path}function pT(e){const n=[],t=new Set;for(const i of e){if(!OH(i)){n.push(i);continue}const r=n.find(o=>i.value.routeConfig===o.value.routeConfig);void 0!==r?(r.children.push(...i.children),t.add(r)):n.push(i)}for(const i of t){const r=pT(i.children);n.push(new Pi(i.value,r))}return n.filter(i=>!t.has(i))}function gT(e){return e.data||{}}function mT(e){return e.resolve||{}}function AH(e,n){return ht(t=>{const{targetSnapshot:i,guards:{canActivateChecks:r}}=t;if(!r.length)return J(t);let o=0;return pt(r).pipe(ls(s=>function RH(e,n,t,i){const r=e.routeConfig,o=e._resolve;return void 0!==r?.title&&!_T(r)&&(o[nl]=r.title),function PH(e,n,t,i){const r=function kH(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e)]}(e);if(0===r.length)return J({});const o={};return pt(r).pipe(ht(s=>function FH(e,n,t,i){const r=fl(n)??i,o=ms(e,r);return ar(o.resolve?o.resolve(n,t):r.runInContext(()=>o(n,t)))}(e[s],n,t,i).pipe(Vr(),wt(a=>{o[s]=a}))),tm(1),function IE(e){return ae(()=>e)}(o),Br(s=>cT(s)?bn:tl(s)))}(o,e,n,i).pipe(ae(s=>(e._resolvedData=s,e.data=KE(e,t).resolve,r&&_T(r)&&(e.data[nl]=r.title),null)))}(s.route,i,e,n)),wt(()=>o++),tm(1),ht(s=>o===r.length?J(t):bn))})}function _T(e){return"string"==typeof e.title||null===e.title}function vm(e){return wn(n=>{const t=e(n);return t?pt(t).pipe(ae(()=>n)):J(n)})}const ys=new z("ROUTES");let ym=(()=>{class e{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=F(xD)}loadComponent(t){if(this.componentLoaders.get(t))return this.componentLoaders.get(t);if(t._loadedComponent)return J(t._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(t);const i=ar(t.loadComponent()).pipe(ae(vT),wt(o=>{this.onLoadEndListener&&this.onLoadEndListener(t),t._loadedComponent=o}),Ga(()=>{this.componentLoaders.delete(t)})),r=new TE(i,()=>new Ee).pipe(em());return this.componentLoaders.set(t,r),r}loadChildren(t,i){if(this.childrenLoaders.get(i))return this.childrenLoaders.get(i);if(i._loadedRoutes)return J({routes:i._loadedRoutes,injector:i._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(i);const o=function LH(e,n,t,i){return ar(e.loadChildren()).pipe(ae(vT),ht(r=>r instanceof Hb||Array.isArray(r)?J(r):pt(n.compileModuleAsync(r))),ae(r=>{i&&i(e);let o,s,a=!1;return Array.isArray(r)?(s=r,!0):(o=r.create(t).injector,s=o.get(ys,[],{optional:!0,self:!0}).flat()),{routes:s.map(gm),injector:o}}))}(i,this.compiler,t,this.onLoadEndListener).pipe(Ga(()=>{this.childrenLoaders.delete(i)})),s=new TE(o,()=>new Ee).pipe(em());return this.childrenLoaders.set(i,s),s}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function vT(e){return function VH(e){return e&&"object"==typeof e&&"default"in e}(e)?e.default:e}let pd=(()=>{class e{get hasRequestedNavigation(){return 0!==this.navigationId}constructor(){this.currentNavigation=null,this.currentTransition=null,this.lastSuccessfulNavigation=null,this.events=new Ee,this.transitionAbortSubject=new Ee,this.configLoader=F(ym),this.environmentInjector=F(zt),this.urlSerializer=F(rl),this.rootContexts=F(ul),this.inputBindingEnabled=null!==F(cd,{optional:!0}),this.navigationId=0,this.afterPreactivation=()=>J(void 0),this.rootComponentType=null,this.configLoader.onLoadEndListener=r=>this.events.next(new O3(r)),this.configLoader.onLoadStartListener=r=>this.events.next(new N3(r))}complete(){this.transitions?.complete()}handleNavigationRequest(t){const i=++this.navigationId;this.transitions?.next({...this.transitions.value,...t,id:i})}setupNavigations(t,i,r){return this.transitions=new Dn({id:0,currentUrlTree:i,currentRawUrl:i,currentBrowserUrl:i,extractedUrl:t.urlHandlingStrategy.extract(i),urlAfterRedirects:t.urlHandlingStrategy.extract(i),rawUrl:i,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:ll,restoredState:null,currentSnapshot:r.snapshot,targetSnapshot:null,currentRouterState:r,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe(vt(o=>0!==o.id),ae(o=>({...o,extractedUrl:t.urlHandlingStrategy.extract(o.rawUrl)})),wn(o=>{this.currentTransition=o;let s=!1,a=!1;return J(o).pipe(wt(l=>{this.currentNavigation={id:l.id,initialUrl:l.rawUrl,extractedUrl:l.extractedUrl,trigger:l.source,extras:l.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null}}),wn(l=>{const c=l.currentBrowserUrl.toString(),u=!t.navigated||l.extractedUrl.toString()!==c||c!==l.currentUrlTree.toString();if(!u&&"reload"!==(l.extras.onSameUrlNavigation??t.onSameUrlNavigation)){const h="";return this.events.next(new ps(l.id,this.urlSerializer.serialize(l.rawUrl),h,0)),l.resolve(null),bn}if(t.urlHandlingStrategy.shouldProcessUrl(l.rawUrl))return J(l).pipe(wn(h=>{const _=this.transitions?.getValue();return this.events.next(new sd(h.id,this.urlSerializer.serialize(h.extractedUrl),h.source,h.restoredState)),_!==this.transitions?.getValue()?bn:Promise.resolve(h)}),function xH(e,n,t,i,r,o){return ht(s=>function MH(e,n,t,i,r,o,s="emptyOnly"){return new IH(e,n,t,i,r,s,o).recognize()}(e,n,t,i,s.extractedUrl,r,o).pipe(ae(({state:a,tree:l})=>({...s,targetSnapshot:a,urlAfterRedirects:l}))))}(this.environmentInjector,this.configLoader,this.rootComponentType,t.config,this.urlSerializer,t.paramsInheritanceStrategy),wt(h=>{o.targetSnapshot=h.targetSnapshot,o.urlAfterRedirects=h.urlAfterRedirects,this.currentNavigation={...this.currentNavigation,finalUrl:h.urlAfterRedirects};const _=new YE(h.id,this.urlSerializer.serialize(h.extractedUrl),this.urlSerializer.serialize(h.urlAfterRedirects),h.targetSnapshot);this.events.next(_)}));if(u&&t.urlHandlingStrategy.shouldProcessUrl(l.currentRawUrl)){const{id:h,extractedUrl:_,source:v,restoredState:y,extras:D}=l,M=new sd(h,this.urlSerializer.serialize(_),v,y);this.events.next(M);const C=QE(0,this.rootComponentType).snapshot;return this.currentTransition=o={...l,targetSnapshot:C,urlAfterRedirects:_,extras:{...D,skipLocationChange:!1,replaceUrl:!1}},J(o)}{const h="";return this.events.next(new ps(l.id,this.urlSerializer.serialize(l.extractedUrl),h,1)),l.resolve(null),bn}}),wt(l=>{const c=new T3(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects),l.targetSnapshot);this.events.next(c)}),ae(l=>(this.currentTransition=o={...l,guards:J3(l.targetSnapshot,l.currentSnapshot,this.rootContexts)},o)),function aH(e,n){return ht(t=>{const{targetSnapshot:i,currentSnapshot:r,guards:{canActivateChecks:o,canDeactivateChecks:s}}=t;return 0===s.length&&0===o.length?J({...t,guardsResult:!0}):function lH(e,n,t,i){return pt(e).pipe(ht(r=>function pH(e,n,t,i,r){const o=n&&n.routeConfig?n.routeConfig.canDeactivate:null;return o&&0!==o.length?J(o.map(a=>{const l=fl(n)??r,c=ms(a,l);return ar(function rH(e){return e&&gl(e.canDeactivate)}(c)?c.canDeactivate(e,n,t,i):l.runInContext(()=>c(e,n,t,i))).pipe(Vr())})).pipe(_s()):J(!0)}(r.component,r.route,t,n,i)),Vr(r=>!0!==r,!0))}(s,i,r,e).pipe(ht(a=>a&&function eH(e){return"boolean"==typeof e}(a)?function cH(e,n,t,i){return pt(n).pipe(ls(r=>el(function dH(e,n){return null!==e&&n&&n(new x3(e)),J(!0)}(r.route.parent,i),function uH(e,n){return null!==e&&n&&n(new R3(e)),J(!0)}(r.route,i),function hH(e,n,t){const i=n[n.length-1],o=n.slice(0,n.length-1).reverse().map(s=>function X3(e){const n=e.routeConfig?e.routeConfig.canActivateChild:null;return n&&0!==n.length?{node:e,guards:n}:null}(s)).filter(s=>null!==s).map(s=>EE(()=>J(s.guards.map(l=>{const c=fl(s.node)??t,u=ms(l,c);return ar(function iH(e){return e&&gl(e.canActivateChild)}(u)?u.canActivateChild(i,e):c.runInContext(()=>u(i,e))).pipe(Vr())})).pipe(_s())));return J(o).pipe(_s())}(e,r.path,t),function fH(e,n,t){const i=n.routeConfig?n.routeConfig.canActivate:null;if(!i||0===i.length)return J(!0);const r=i.map(o=>EE(()=>{const s=fl(n)??t,a=ms(o,s);return ar(function nH(e){return e&&gl(e.canActivate)}(a)?a.canActivate(n,e):s.runInContext(()=>a(n,e))).pipe(Vr())}));return J(r).pipe(_s())}(e,r.route,t))),Vr(r=>!0!==r,!0))}(i,o,e,n):J(a)),ae(a=>({...t,guardsResult:a})))})}(this.environmentInjector,l=>this.events.next(l)),wt(l=>{if(o.guardsResult=l.guardsResult,Hr(l.guardsResult))throw rT(0,l.guardsResult);const c=new S3(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects),l.targetSnapshot,!!l.guardsResult);this.events.next(c)}),vt(l=>!!l.guardsResult||(this.cancelNavigationTransition(l,"",3),!1)),vm(l=>{if(l.guards.canActivateChecks.length)return J(l).pipe(wt(c=>{const u=new M3(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(u)}),wn(c=>{let u=!1;return J(c).pipe(AH(t.paramsInheritanceStrategy,this.environmentInjector),wt({next:()=>u=!0,complete:()=>{u||this.cancelNavigationTransition(c,"",2)}}))}),wt(c=>{const u=new I3(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(u)}))}),vm(l=>{const c=u=>{const d=[];u.routeConfig?.loadComponent&&!u.routeConfig._loadedComponent&&d.push(this.configLoader.loadComponent(u.routeConfig).pipe(wt(h=>{u.component=h}),ae(()=>{})));for(const h of u.children)d.push(...c(h));return d};return Kg(c(l.targetSnapshot.root)).pipe(Ku(),xt(1))}),vm(()=>this.afterPreactivation()),ae(l=>{const c=function B3(e,n,t){const i=dl(e,n._root,t?t._root:void 0);return new XE(i,n)}(t.routeReuseStrategy,l.targetSnapshot,l.currentRouterState);return this.currentTransition=o={...l,targetRouterState:c},o}),wt(()=>{this.events.next(new am)}),((e,n,t,i)=>ae(r=>(new Z3(n,r.targetRouterState,r.currentRouterState,t,i).activate(e),r)))(this.rootContexts,t.routeReuseStrategy,l=>this.events.next(l),this.inputBindingEnabled),xt(1),wt({next:l=>{s=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new lr(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects))),t.titleStrategy?.updateTitle(l.targetRouterState.snapshot),l.resolve(!0)},complete:()=>{s=!0}}),et(this.transitionAbortSubject.pipe(wt(l=>{throw l}))),Ga(()=>{s||a||this.cancelNavigationTransition(o,"",1),this.currentNavigation?.id===o.id&&(this.currentNavigation=null)}),Br(l=>{if(a=!0,sT(l))this.events.next(new cl(o.id,this.urlSerializer.serialize(o.extractedUrl),l.message,l.cancellationCode)),function $3(e){return sT(e)&&Hr(e.url)}(l)?this.events.next(new lm(l.url)):o.resolve(!1);else{this.events.next(new ad(o.id,this.urlSerializer.serialize(o.extractedUrl),l,o.targetSnapshot??void 0));try{o.resolve(t.errorHandler(l))}catch(c){o.reject(c)}}return bn}))}))}cancelNavigationTransition(t,i,r){const o=new cl(t.id,this.urlSerializer.serialize(t.extractedUrl),i,r);this.events.next(o),t.resolve(!1)}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function yT(e){return e!==ll}let bT=(()=>{class e{buildTitle(t){let i,r=t.root;for(;void 0!==r;)i=this.getResolvedTitleForRoute(r)??i,r=r.children.find(o=>o.outlet===oe);return i}getResolvedTitleForRoute(t){return t.data[nl]}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:function(){return F(BH)},providedIn:"root"})}return e})(),BH=(()=>{class e extends bT{constructor(t){super(),this.title=t}updateTitle(t){const i=this.buildTitle(t);void 0!==i&&this.title.setTitle(i)}static#e=this.\u0275fac=function(i){return new(i||e)(H(Kw))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),jH=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:function(){return F($H)},providedIn:"root"})}return e})();class HH{shouldDetach(n){return!1}store(n,t){}shouldAttach(n){return!1}retrieve(n){return null}shouldReuseRoute(n,t){return n.routeConfig===t.routeConfig}}let $H=(()=>{class e extends HH{static#e=this.\u0275fac=function(){let t;return function(r){return(t||(t=st(e)))(r||e)}}();static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const gd=new z("",{providedIn:"root",factory:()=>({})});let UH=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:function(){return F(GH)},providedIn:"root"})}return e})(),GH=(()=>{class e{shouldProcessUrl(t){return!0}extract(t){return t}merge(t,i){return t}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var ml=function(e){return e[e.COMPLETE=0]="COMPLETE",e[e.FAILED=1]="FAILED",e[e.REDIRECTING=2]="REDIRECTING",e}(ml||{});function DT(e,n){e.events.pipe(vt(t=>t instanceof lr||t instanceof cl||t instanceof ad||t instanceof ps),ae(t=>t instanceof lr||t instanceof ps?ml.COMPLETE:t instanceof cl&&(0===t.code||1===t.code)?ml.REDIRECTING:ml.FAILED),vt(t=>t!==ml.REDIRECTING),xt(1)).subscribe(()=>{n()})}function zH(e){throw e}function WH(e,n,t){return n.parse("/")}const qH={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},YH={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let Rn=(()=>{class e{get navigationId(){return this.navigationTransitions.navigationId}get browserPageId(){return"computed"!==this.canceledNavigationResolution?this.currentPageId:this.location.getState()?.\u0275routerPageId??this.currentPageId}get events(){return this._events}constructor(){this.disposed=!1,this.currentPageId=0,this.console=F(OD),this.isNgZoneEnabled=!1,this._events=new Ee,this.options=F(gd,{optional:!0})||{},this.pendingTasks=F(hu),this.errorHandler=this.options.errorHandler||zH,this.malformedUriErrorHandler=this.options.malformedUriErrorHandler||WH,this.navigated=!1,this.lastSuccessfulId=-1,this.urlHandlingStrategy=F(UH),this.routeReuseStrategy=F(jH),this.titleStrategy=F(bT),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.config=F(ys,{optional:!0})?.flat()??[],this.navigationTransitions=F(pd),this.urlSerializer=F(rl),this.location=F(Kp),this.componentInputBindingEnabled=!!F(cd,{optional:!0}),this.eventsSubscription=new nt,this.isNgZoneEnabled=F(fe)instanceof fe&&fe.isInAngularZone(),this.resetConfig(this.config),this.currentUrlTree=new hs,this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.routerState=QE(0,null),this.navigationTransitions.setupNavigations(this,this.currentUrlTree,this.routerState).subscribe(t=>{this.lastSuccessfulId=t.id,this.currentPageId=this.browserPageId},t=>{this.console.warn(`Unhandled Navigation Error: ${t}`)}),this.subscribeToNavigationEvents()}subscribeToNavigationEvents(){const t=this.navigationTransitions.events.subscribe(i=>{try{const{currentTransition:r}=this.navigationTransitions;if(null===r)return void(wT(i)&&this._events.next(i));if(i instanceof sd)yT(r.source)&&(this.browserUrlTree=r.extractedUrl);else if(i instanceof ps)this.rawUrlTree=r.rawUrl;else if(i instanceof YE){if("eager"===this.urlUpdateStrategy){if(!r.extras.skipLocationChange){const o=this.urlHandlingStrategy.merge(r.urlAfterRedirects,r.rawUrl);this.setBrowserUrl(o,r)}this.browserUrlTree=r.urlAfterRedirects}}else if(i instanceof am)this.currentUrlTree=r.urlAfterRedirects,this.rawUrlTree=this.urlHandlingStrategy.merge(r.urlAfterRedirects,r.rawUrl),this.routerState=r.targetRouterState,"deferred"===this.urlUpdateStrategy&&(r.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,r),this.browserUrlTree=r.urlAfterRedirects);else if(i instanceof cl)0!==i.code&&1!==i.code&&(this.navigated=!0),(3===i.code||2===i.code)&&this.restoreHistory(r);else if(i instanceof lm){const o=this.urlHandlingStrategy.merge(i.url,r.currentRawUrl),s={skipLocationChange:r.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy||yT(r.source)};this.scheduleNavigation(o,ll,null,s,{resolve:r.resolve,reject:r.reject,promise:r.promise})}i instanceof ad&&this.restoreHistory(r,!0),i instanceof lr&&(this.navigated=!0),wT(i)&&this._events.next(i)}catch(r){this.navigationTransitions.transitionAbortSubject.next(r)}});this.eventsSubscription.add(t)}resetRootComponentType(t){this.routerState.root.component=t,this.navigationTransitions.rootComponentType=t}initialNavigation(){if(this.setUpLocationChangeListener(),!this.navigationTransitions.hasRequestedNavigation){const t=this.location.getState();this.navigateToSyncWithBrowser(this.location.path(!0),ll,t)}}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(t=>{const i="popstate"===t.type?"popstate":"hashchange";"popstate"===i&&setTimeout(()=>{this.navigateToSyncWithBrowser(t.url,i,t.state)},0)}))}navigateToSyncWithBrowser(t,i,r){const o={replaceUrl:!0},s=r?.navigationId?r:null;if(r){const l={...r};delete l.navigationId,delete l.\u0275routerPageId,0!==Object.keys(l).length&&(o.state=l)}const a=this.parseUrl(t);this.scheduleNavigation(a,i,s,o)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(t){this.config=t.map(gm),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(t,i={}){const{relativeTo:r,queryParams:o,fragment:s,queryParamsHandling:a,preserveFragment:l}=i,c=l?this.currentUrlTree.fragment:s;let d,u=null;switch(a){case"merge":u={...this.currentUrlTree.queryParams,...o};break;case"preserve":u=this.currentUrlTree.queryParams;break;default:u=o||null}null!==u&&(u=this.removeEmptyProps(u));try{d=HE(r?r.snapshot:this.routerState.snapshot.root)}catch{("string"!=typeof t[0]||!t[0].startsWith("/"))&&(t=[]),d=this.currentUrlTree.root}return $E(d,t,u,c??null)}navigateByUrl(t,i={skipLocationChange:!1}){const r=Hr(t)?t:this.parseUrl(t),o=this.urlHandlingStrategy.merge(r,this.rawUrlTree);return this.scheduleNavigation(o,ll,null,i)}navigate(t,i={skipLocationChange:!1}){return function ZH(e){for(let n=0;n{const o=t[r];return null!=o&&(i[r]=o),i},{})}scheduleNavigation(t,i,r,o,s){if(this.disposed)return Promise.resolve(!1);let a,l,c;s?(a=s.resolve,l=s.reject,c=s.promise):c=new Promise((d,h)=>{a=d,l=h});const u=this.pendingTasks.add();return DT(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(u))}),this.navigationTransitions.handleNavigationRequest({source:i,restoredState:r,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,currentBrowserUrl:this.browserUrlTree,rawUrl:t,extras:o,resolve:a,reject:l,promise:c,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),c.catch(d=>Promise.reject(d))}setBrowserUrl(t,i){const r=this.urlSerializer.serialize(t);if(this.location.isCurrentPathEqualTo(r)||i.extras.replaceUrl){const s={...i.extras.state,...this.generateNgRouterState(i.id,this.browserPageId)};this.location.replaceState(r,"",s)}else{const o={...i.extras.state,...this.generateNgRouterState(i.id,this.browserPageId+1)};this.location.go(r,"",o)}}restoreHistory(t,i=!1){if("computed"===this.canceledNavigationResolution){const o=this.currentPageId-this.browserPageId;0!==o?this.location.historyGo(o):this.currentUrlTree===this.getCurrentNavigation()?.finalUrl&&0===o&&(this.resetState(t),this.browserUrlTree=t.currentUrlTree,this.resetUrlToCurrentUrlTree())}else"replace"===this.canceledNavigationResolution&&(i&&this.resetState(t),this.resetUrlToCurrentUrlTree())}resetState(t){this.routerState=t.currentRouterState,this.currentUrlTree=t.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,t.rawUrl)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(t,i){return"computed"===this.canceledNavigationResolution?{navigationId:t,\u0275routerPageId:i}:{navigationId:t}}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function wT(e){return!(e instanceof am||e instanceof lm)}class CT{}let QH=(()=>{class e{constructor(t,i,r,o,s){this.router=t,this.injector=r,this.preloadingStrategy=o,this.loader=s}setUpPreloading(){this.subscription=this.router.events.pipe(vt(t=>t instanceof lr),ls(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(t,i){const r=[];for(const o of i){o.providers&&!o._injector&&(o._injector=yp(o.providers,t,`Route: ${o.path}`));const s=o._injector??t,a=o._loadedInjector??s;(o.loadChildren&&!o._loadedRoutes&&void 0===o.canLoad||o.loadComponent&&!o._loadedComponent)&&r.push(this.preloadConfig(s,o)),(o.children||o._loadedRoutes)&&r.push(this.processRoutes(a,o.children??o._loadedRoutes))}return pt(r).pipe(lo())}preloadConfig(t,i){return this.preloadingStrategy.preload(i,()=>{let r;r=i.loadChildren&&void 0===i.canLoad?this.loader.loadChildren(t,i):J(null);const o=r.pipe(ht(s=>null===s?J(void 0):(i._loadedRoutes=s.routes,i._loadedInjector=s.injector,this.processRoutes(s.injector??t,s.routes))));return i.loadComponent&&!i._loadedComponent?pt([o,this.loader.loadComponent(i)]).pipe(lo()):o})}static#e=this.\u0275fac=function(i){return new(i||e)(H(Rn),H(xD),H(zt),H(CT),H(ym))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const Dm=new z("");let ET=(()=>{class e{constructor(t,i,r,o,s={}){this.urlSerializer=t,this.transitions=i,this.viewportScroller=r,this.zone=o,this.options=s,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},s.scrollPositionRestoration=s.scrollPositionRestoration||"disabled",s.anchorScrolling=s.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(t=>{t instanceof sd?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=t.navigationTrigger,this.restoredId=t.restoredState?t.restoredState.navigationId:0):t instanceof lr?(this.lastId=t.id,this.scheduleScrollEvent(t,this.urlSerializer.parse(t.urlAfterRedirects).fragment)):t instanceof ps&&0===t.code&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(t,this.urlSerializer.parse(t.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(t=>{t instanceof ZE&&(t.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(t.position):t.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(t.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(t,i){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new ZE(t,"popstate"===this.lastSource?this.store[this.restoredId]:null,i))})},0)})}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}static#e=this.\u0275fac=function(i){!function I1(){throw new Error("invalid")}()};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();function ki(e,n){return{\u0275kind:e,\u0275providers:n}}function ST(){const e=F(Nt);return n=>{const t=e.get(Ki);if(n!==t.components[0])return;const i=e.get(Rn),r=e.get(MT);1===e.get(wm)&&i.initialNavigation(),e.get(IT,null,ce.Optional)?.setUpPreloading(),e.get(Dm,null,ce.Optional)?.init(),i.resetRootComponentType(t.componentTypes[0]),r.closed||(r.next(),r.complete(),r.unsubscribe())}}const MT=new z("",{factory:()=>new Ee}),wm=new z("",{providedIn:"root",factory:()=>1}),IT=new z("");function n$(e){return ki(0,[{provide:IT,useExisting:QH},{provide:CT,useExisting:e}])}const NT=new z("ROUTER_FORROOT_GUARD"),r$=[Kp,{provide:rl,useClass:nm},Rn,ul,{provide:$r,useFactory:function TT(e){return e.routerState.root},deps:[Rn]},ym,[]];function o$(){return new VD("Router",Rn)}let OT=(()=>{class e{constructor(t){}static forRoot(t,i){return{ngModule:e,providers:[r$,[],{provide:ys,multi:!0,useValue:t},{provide:NT,useFactory:c$,deps:[[Rn,new gc,new mc]]},{provide:gd,useValue:i||{}},i?.useHash?{provide:Rr,useClass:YF}:{provide:Rr,useClass:pw},{provide:Dm,useFactory:()=>{const e=F(dV),n=F(fe),t=F(gd),i=F(pd),r=F(rl);return t.scrollOffset&&e.setOffset(t.scrollOffset),new ET(r,i,e,n,t)}},i?.preloadingStrategy?n$(i.preloadingStrategy).\u0275providers:[],{provide:VD,multi:!0,useFactory:o$},i?.initialNavigation?u$(i):[],i?.bindToComponentInputs?ki(8,[iT,{provide:cd,useExisting:iT}]).\u0275providers:[],[{provide:xT,useFactory:ST},{provide:$p,multi:!0,useExisting:xT}]]}}static forChild(t){return{ngModule:e,providers:[{provide:ys,multi:!0,useValue:t}]}}static#e=this.\u0275fac=function(i){return new(i||e)(H(NT,8))};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})();function c$(e){return"guarded"}function u$(e){return["disabled"===e.initialNavigation?ki(3,[{provide:Pp,multi:!0,useFactory:()=>{const n=F(Rn);return()=>{n.setUpLocationChangeListener()}}},{provide:wm,useValue:2}]).\u0275providers:[],"enabledBlocking"===e.initialNavigation?ki(2,[{provide:wm,useValue:0},{provide:Pp,multi:!0,deps:[Nt],useFactory:n=>{const t=n.get(WF,Promise.resolve());return()=>t.then(()=>new Promise(i=>{const r=n.get(Rn),o=n.get(MT);DT(r,()=>{i(!0)}),n.get(pd).afterPreactivation=()=>(i(!0),o.closed?J(void 0):o),r.initialNavigation()}))}}]).\u0275providers:[]]}const xT=new z("");class AT{constructor(n={}){this.term=n.term||""}}function f$(e,n){if(1&e&&(p(0,"li")(1,"a",12),m(2),f()()),2&e){const t=n.$implicit;g(1),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id)}}function h$(e,n){if(1&e&&(p(0,"div",25)(1,"ul"),I(2,f$,3,2,"li",4),f()()),2&e){const t=T(3).$implicit;g(2),S("ngForOf",t.inputs)}}function p$(e,n){if(1&e&&(p(0,"div")(1,"div",26)(2,"p",21)(3,"a",12),m(4),f(),p(5,"button",22),m(6),f()()()()),2&e){const t=n.$implicit;g(3),U("href","/explorer?term=",t.to,"",W),g(1),A(t.to),g(2),V("",t.value.toFixed(6)," YDA")}}function g$(e,n){if(1&e){const t=Ze();p(0,"div")(1,"div",11)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",12),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",12),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Fee: "),f(),m(15),f(),p(16,"div",13)(17,"div",14)(18,"p")(19,"strong"),m(20,"Inputs:"),f(),m(21),f(),p(22,"div",15)(23,"button",16),Z("click",function(){return Ue(t),Ge(T(3).toggleAccordion("inputsAccordion"))}),m(24,"Show Inputs"),f(),I(25,h$,3,1,"div",17),f(),p(26,"p")(27,"strong"),m(28,"Outputs:"),f(),m(29),f()()(),p(30,"div",18)(31,"div",19)(32,"div",20)(33,"p",21)(34,"a",12),m(35),f(),p(36,"button",22),m(37),f()()()(),p(38,"div",23),Ae(39,"img",24),f(),p(40,"div",19),I(41,p$,7,3,"div",4),f()()()()}if(2&e){const t=T(2).$implicit,i=T();g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V("",t.fee," YDA"),g(6),V(" ",t.inputs.length,""),g(4),S("ngIf","inputsAccordion"===i.showAccordion),g(4),V(" ",t.outputs.length,""),g(5),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to),g(2),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function m$(e,n){if(1&e&&(p(0,"div")(1,"div",11)(2,"p",27)(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",12),m(6),f()(),p(7,"p",27)(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",12),m(11),f()(),p(12,"p",27)(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",28)(17,"h4",29),m(18,"Relationship DATA:"),f(),p(19,"textarea",30),m(20),f()(),p(21,"div",31)(22,"div",26)(23,"button",32),m(24,"Newly created Address"),f(),p(25,"p",33)(26,"a",12),m(27),f()()()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship),g(6),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function _$(e,n){if(1&e&&(p(0,"div")(1,"div",11)(2,"p",27)(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",12),m(6),f()(),p(7,"p",27)(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",12),m(11),f()(),p(12,"p",27)(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",28)(17,"h4",29),m(18,"Relationship DATA:"),f(),p(19,"textarea",30),m(20),f()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship)}}function v$(e,n){if(1&e&&(p(0,"div")(1,"div",11)(2,"p",27)(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",12),m(6),f()(),p(7,"p",27)(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",12),m(11),f()(),p(12,"p",27)(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",28)(17,"h4",29),m(18,"Relationship DATA:"),f(),p(19,"textarea",30),m(20),f()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship)}}function y$(e,n){if(1&e&&(p(0,"tr",8)(1,"td",9),I(2,g$,42,12,"div",10),I(3,m$,28,8,"div",10),I(4,_$,21,6,"div",10),I(5,v$,21,6,"div",10),f()()),2&e){const t=T().$implicit,i=T();g(2),S("ngIf",i.transactionUtilsService.isTransferTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCreateIdentityTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isEncryptedMessageTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isMessageTransaction(t))}}const b$=function(e,n,t,i,r){return{coinbase:e,transfer:n,"create-identity":t,"encrypted-message":i,message:r}};function D$(e,n){if(1&e){const t=Ze();Zi(0),p(1,"tr",5),Z("click",function(){const o=Ue(t).$implicit;return Ge(T().toggleDetails(o))}),p(2,"td"),m(3),f(),p(4,"td",3),m(5),f(),p(6,"td"),m(7),f(),p(8,"td")(9,"button",6),m(10),f()()(),I(11,y$,6,4,"tr",7),Ji()}if(2&e){const t=n.$implicit,i=T();g(3),A(i.dateFormatService.formatTransactionTime(t.time)),g(2),A(t.hash),g(2),up("",t.inputs.length," / ",t.outputs.length,""),g(2),S("ngClass",ns(7,b$,i.transactionUtilsService.isCoinbaseTransaction(t),i.transactionUtilsService.isTransferTransaction(t),i.transactionUtilsService.isCreateIdentityTransaction(t),i.transactionUtilsService.isEncryptedMessageTransaction(t),i.transactionUtilsService.isMessageTransaction(t))),g(1),V(" ",i.transactionUtilsService.getTransactionType(t)," "),g(1),S("ngIf",i.expandedTransaction&&i.expandedTransaction.id===t.id)}}let RT=(()=>{class e{constructor(t,i,r){this.httpClient=t,this.dateFormatService=i,this.transactionUtilsService=r,this.mempoolData=[],this.expandedTransaction=null,this.showAccordion=null}ngOnInit(){this.httpClient.get("/explorer-mempool").subscribe(t=>{this.mempoolData=t.result||[]},t=>{console.error("Error fetching mempool data:",t)})}toggleDetails(t){this.expandedTransaction=this.expandedTransaction===t?null:t}toggleAccordion(t){this.showAccordion=this.showAccordion===t?null:t}getTotalValue(t){return t.reduce((i,r)=>i+r.value,0)}static#e=this.\u0275fac=function(i){return new(i||e)(b(Wa),b(Ju),b(Xu))};static#t=this.\u0275cmp=kt({type:e,selectors:[["app-mempool"]],decls:16,vars:1,consts:[[2,"text-transform","uppercase","margin","10px","margin-top","20px"],[1,"blocks-container"],[1,"blocks-table"],[1,"hash-column"],[4,"ngFor","ngForOf"],[3,"click"],[1,"transaction-type-button",3,"ngClass"],["class","expanded-row",4,"ngIf"],[1,"expanded-row"],["colspan","4"],[4,"ngIf"],[1,"transaction-details"],[3,"href"],[1,"row"],[1,"col-md-12"],[1,"input-section",2,"width","100%","display","inline-block","margin-top","5px"],[1,"accordion",3,"click"],["class","panel",4,"ngIf"],[1,"row","in-section",2,"margin-top","5px"],[1,"col-md-5"],[1,"transfer-in-info-box"],[2,"margin-left","10px"],[1,"transaction-value-button"],[1,"col-md-2","text-center"],["src","yadacoinstatic/explorer/assets/arrow-right.png","alt","Arrow Right",1,"arrow-icon"],[1,"panel"],[1,"transfer-out-info-box"],[1,"col-12"],[1,"relationship-data-box"],[2,"text-transform","uppercase","margin","10px"],["rows","4","readonly","",2,"width","98%"],[1,"in-section","col-md-5",2,"margin-top","5px"],[1,"transaction-type-button","create-identity"],[2,"margin-left","15px"]],template:function(i,r){1&i&&(p(0,"h2",0),m(1,"Mempool"),f(),p(2,"div",1)(3,"table",2)(4,"thead")(5,"tr")(6,"th"),m(7,"Time"),f(),p(8,"th",3),m(9,"Transaction Hash"),f(),p(10,"th"),m(11,"in/out"),f(),p(12,"th"),m(13,"Type"),f()()(),p(14,"tbody"),I(15,D$,12,13,"ng-container",4),f()()()),2&i&&(g(15),S("ngForOf",r.mempoolData))},dependencies:[xu,qn,Yn]})}return e})();function w$(e,n){1&e&&(p(0,"div",9)(1,"strong"),m(2,"Loading..."),f()())}function C$(e,n){if(1&e&&(p(0,"div",10)(1,"strong"),m(2,"Your Balance:"),f(),m(3),f()),2&e){const t=T();g(3),V(" ",t.balance," ")}}let PT=(()=>{class e{constructor(t){this.httpClient=t,this.address="",this.balance=0,this.loading=!1}getBalance(){this.address&&(this.loading=!0,this.httpClient.get(`/explorer-get-balance?address=${this.address}`).subscribe(t=>{this.balance=t.balance,this.loading=!1},t=>{alert("Something went wrong while fetching the balance."),this.loading=!1}))}static#e=this.\u0275fac=function(i){return new(i||e)(b(Wa))};static#t=this.\u0275cmp=kt({type:e,selectors:[["app-address-balance"]],decls:15,vars:5,consts:[[1,"button",2,"text-transform","uppercase","margin","10px","margin-top","20px"],[1,"address-balance-container"],["for","addressInput"],[2,"display","flex"],["id","addressInput","type","text",1,"search-container",3,"ngModel","ngModelChange"],[1,"button","btn-success",3,"disabled","click"],[2,"margin-top","10px"],["class","loading-message",4,"ngIf"],["class","result",4,"ngIf"],[1,"loading-message"],[1,"result"]],template:function(i,r){1&i&&(p(0,"h2",0),m(1,"Address Balance"),f(),p(2,"div",1)(3,"label",2),m(4,"Enter Your Wallet Address:"),f(),p(5,"div",3)(6,"input",4),Z("ngModelChange",function(s){return r.address=s}),f(),p(7,"button",5),Z("click",function(){return r.getBalance()}),m(8,"Get balance"),f()(),p(9,"div",6)(10,"strong"),m(11,"Your Address:"),f(),m(12),f(),I(13,w$,3,0,"div",7),I(14,C$,4,1,"div",8),f()),2&i&&(g(6),S("ngModel",r.address),g(1),S("disabled",r.loading),g(5),V(" ",r.address," "),g(1),S("ngIf",r.loading),g(1),S("ngIf",!r.loading&&null!==r.balance))},dependencies:[Yn,Ya,Rg,Zu],styles:[".address-balance-container[_ngcontent-%COMP%]{margin:10px;padding:20px;background-color:#424242;border-radius:5px;color:#fff}label[_ngcontent-%COMP%]{display:block;margin-bottom:10px}input[_ngcontent-%COMP%]{flex:1;padding:10px;margin-bottom:10px;margin-right:10px}button.btn-success[_ngcontent-%COMP%]{background-color:green;color:#fff;padding:8px 20px;border:none;cursor:pointer;transition:background .3s ease;border-radius:5px;height:40px}.loading-message[_ngcontent-%COMP%], .result[_ngcontent-%COMP%]{margin-top:10px}"]})}return e})();function E$(e,n){if(1&e&&(p(0,"li")(1,"a",11),m(2),f()()),2&e){const t=n.$implicit;g(1),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id)}}function T$(e,n){if(1&e&&(p(0,"div",27)(1,"ul"),I(2,E$,3,2,"li",4),f()()),2&e){const t=T(3).$implicit;g(2),S("ngForOf",t.inputs)}}function S$(e,n){if(1&e&&(p(0,"div")(1,"div",28)(2,"p",22)(3,"a",11),m(4),f(),p(5,"button",23),m(6),f()()()()),2&e){const t=n.$implicit;g(3),U("href","/explorer?term=",t.to,"",W),g(1),A(t.to),g(2),V("",t.value.toFixed(6)," YDA")}}function M$(e,n){if(1&e){const t=Ze();p(0,"div")(1,"div",15)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",11),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",11),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Fee: "),f(),m(15),f(),p(16,"p")(17,"strong"),m(18,"Inputs:"),f(),m(19),f(),p(20,"div",16)(21,"button",17),Z("click",function(){return Ue(t),Ge(T(5).toggleAccordion("inputsAccordion"))}),m(22,"Show Inputs"),f(),I(23,T$,3,1,"div",18),f(),p(24,"p")(25,"strong"),m(26,"Outputs:"),f(),m(27),f(),p(28,"div",19)(29,"div",20)(30,"div",21)(31,"p",22)(32,"a",11),m(33),f(),p(34,"button",23),m(35),f()()()(),p(36,"div",24),Ae(37,"img",25),f(),p(38,"div",26),I(39,S$,7,3,"div",4),f()()()()}if(2&e){const t=T(2).$implicit,i=T(3);g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.fee," YDA"),g(4),V(" ",t.inputs.length,""),g(4),S("ngIf","inputsAccordion"===i.showAccordion),g(4),V(" ",t.outputs.length,""),g(5),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to),g(2),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function I$(e,n){if(1&e&&(p(0,"div"),I(1,M$,40,12,"div",14),f()),2&e){const t=T().index,i=T(2).index,r=T();g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function N$(e,n){if(1&e&&(p(0,"div")(1,"div",28)(2,"p",22)(3,"a",11),m(4),f(),p(5,"button",23),m(6),f()()()()),2&e){const t=n.$implicit;g(3),U("href","/explorer?term=",t.to,"",W),g(1),A(t.to),g(2),V("",t.value.toFixed(6)," YDA")}}function O$(e,n){if(1&e&&(p(0,"div")(1,"div",15)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",11),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",11),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Outputs:"),f(),m(15),f(),p(16,"div",19)(17,"div",20)(18,"div",21)(19,"p",22),m(20," (Newly Generated Coins) "),p(21,"button",23),m(22),f()()()(),p(23,"div",24),Ae(24,"img",25),f(),p(25,"div",26),I(26,N$,7,3,"div",4),f()()()()),2&e){const t=T(2).$implicit,i=T(3);g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.outputs.length,""),g(7),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function x$(e,n){if(1&e&&(p(0,"div"),I(1,O$,27,7,"div",14),f()),2&e){const t=T().index,i=T(2).index,r=T();g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function A$(e,n){if(1&e&&(p(0,"div")(1,"div",15)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",11),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",11),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",29)(17,"h4",30),m(18,"Relationship DATA:"),f(),p(19,"textarea",31),m(20),f()(),p(21,"div",20)(22,"div",28)(23,"button",32),m(24,"Newly created Address"),f(),p(25,"p",33)(26,"a",11),m(27),f()()()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship),g(6),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function R$(e,n){if(1&e&&(p(0,"div"),I(1,A$,28,8,"div",14),f()),2&e){const t=T().index,i=T(2).index,r=T();g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function P$(e,n){if(1&e&&(p(0,"div")(1,"div",15)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",11),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",11),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",29)(17,"h4",30),m(18,"Relationship DATA:"),f(),p(19,"textarea",31),m(20),f()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship)}}function k$(e,n){if(1&e&&(p(0,"div"),I(1,P$,21,6,"div",14),f()),2&e){const t=T().index,i=T(2).index,r=T();g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function F$(e,n){if(1&e&&(p(0,"div")(1,"div",15)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",11),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",11),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",29)(17,"h4",30),m(18,"Relationship DATA:"),f(),p(19,"textarea",31),m(20),f()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship)}}function L$(e,n){if(1&e&&(p(0,"div"),I(1,F$,21,6,"div",14),f()),2&e){const t=T().index,i=T(2).index,r=T();g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}const V$=function(e,n,t,i,r){return{coinbase:e,transfer:n,"create-identity":t,"encrypted-message":i,message:r}};function B$(e,n){if(1&e){const t=Ze();p(0,"li")(1,"button",13),Z("click",function(){const o=Ue(t).index,s=T(2).index;return Ge(T().showTransactionDetails(s,o))}),m(2),f(),I(3,I$,2,1,"div",14),I(4,x$,2,1,"div",14),I(5,R$,2,1,"div",14),I(6,k$,2,1,"div",14),I(7,L$,2,1,"div",14),f()}if(2&e){const t=n.$implicit,i=T(3);g(1),S("ngClass",ns(7,V$,i.transactionUtilsService.isCoinbaseTransaction(t),i.transactionUtilsService.isTransferTransaction(t),i.transactionUtilsService.isCreateIdentityTransaction(t),i.transactionUtilsService.isEncryptedMessageTransaction(t),i.transactionUtilsService.isMessageTransaction(t))),g(1),V(" ",i.transactionUtilsService.getTransactionType(t)," "),g(1),S("ngIf",i.transactionUtilsService.isTransferTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCoinbaseTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCreateIdentityTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isEncryptedMessageTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isMessageTransaction(t))}}function j$(e,n){if(1&e&&(p(0,"tr",7)(1,"td",8)(2,"div",9)(3,"h2",10),m(4,"Block Details"),f(),p(5,"p")(6,"strong"),m(7,"Index: "),f(),p(8,"a",11),m(9),f()(),p(10,"p")(11,"strong"),m(12,"Time:"),f(),m(13),f(),p(14,"p")(15,"strong"),m(16,"Hash: "),f(),p(17,"a",11),m(18),f()(),p(19,"p")(20,"strong"),m(21,"Previous Hash: "),f(),p(22,"a",11),m(23),f()(),p(24,"p")(25,"strong"),m(26,"Nonce:"),f(),m(27),f(),p(28,"p")(29,"strong"),m(30,"Target:"),f(),m(31),f(),p(32,"p")(33,"strong"),m(34,"ID: "),f(),p(35,"a",11),m(36),f()(),p(37,"h3",12),m(38,"Transactions"),f(),p(39,"ul"),I(40,B$,8,13,"li",4),f()()()()),2&e){const t=T().$implicit,i=T();g(8),U("href","/explorer?term=",t.index,"",W),g(1),A(t.index),g(4),V(" ",i.dateFormatService.formatTransactionTime(t.time),""),g(4),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.prevHash,"",W),g(1),A(t.prevHash),g(4),V(" ",t.nonce,""),g(4),V(" ",t.target,""),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),S("ngForOf",t.transactions)}}function H$(e,n){if(1&e){const t=Ze();Zi(0),p(1,"tr",5),Z("click",function(){const o=Ue(t).$implicit;return Ge(T().toggleDetails(o))}),p(2,"td"),m(3),f(),p(4,"td"),m(5),f(),p(6,"td"),m(7),f(),p(8,"td",3),m(9),f(),p(10,"td"),m(11),f()(),I(12,j$,41,12,"tr",6),Ji()}if(2&e){const t=n.$implicit,i=T();g(3),A(t.index),g(2),A(i.dateFormatService.formatTransactionTime(t.time)),g(2),A(i.calculateAge(t.time)),g(2),A(t.hash),g(2),A(t.transactions.length),g(1),S("ngIf",t.expanded)}}let $$=(()=>{class e{constructor(t,i,r){this.httpClient=t,this.dateFormatService=i,this.transactionUtilsService=r,this.blocks=[],this.showBlockTransactions=!1,this.showBlockTransactionDetails=[],this.searching=!1,this.showAccordion=null}ngOnInit(){this.loadLatestBlocks()}loadLatestBlocks(){this.httpClient.get("/explorer-latest").subscribe(t=>{this.blocks=t.result||[],this.searching=!1},t=>{console.error("Error fetching latest blocks:",t),alert("Something went wrong while fetching latest blocks!")})}showBlockDetails(t){console.log("Clicked block:",t),this.selectedBlock=t}toggleDetails(t){if(t.expanded)t.expanded=!1;else{this.blocks.forEach(r=>r.expanded=!1),t.expanded=!0;const i=this.blocks.indexOf(t);this.showBlockTransactionDetails[i]=[],this.selectedBlock=t}}showTransactions(){this.showBlockTransactions=!this.showBlockTransactions,this.showBlockTransactionDetails=[]}showTransactionDetails(t,i){console.log("Clicked transaction:",t,i),this.showBlockTransactionDetails[t][i]=!this.showBlockTransactionDetails[t][i]}numberWithCommas(t){return t.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")}formatHashrate(t){return t<1e3?`${t.toFixed(0)} h/s`:t<1e6?`${(t/1e3).toFixed(2)} kh/s`:`${(t/1e6).toFixed(2)} mh/s`}calculateAge(t){const i=(new Date).getTime(),r=new Date(1e3*t).getTime();console.log("Current Time:",new Date(i)),console.log("Block Time:",new Date(r));const o=i-r,s=Math.floor(o/6e4);return console.log("Difference:",o),console.log("Age in Minutes:",s),s<60?`${s} minutes ago`:`${Math.floor(s/60)} hours ago`}getTotalValue(t){return t.reduce((i,r)=>i+r.value,0)}toggleAccordion(t){this.showAccordion=this.showAccordion===t?null:t}static#e=this.\u0275fac=function(i){return new(i||e)(b(Wa),b(Ju),b(Xu))};static#t=this.\u0275cmp=kt({type:e,selectors:[["app-latest-blocks"]],decls:18,vars:1,consts:[[2,"text-transform","uppercase","margin","10px","margin-top","20px"],[1,"blocks-container"],[1,"blocks-table"],[1,"hash-column"],[4,"ngFor","ngForOf"],[3,"click"],["class","expanded-row",4,"ngIf"],[1,"expanded-row"],["colspan","5"],[2,"word-break","break-word"],[2,"text-transform","uppercase","margin","20px","margin-top","10px"],[3,"href"],[2,"text-transform","uppercase","margin","20px","margin-top","20px"],[1,"transaction-type-button",3,"ngClass","click"],[4,"ngIf"],[1,"transaction-details"],[1,"input-section",2,"margin-top","5px"],[1,"accordion",3,"click"],["class","panel",4,"ngIf"],[1,"row","in-section"],[1,"in-section","col-md-5",2,"margin-top","5px"],[1,"transfer-in-info-box"],[2,"margin-left","10px"],[1,"transaction-value-button"],[1,"col-md-2","text-center"],["src","yadacoinstatic/explorer/assets/arrow-right.png","alt","Arrow Right",1,"arrow-icon"],[1,"out-section","col-md-5",2,"margin-top","5px"],[1,"panel"],[1,"transfer-out-info-box"],[1,"relationship-data-box"],[2,"text-transform","uppercase","margin","10px"],["rows","4","readonly","",2,"width","98%"],[1,"transaction-type-button","create-identity"],[2,"margin-left","15px"]],template:function(i,r){1&i&&(p(0,"h2",0),m(1,"Latest 10 Blocks"),f(),p(2,"div",1)(3,"table",2)(4,"thead")(5,"tr")(6,"th"),m(7,"Index"),f(),p(8,"th"),m(9,"Time"),f(),p(10,"th"),m(11,"Age"),f(),p(12,"th",3),m(13,"Hash"),f(),p(14,"th"),m(15,"Transactions"),f()()(),p(16,"tbody"),I(17,H$,13,6,"ng-container",4),f()()()),2&i&&(g(17),S("ngForOf",r.blocks))},dependencies:[xu,qn,Yn]})}return e})(),U$=(()=>{class e{transform(t){return"string"==typeof t?t.replace(/,/g," "):t.toString().replace(/,/g," ")}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275pipe=Bt({name:"replaceComma",type:e,pure:!0})}return e})();function G$(e,n){1&e&&(p(0,"div")(1,"h1",24),m(2,"This is the alpha version of the Yadacoin block explorer."),f(),p(3,"h1",24),m(4,"Most functions should be operational. Please feel free to report any bugs or provide suggestions."),f(),p(5,"h1",24),m(6,"Thank you!"),f()())}function z$(e,n){1&e&&(Zi(0),p(1,"div",25)(2,"h2",26),m(3,"No results for searched phrase"),f()(),Ji())}function W$(e,n){1&e&&(p(0,"a",37),Ae(1,"i",38),m(2," Previous Block "),f()),2&e&&U("href","/explorer?term=",T().$implicit.index-1,"",W)}function q$(e,n){1&e&&(p(0,"a",39),m(1," Next Block "),Ae(2,"i",40),f()),2&e&&U("href","/explorer?term=",T().$implicit.index+1,"",W)}function Y$(e,n){if(1&e&&(p(0,"li")(1,"a",35),m(2),f()()),2&e){const t=n.$implicit;g(1),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id)}}function Z$(e,n){if(1&e&&(p(0,"div",55)(1,"ul"),I(2,Y$,3,2,"li",30),f()()),2&e){const t=T(3).$implicit;g(2),S("ngForOf",t.inputs)}}function J$(e,n){if(1&e&&(p(0,"div")(1,"div",56)(2,"p",51)(3,"a",35),m(4),f(),p(5,"button",52),m(6),f()()()()),2&e){const t=n.$implicit;g(3),U("href","/explorer?term=",t.to,"",W),g(1),A(t.to),g(2),V("",t.value.toFixed(6)," YDA")}}function X$(e,n){if(1&e){const t=Ze();p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",35),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",35),m(11),f()(),p(12,"div",15)(13,"div",44)(14,"p")(15,"strong"),m(16,"Inputs:"),f(),m(17),f(),p(18,"div",45)(19,"button",46),Z("click",function(){return Ue(t),Ge(T(6).toggleAccordion("inputsAccordion"))}),m(20,"Show Inputs"),f(),I(21,Z$,3,1,"div",47),f(),p(22,"p")(23,"strong"),m(24,"Outputs:"),f(),m(25),f()()(),p(26,"div",48)(27,"div",49)(28,"div",50)(29,"p",51)(30,"a",35),m(31),f(),p(32,"button",52),m(33),f()()()(),p(34,"div",53),Ae(35,"img",54),f(),p(36,"div",49),I(37,J$,7,3,"div",30),f()()()()}if(2&e){const t=T(2).$implicit,i=T(4);g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(6),V(" ",t.inputs.length,""),g(4),S("ngIf","inputsAccordion"===i.showAccordion),g(4),V(" ",t.outputs.length,""),g(5),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to),g(2),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function Q$(e,n){if(1&e&&(p(0,"div"),I(1,X$,38,11,"div",22),f()),2&e){const t=T().index,i=T().index,r=T(3);g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function K$(e,n){if(1&e&&(p(0,"div")(1,"div",56)(2,"p",51)(3,"a",35),m(4),f(),p(5,"button",52),m(6),f()()()()),2&e){const t=n.$implicit;g(3),U("href","/explorer?term=",t.to,"",W),g(1),A(t.to),g(2),V("",t.value.toFixed(6)," YDA")}}function e4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",35),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",35),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Outputs:"),f(),m(15),f(),p(16,"div",48)(17,"div",49)(18,"div",50)(19,"p",51),m(20," (Newly Generated Coins) "),p(21,"button",52),m(22),f()()()(),p(23,"div",53),Ae(24,"img",54),f(),p(25,"div",49),I(26,K$,7,3,"div",30),f()()()()),2&e){const t=T(2).$implicit,i=T(4);g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.outputs.length,""),g(7),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function t4(e,n){if(1&e&&(p(0,"div"),I(1,e4,27,7,"div",22),f()),2&e){const t=T().index,i=T().index,r=T(3);g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function n4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",35),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",35),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",57)(17,"h4",58),m(18,"Relationship DATA:"),f(),p(19,"textarea",59),m(20),f()(),p(21,"div",48)(22,"div",60)(23,"div",56)(24,"button",61),m(25,"Newly created Address"),f(),p(26,"p",62)(27,"a",35),m(28),f()()()()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship),g(7),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function i4(e,n){if(1&e&&(p(0,"div"),I(1,n4,29,8,"div",22),f()),2&e){const t=T().index,i=T().index,r=T(3);g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function r4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",35),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",35),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",57)(17,"h4",58),m(18,"Relationship DATA:"),f(),p(19,"textarea",59),m(20),f()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship)}}function o4(e,n){if(1&e&&(p(0,"div"),I(1,r4,21,6,"div",22),f()),2&e){const t=T().index,i=T().index,r=T(3);g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function s4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",35),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",35),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",57)(17,"h4",58),m(18,"Relationship DATA:"),f(),p(19,"textarea",59),m(20),f()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship)}}function a4(e,n){if(1&e&&(p(0,"div"),I(1,s4,21,6,"div",22),f()),2&e){const t=T().index,i=T().index,r=T(3);g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}const Cm=function(e,n,t,i,r){return{coinbase:e,transfer:n,"create-identity":t,"encrypted-message":i,message:r}};function l4(e,n){if(1&e){const t=Ze();p(0,"li")(1,"div",41)(2,"button",42),Z("click",function(){const o=Ue(t).index,s=T().index;return Ge(T(3).showTransactionDetails(s,o))}),m(3),f(),I(4,Q$,2,1,"div",22),I(5,t4,2,1,"div",22),I(6,i4,2,1,"div",22),I(7,o4,2,1,"div",22),I(8,a4,2,1,"div",22),f()()}if(2&e){const t=n.$implicit,i=T(4);g(2),S("ngClass",ns(7,Cm,i.transactionUtilsService.isCoinbaseTransaction(t),i.transactionUtilsService.isTransferTransaction(t),i.transactionUtilsService.isCreateIdentityTransaction(t),i.transactionUtilsService.isEncryptedMessageTransaction(t),i.transactionUtilsService.isMessageTransaction(t))),g(1),V(" ",i.transactionUtilsService.getTransactionType(t)," "),g(1),S("ngIf",i.transactionUtilsService.isTransferTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCoinbaseTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCreateIdentityTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isEncryptedMessageTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isMessageTransaction(t))}}function c4(e,n){if(1&e&&(p(0,"li")(1,"div",31),I(2,W$,3,1,"a",32),I(3,q$,3,1,"a",33),f(),p(4,"div",25)(5,"h2",34),m(6,"Block Details"),f(),p(7,"p")(8,"strong"),m(9,"Index: "),f(),p(10,"a",35),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Time:"),f(),m(15),f(),p(16,"p")(17,"strong"),m(18,"Hash: "),f(),p(19,"a",35),m(20),f()(),p(21,"p")(22,"strong"),m(23,"Previous Hash: "),f(),p(24,"a",35),m(25),f()(),p(26,"p")(27,"strong"),m(28,"Nonce:"),f(),m(29),f(),p(30,"p")(31,"strong"),m(32,"Target:"),f(),m(33),f(),p(34,"p")(35,"strong"),m(36,"ID: "),f(),p(37,"a",35),m(38),f()(),p(39,"h3",36),m(40,"Transactions"),f(),p(41,"ul"),I(42,l4,9,13,"li",30),f()()()),2&e){const t=n.$implicit,i=T(3);g(2),S("ngIf",0!==t.index),g(1),S("ngIf",t.index!==i.current_height),g(7),U("href","/explorer?term=",t.index,"",W),g(1),A(t.index),g(4),V(" ",t.time,""),g(4),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.prevHash,"",W),g(1),A(t.prevHash),g(4),V(" ",t.nonce,""),g(4),V(" ",t.target,""),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),S("ngForOf",t.transactions)}}function u4(e,n){if(1&e&&(p(0,"div")(1,"div",25)(2,"h3",27),m(3),f(),p(4,"h2",28),m(5),f()(),p(6,"ul",29),I(7,c4,43,14,"li",30),f()()),2&e){const t=T(2);g(3),V(" search result for ","block_height"===t.resultType?"block index":"block_hash"===t.resultType?"block hash":"block_id"===t.resultType?"block id":"",": "),g(2),V(" ","block_height"===t.resultType?t.result[0].index:"block_hash"===t.resultType?t.result[0].hash:"block_id"===t.resultType?t.result[0].id:""," "),g(2),S("ngForOf",t.result)}}const bs=function(e){return{"searched-item":e}};function d4(e,n){if(1&e&&(p(0,"li")(1,"a",71),m(2),f()()),2&e){const t=n.$implicit,i=T(7);g(1),U("href","/explorer?term=",t.id,"",W),S("ngClass",$n(3,bs,i.isSearchedItem(t.id))),g(1),A(t.id)}}function f4(e,n){if(1&e&&(p(0,"div",55)(1,"ul"),I(2,d4,3,5,"li",30),f()()),2&e){const t=T(3).$implicit;g(2),S("ngForOf",t.inputs)}}function h4(e,n){if(1&e&&(p(0,"div")(1,"div",56)(2,"p",51)(3,"a",35),m(4),f(),p(5,"button",52),m(6),f()()()()),2&e){const t=n.$implicit;g(3),U("href","/explorer?term=",t.to,"",W),g(1),A(t.to),g(2),V("",t.value.toFixed(6)," YDA")}}function p4(e,n){if(1&e){const t=Ze();p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Inputs:"),f(),m(5),f(),p(6,"div",72)(7,"button",46),Z("click",function(){return Ue(t),Ge(T(5).toggleAccordion("inputsAccordion"))}),m(8,"Show Inputs"),f(),I(9,f4,3,1,"div",47),f(),p(10,"p")(11,"strong"),m(12,"Outputs:"),f(),m(13),f(),p(14,"div",73)(15,"div",49)(16,"div",50)(17,"p",51)(18,"a",35),m(19),f(),p(20,"button",52),m(21),f()()()(),p(22,"div",53),Ae(23,"img",54),f(),p(24,"div",49),I(25,h4,7,3,"div",30),f()()()()}if(2&e){const t=T(2).$implicit,i=T(3);g(5),V(" ",t.inputs.length,""),g(4),S("ngIf","inputsAccordion"===i.showAccordion),g(4),V(" ",t.outputs.length,""),g(5),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to),g(2),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function g4(e,n){if(1&e&&(p(0,"div")(1,"div",56)(2,"p",51)(3,"a",35),m(4),f(),p(5,"button",52),m(6),f()()()()),2&e){const t=n.$implicit;g(3),U("href","/explorer?term=",t.to,"",W),g(1),A(t.to),g(2),V("",t.value.toFixed(6)," YDA")}}function m4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Outputs:"),f(),m(5),f(),p(6,"div",73)(7,"div",49)(8,"div",50)(9,"p",51),m(10," (Newly Generated Coins) "),p(11,"button",52),m(12),f()()()(),p(13,"div",53),Ae(14,"img",54),f(),p(15,"div",49),I(16,g4,7,3,"div",30),f()()()()),2&e){const t=T(2).$implicit,i=T(3);g(5),V(" ",t.outputs.length,""),g(7),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function _4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Relationship Identifier:"),f(),m(5),f(),p(6,"div",57)(7,"h4",58),m(8,"Relationship DATA:"),f(),p(9,"textarea",59),m(10),f()(),p(11,"div",73)(12,"div",60)(13,"div",56)(14,"button",74),m(15,"Newly created Address"),f(),p(16,"p",62)(17,"a",35),m(18),f()()()()()()()),2&e){const t=T(2).$implicit;g(5),V(" ",t.rid,""),g(5),A(t.relationship),g(7),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function v4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Relationship Identifier:"),f(),m(5),f(),p(6,"div",57)(7,"h4",58),m(8,"Relationship DATA:"),f(),p(9,"textarea",59),m(10),f()()()()),2&e){const t=T(2).$implicit;g(5),V(" ",t.rid,""),g(5),A(t.relationship)}}function y4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Relationship Identifier:"),f(),m(5),f(),p(6,"div",57)(7,"h4",58),m(8,"Relationship DATA:"),f(),p(9,"textarea",59),m(10),f()()()()),2&e){const t=T(2).$implicit;g(5),V(" ",t.rid,""),g(5),A(t.relationship)}}function b4(e,n){if(1&e&&(p(0,"tr",68)(1,"td",69)(2,"div")(3,"h3",70),m(4,"included in the block"),f(),p(5,"p")(6,"strong"),m(7,"Index: "),f(),p(8,"a",35),m(9),f()(),p(10,"p")(11,"strong"),m(12,"Hash: "),f(),p(13,"a",35),m(14),f()(),p(15,"div",43)(16,"p")(17,"strong"),m(18,"Transaction Hash: "),f(),p(19,"a",71),m(20),f()(),p(21,"p")(22,"strong"),m(23,"Transaction ID: "),f(),p(24,"a",71),m(25),f()(),p(26,"p")(27,"strong"),m(28,"Time: "),f(),m(29),f(),p(30,"p")(31,"strong"),m(32,"Fee: "),f(),m(33),f(),I(34,p4,26,7,"div",22),I(35,m4,17,3,"div",22),I(36,_4,19,4,"div",22),I(37,v4,11,2,"div",22),I(38,y4,11,2,"div",22),f()()()()),2&e){const t=T().$implicit,i=T(3);g(8),U("href","/explorer?term=",t.blockIndex,"",W),g(1),A(t.blockIndex),g(4),U("href","/explorer?term=",t.blockHash,"",W),g(1),A(t.blockHash),g(5),U("href","/explorer?term=",t.hash,"",W),S("ngClass",$n(17,bs,i.isSearchedItem(t.hash))),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),S("ngClass",$n(19,bs,i.isSearchedItem(t.id))),g(1),A(t.id),g(4),V(" ",i.dateFormatService.formatTransactionTime(t.time),""),g(4),V(" ",t.fee," YDA"),g(1),S("ngIf",i.transactionUtilsService.isTransferTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCoinbaseTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCreateIdentityTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isEncryptedMessageTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isMessageTransaction(t))}}function D4(e,n){if(1&e){const t=Ze();Zi(0),p(1,"tr",65),Z("click",function(){const o=Ue(t).$implicit;return Ge(T(3).toggleDetails(o))}),p(2,"td"),m(3),f(),p(4,"td",64),m(5),f(),p(6,"td"),m(7),f(),p(8,"td"),m(9),f(),p(10,"td")(11,"button",66),m(12),f()()(),I(13,b4,39,21,"tr",67),Ji()}if(2&e){const t=n.$implicit,i=T(3);g(3),A(i.dateFormatService.formatTransactionTime(t.time)),g(2),A(t.hash),g(2),A(t.inputs.length),g(2),A(t.outputs.length),g(2),S("ngClass",ns(7,Cm,i.transactionUtilsService.isCoinbaseTransaction(t),i.transactionUtilsService.isTransferTransaction(t),i.transactionUtilsService.isCreateIdentityTransaction(t),i.transactionUtilsService.isEncryptedMessageTransaction(t),i.transactionUtilsService.isMessageTransaction(t))),g(1),V(" ",i.transactionUtilsService.getTransactionType(t)," "),g(1),S("ngIf",t.expanded)}}function w4(e,n){if(1&e&&(p(0,"div")(1,"div",25)(2,"h3",27),m(3),f(),p(4,"h2",28),m(5),f()(),p(6,"div",25)(7,"table",63)(8,"thead")(9,"tr")(10,"th"),m(11,"Time"),f(),p(12,"th",64),m(13,"Hash"),f(),p(14,"th"),m(15,"Inputs"),f(),p(16,"th"),m(17,"Outputs"),f(),p(18,"th"),m(19,"Type"),f()()(),p(20,"tbody"),I(21,D4,14,13,"ng-container",30),f()()()()),2&e){const t=T(2);g(3),V(" search result for ","txn_id"===t.resultType?"transaction id":"txn_hash"===t.resultType?"transaction hash":"",": "),g(2),V(" ",t.searchedId," "),g(16),S("ngForOf",t.result)}}function C4(e,n){if(1&e&&(p(0,"li")(1,"a",35),m(2),f()()),2&e){const t=n.$implicit;g(1),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id)}}function E4(e,n){if(1&e&&(p(0,"div",55)(1,"ul"),I(2,C4,3,2,"li",30),f()()),2&e){const t=T(2).$implicit;g(2),S("ngForOf",t.inputs)}}function T4(e,n){if(1&e&&(p(0,"div")(1,"div",56)(2,"p",51)(3,"a",71),m(4),f(),p(5,"button",52),m(6),f()()()()),2&e){const t=n.$implicit,i=T(7);g(3),U("href","/explorer?term=",t.to,"",W),S("ngClass",$n(4,bs,i.isSearchedItem(t.to))),g(1),V(" ",t.to," "),g(2),V("",t.value.toFixed(6)," YDA")}}function S4(e,n){if(1&e){const t=Ze();p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Inputs:"),f(),m(5),f(),p(6,"div",72)(7,"button",46),Z("click",function(){return Ue(t),Ge(T(6).toggleAccordion("inputsAccordion"))}),m(8,"Show Inputs"),f(),I(9,E4,3,1,"div",47),f(),p(10,"p")(11,"strong"),m(12,"Outputs:"),f(),m(13),f(),p(14,"div",73)(15,"div",49)(16,"div",50)(17,"p",51)(18,"a",71),m(19),f(),p(20,"button",52),m(21),f()()()(),p(22,"div",53),Ae(23,"img",54),f(),p(24,"div",49),I(25,T4,7,6,"div",30),f()()()()}if(2&e){const t=T().$implicit,i=T(5);g(5),V(" ",t.inputs.length,""),g(4),S("ngIf","inputsAccordion"===i.showAccordion),g(4),V(" ",t.outputs.length,""),g(5),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),S("ngClass",$n(8,bs,i.isSearchedItem(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to))),g(1),V(" ",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to," "),g(2),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function M4(e,n){if(1&e&&(p(0,"div")(1,"div",56)(2,"p",51)(3,"a",71),m(4),f(),p(5,"button",52),m(6),f()()()()),2&e){const t=n.$implicit,i=T(7);g(3),U("href","/explorer?term=",t.to,"",W),S("ngClass",$n(4,bs,i.isSearchedItem(t.to))),g(1),V(" ",t.to," "),g(2),V("",t.value.toFixed(6)," YDA")}}function I4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Outputs:"),f(),m(5),f(),p(6,"div",73)(7,"div",49)(8,"div",50)(9,"p",51),m(10," (Newly Generated Coins) "),p(11,"button",52),m(12),f()()()(),p(13,"div",53),Ae(14,"img",54),f(),p(15,"div",49),I(16,M4,7,6,"div",30),f()()()()),2&e){const t=T().$implicit,i=T(5);g(5),V(" ",t.outputs.length,""),g(7),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function N4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Relationship Identifier:"),f(),m(5),f(),p(6,"div",57)(7,"h4",58),m(8,"Relationship DATA:"),f(),p(9,"textarea",59),m(10),f()(),p(11,"div",73)(12,"div",82)(13,"div",56)(14,"button",74),m(15,"Newly created Address"),f(),p(16,"p",62)(17,"a",35),m(18),f()()()()()()()),2&e){const t=T().$implicit;g(5),V(" ",t.rid,""),g(5),A(t.relationship),g(7),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function O4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Relationship Identifier:"),f(),m(5),f(),p(6,"div",57)(7,"h4",58),m(8,"Relationship DATA:"),f(),p(9,"textarea",59),m(10),f()()()()),2&e){const t=T().$implicit;g(5),V(" ",t.rid,""),g(5),A(t.relationship)}}function x4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Relationship Identifier:"),f(),m(5),f(),p(6,"div",57)(7,"h4",58),m(8,"Relationship DATA:"),f(),p(9,"textarea",59),m(10),f()()()()),2&e){const t=T().$implicit;g(5),V(" ",t.rid,""),g(5),A(t.relationship)}}function A4(e,n){if(1&e&&(p(0,"div",43)(1,"p")(2,"strong"),m(3,"Transaction Hash: "),f(),p(4,"a",35),m(5),f()(),p(6,"p")(7,"strong"),m(8,"Transaction ID: "),f(),p(9,"a",35),m(10),f()(),p(11,"p")(12,"strong"),m(13,"Time: "),f(),m(14),f(),p(15,"p")(16,"strong"),m(17,"Fee: "),f(),m(18),f(),I(19,S4,26,10,"div",22),I(20,I4,17,3,"div",22),I(21,N4,19,4,"div",22),I(22,O4,11,2,"div",22),I(23,x4,11,2,"div",22),f()),2&e){const t=n.$implicit,i=T(5);g(4),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",i.dateFormatService.formatTransactionTime(t.time),""),g(4),V(" ",t.fee," YDA"),g(1),S("ngIf",i.transactionUtilsService.isTransferTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCoinbaseTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCreateIdentityTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isEncryptedMessageTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isMessageTransaction(t))}}function R4(e,n){if(1&e&&(p(0,"tr",68)(1,"td",80)(2,"h2",34),m(3,"Transactions in Block "),p(4,"a",35),m(5),f()(),I(6,A4,24,11,"div",81),f()()),2&e){const t=T().$implicit;g(4),U("href","/explorer?term=",t.index,"",W),g(1),A(t.index),g(1),S("ngForOf",t.transactions)}}function P4(e,n){if(1&e){const t=Ze();Zi(0),p(1,"tr",65),Z("click",function(){const o=Ue(t).$implicit;return Ge(T(3).toggleDetails(o))}),p(2,"td"),m(3),f(),p(4,"td"),m(5),f(),p(6,"td",64),m(7),f(),p(8,"td")(9,"button",66),m(10),f()()(),I(11,R4,7,3,"tr",67),Ji()}if(2&e){const t=n.$implicit,i=T(3);g(3),A(t.index),g(2),A(i.dateFormatService.formatTransactionTime(t.time)),g(2),A(t.hash),g(2),S("ngClass",ns(6,Cm,i.transactionUtilsService.isCoinbaseTransaction(t.transactions[0]),i.transactionUtilsService.isTransferTransaction(t.transactions[0]),i.transactionUtilsService.isCreateIdentityTransaction(t.transactions[0]),i.transactionUtilsService.isEncryptedMessageTransaction(t.transactions[0]),i.transactionUtilsService.isMessageTransaction(t.transactions[0]))),g(1),V(" ",i.transactionUtilsService.getTransactionType(t.transactions[0])," "),g(1),S("ngIf",t.expanded)}}function k4(e,n){if(1&e){const t=Ze();p(0,"li",83)(1,"a",84),Z("click",function(){const o=Ue(t).$implicit;return Ge(T(3).changePage(o))}),m(2),f()()}if(2&e){const t=n.$implicit;me("active",t===T(3).currentPage),g(2),A(t)}}function F4(e,n){if(1&e){const t=Ze();p(0,"div")(1,"div",25)(2,"h3",27),m(3),f(),p(4,"h2",28),m(5),f()(),p(6,"div",25)(7,"table",63)(8,"thead")(9,"tr")(10,"th"),m(11,"Block Index"),f(),p(12,"th"),m(13,"Time"),f(),p(14,"th",64),m(15,"Hash"),f(),p(16,"th"),m(17,"Type"),f()()(),p(18,"tbody"),I(19,P4,12,12,"ng-container",30),f()(),p(20,"ul",75),I(21,k4,3,3,"li",76),f(),p(22,"div",77)(23,"input",78),Z("ngModelChange",function(r){return Ue(t),Ge(T(2).targetPage=r)}),f(),p(24,"button",79),Z("click",function(){return Ue(t),Ge(T(2).goToPage())}),m(25,"Go"),f()()()()}if(2&e){const t=T(2);g(3),V(" Search result for ","txn_outputs_to"===t.resultType?"transaction outputs to":"",": "),g(2),V(" ",t.searchedId," "),g(14),S("ngForOf",t.paginatedResult),g(2),S("ngForOf",t.visiblePages),g(2),tu("max",t.calculateTotalPages.length),S("ngModel",t.targetPage)}}function L4(e,n){if(1&e&&(p(0,"div"),I(1,z$,4,0,"ng-container",22),I(2,u4,8,3,"div",22),I(3,w4,22,3,"div",22),I(4,F4,26,6,"div",22),f()),2&e){const t=T();g(1),S("ngIf",!t.result||t.result&&0===t.result.length),g(1),S("ngIf",("block_height"===t.resultType||"block_hash"===t.resultType||"block_id"===t.resultType)&&t.result&&t.result.length>0),g(1),S("ngIf",("txn_id"===t.resultType||"txn_hash"===t.resultType)&&t.result&&t.result.length>0),g(1),S("ngIf","txn_outputs_to"===t.resultType&&t.result&&t.result.length>0)}}function V4(e,n){1&e&&Ae(0,"app-latest-blocks")}function B4(e,n){1&e&&Ae(0,"app-address-balance")}function j4(e,n){1&e&&Ae(0,"app-mempool")}let kT=(()=>{class e{constructor(t,i,r,o){this.httpClient=t,this.route=i,this.dateFormatService=r,this.transactionUtilsService=o,this.title="explorer",this.model=new AT,this.result=[],this.searchedId="",this.searchedHash="",this.blocks=[],this.showBlockTransactions=!1,this.showBlockTransactionDetails=[[]],this.resultType="",this.balance=0,this.searching=!1,this.submitted=!1,this.current_height="",this.circulating="",this.hashrate="",this.difficulty="",this.selectedOption="Main Page",this.showAccordion=null,this.isCollapsed=!0,this.paginatedResult=[],this.currentPage=1,this.itemsPerPage=10,this.maxVisiblePages=10,this.visiblePages=[],this.prevResultLength=0,this.prevCurrentPage=0,this.targetPage=1,this.isCalculatingTotalPages=!1,this.httpClient.get("/api-stats").subscribe(s=>{this.difficulty=this.numberWithCommas(s.stats.difficulty),this.hashrate=this.formatHashrate(s.stats.network_hash_rate),this.current_height=this.numberWithCommas(s.stats.height),this.circulating=this.numberWithCommas(s.stats.circulating)},s=>{console.error("Error fetching API stats:",s),alert("Something went wrong while fetching API stats!")}),this.route.queryParams.subscribe(s=>{const a=s.term;a&&(this.model=new AT({term:a}),this.onSubmit(),this.selectedOption="SearchResults")}),window.location.search&&(this.searching=!0,this.submitted=!0,this.httpClient.get("/explorer-search"+window.location.search).subscribe(s=>{this.result=s.result||[],this.resultType=s.resultType,this.balance=s.balance,this.searchedId=s.searchedId,this.searchedHash=s.searchedHash,this.searching=!1,this.selectedOption="SearchResults",this.paginate(),this.updateVisiblePages()},s=>{console.error("Error fetching explorer search:",s),alert("Something went wrong while fetching explorer search results!")}))}ngOnInit(){}onSubmit(){this.searching=!0,this.submitted=!0;const i=`/explorer-search?term=${encodeURIComponent(this.model.term)}`;this.httpClient.get(i).subscribe(r=>{this.result=r.result||[],this.resultType=r.resultType,this.balance=r.balance,this.searchedId=r.searchedId,this.searchedHash=r.searchedHash,this.searching=!1,this.selectedOption="SearchResults",this.paginate(),this.updateVisiblePages(),this.selectedOption="SearchResults"},r=>{console.error("Error fetching explorer search:",r),alert("Something went wrong while fetching explorer search results!"),this.searching=!1})}showBlockDetails(t){console.log("Clicked block:",t),this.selectedBlock=t}toggleAccordion(t){this.showAccordion=this.showAccordion===t?null:t}toggleDetails(t){if(t.expanded)t.expanded=!1;else{this.blocks.forEach(r=>r.expanded=!1),t.expanded=!0;const i=this.blocks.indexOf(t);this.showBlockTransactionDetails[i]=this.showBlockTransactionDetails[i]||[],this.selectedBlock=t}}showTransactions(){this.showBlockTransactions=!this.showBlockTransactions,this.showBlockTransactionDetails=[]}showTransactionDetails(t,i){console.log("Clicked transaction:",t,i),this.showBlockTransactionDetails[t]||(this.showBlockTransactionDetails[t]=[]),this.showBlockTransactionDetails[t][i]=!this.showBlockTransactionDetails[t][i]}numberWithCommas(t){return t.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")}formatHashrate(t){return t<1e3?`${t.toFixed(0)} h/s`:t<1e6?`${(t/1e3).toFixed(2)} kh/s`:`${(t/1e6).toFixed(2)} mh/s`}calculateAge(t){const i=(new Date).getTime(),r=new Date(1e3*t).getTime();console.log("Current Time:",new Date(i)),console.log("Block Time:",new Date(r));const o=i-r,s=Math.floor(o/6e4);return console.log("Difference:",o),console.log("Age in Minutes:",s),s<60?`${s} minutes ago`:`${Math.floor(s/60)} hours ago`}getTotalValue(t){return t.reduce((i,r)=>i+r.value,0)}selectOption(t){this.selectedOption=t}logButtonClick(){console.log("Button clicked!")}isSearchedItem(t){return t.toLowerCase()===this.searchedId.toLowerCase()}paginate(){const t=(this.currentPage-1)*this.itemsPerPage;this.paginatedResult=this.result.slice(t,t+this.itemsPerPage)}changePage(t){this.currentPage=+t,this.paginate(),(this.result.length!==this.prevResultLength||this.currentPage!==this.prevCurrentPage)&&(this.updateVisiblePages(),this.prevResultLength=this.result.length,this.prevCurrentPage=this.currentPage)}get calculateTotalPages(){const t=Math.ceil(this.result.length/this.itemsPerPage);return Array.from({length:t},(i,r)=>r+1)}updateVisiblePages(){console.log("Entering updateVisiblePages");const t=this.calculateTotalPages.length;let i=[1];if(t<=this.maxVisiblePages)i=i.concat(this.calculateTotalPages.slice(1));else{const r=Math.floor((this.maxVisiblePages-3)/2);let o=Math.max(2,this.currentPage-r),s=Math.min(o+this.maxVisiblePages-4,t-1);s===t-1&&(o=Math.max(2,t-this.maxVisiblePages+3)),o>2&&i.push("..."),i=i.concat(Array.from({length:s-o+1},(a,l)=>o+l)),s=1&&this.targetPage<=this.calculateTotalPages.length&&(this.changePage(this.targetPage),this.targetPage=this.currentPage)}static#e=this.\u0275fac=function(i){return new(i||e)(b(Wa),b($r),b(Ju),b(Xu))};static#t=this.\u0275cmp=kt({type:e,selectors:[["app-root"]],decls:67,vars:16,consts:[[1,"content"],[1,"navbar","navbar-expand-lg","navbar-dark","bg-dark"],["src","yadacoinstatic/explorer/assets/yadalogo.png","alt","Yadacoin Logo",1,"logo"],["href","#",1,"navbar-brand",3,"click"],["type","button","data-toggle","collapse","data-target","#navbarNav","aria-controls","navbarNav","aria-expanded","false","aria-label","Toggle navigation",1,"navbar-toggler",3,"click"],[1,"navbar-toggler-icon"],["id","navbarNav",1,"collapse","navbar-collapse"],[1,"navbar-nav"],[1,"nav-item"],["href","#",1,"nav-link",3,"click"],[1,"form-inline","ml-auto",3,"ngSubmit"],["searchForm","ngForm"],["name","term","placeholder","Wallet address, Transaction Id, Block height, Block hash...",1,"form-control",3,"ngModel","ngModelChange"],["type","submit",1,"btn","btn-success"],[1,"container-fluid"],[1,"row"],[1,"col-12","col-md-6","col-lg-3"],[1,"result-box"],["src","yadacoinstatic/explorer/assets/network-height.png","alt","Network Height",1,"watermark"],["src","yadacoinstatic/explorer/assets/hashrate.png","alt","Network Hashrate",1,"watermark"],["src","yadacoinstatic/explorer/assets/difficulty.png","alt","Network Difficulty",1,"watermark"],["src","yadacoinstatic/explorer/assets/circulating-supply.png","alt","Circulating Supply",1,"watermark"],[4,"ngIf"],[1,"footer","fixed-bottom"],[2,"text-transform","uppercase","margin","20px","margin-top","25px","text-align","center"],[1,"blocks-container"],[2,"text-transform","uppercase","margin","20px","margin-top","25px","color","red"],[2,"text-transform","uppercase","margin","20px","margin-top","25px"],[2,"margin","20px","margin-top","10px","word-break","break-word"],[2,"list-style-type","none","padding","0","margin","0"],[4,"ngFor","ngForOf"],[1,"block-details"],["class","previous-button",3,"href",4,"ngIf"],["class","next-button",3,"href",4,"ngIf"],[2,"text-transform","uppercase","margin","20px","margin-top","10px"],[3,"href"],[2,"text-transform","uppercase","margin","20px","margin-top","20px"],[1,"previous-button",3,"href"],[1,"bi","bi-arrow-left"],[1,"next-button",3,"href"],[1,"bi","bi-arrow-right"],[1,"transaction-container"],[1,"transaction-type-button",3,"ngClass","click"],[1,"transaction-details"],[1,"col-md-12"],[1,"input-section",2,"width","100%","display","inline-block","margin-top","5px"],[1,"accordion",3,"click"],["class","panel",4,"ngIf"],[1,"row","in-section",2,"margin-top","5px"],[1,"col-md-5"],[1,"transfer-in-info-box"],[2,"margin-left","10px"],[1,"transaction-value-button"],[1,"col-md-2","text-center"],["src","yadacoinstatic/explorer/assets/arrow-right.png","alt","Arrow Right",1,"arrow-icon"],[1,"panel"],[1,"transfer-out-info-box"],[1,"relationship-data-box"],[2,"text-transform","uppercase","margin","10px"],["rows","4","readonly","",2,"width","98%"],[1,"col-md-6"],[1,"transaction-type-button","create-identity"],[2,"margin-left","15px"],[1,"blocks-table"],[1,"hash-column"],[3,"click"],[1,"transaction-type-button",3,"ngClass"],["class","expanded-row",4,"ngIf"],[1,"expanded-row"],["colspan","5"],[2,"text-transform","uppercase","margin-top","10px"],[3,"ngClass","href"],[1,"input-section"],[1,"row","in-section"],[1,"transaction-type-button","create-identity",2,"margin-bottom","10px","margin-left","10px"],[1,"pagination"],["class","page-item",3,"active",4,"ngFor","ngForOf"],[1,"page-input"],["type","number","placeholder","Go to page","min","1",3,"ngModel","max","ngModelChange"],[1,"go-button",3,"click"],["colspan","4"],["class","transaction-details",4,"ngFor","ngForOf"],[1,"col-md-4"],[1,"page-item"],[1,"page-link",3,"click"]],template:function(i,r){1&i&&(p(0,"body")(1,"div",0)(2,"nav",1),Ae(3,"img",2),p(4,"a",3),Z("click",function(){return r.selectOption("Main Page")}),m(5,"Yadacoin Explorer"),f(),p(6,"button",4),Z("click",function(){return r.logButtonClick()}),Ae(7,"span",5),f(),p(8,"div",6)(9,"ul",7)(10,"li",8)(11,"a",9),Z("click",function(){return r.selectOption("Latest Blocks")}),m(12,"Latest Blocks"),f()(),p(13,"li",8)(14,"a",9),Z("click",function(){return r.selectOption("Mempool")}),m(15,"Mempool"),f()(),p(16,"li",8)(17,"a",9),Z("click",function(){return r.selectOption("Address Balance")}),m(18,"Address Balance"),f()()(),p(19,"form",10,11),Z("ngSubmit",function(){return r.onSubmit()}),p(21,"input",12),Z("ngModelChange",function(s){return r.model.term=s}),f(),p(22,"button",13),m(23,"Search"),f()()()(),p(24,"div",14)(25,"div",15)(26,"div",16)(27,"div",17),Ae(28,"img",18),p(29,"h5"),m(30,"Network Height"),f(),p(31,"h3"),m(32),lu(33,"replaceComma"),f()()(),p(34,"div",16)(35,"div",17),Ae(36,"img",19),p(37,"h5"),m(38,"Network Hashrate"),f(),p(39,"h3"),m(40),f()()(),p(41,"div",16)(42,"div",17),Ae(43,"img",20),p(44,"h5"),m(45,"Network Difficulty"),f(),p(46,"h3"),m(47),lu(48,"replaceComma"),f()()(),p(49,"div",16)(50,"div",17),Ae(51,"img",21),p(52,"h5"),m(53,"Circulating Supply"),f(),p(54,"h3"),m(55),lu(56,"replaceComma"),f()()()()(),I(57,G$,7,0,"div",22),I(58,L4,5,4,"div",22),I(59,V4,1,0,"app-latest-blocks",22),I(60,B4,1,0,"app-address-balance",22),I(61,j4,1,0,"app-mempool",22),f(),p(62,"footer",23)(63,"p"),m(64,"YdaCoin Explorer v0.2.0 dev | by Rakni for YadaCoin 2024"),f(),p(65,"p"),m(66,"Donation Address YADA: 1Hx9hETwiuwFnXQ715bMBTahcjgF6DNhHL"),f()()()),2&i&&(g(21),S("ngModel",r.model.term),g(11),A(cu(33,10,r.current_height)),g(8),A(r.hashrate),g(7),A(cu(48,12,r.difficulty)),g(8),V("",cu(56,14,r.circulating)," YDA"),g(2),S("ngIf","Main Page"===r.selectedOption),g(1),S("ngIf","SearchResults"===r.selectedOption),g(1),S("ngIf","Latest Blocks"===r.selectedOption),g(1),S("ngIf","Address Balance"===r.selectedOption),g(1),S("ngIf","Mempool"===r.selectedOption))},dependencies:[xu,qn,Yn,sE,Ya,Ug,Rg,WC,Xg,Jg,Zu,Yu,RT,PT,$$,U$],styles:["body[_ngcontent-%COMP%]{background-color:silver;margin:30px 5%;color:#303030}.content[_ngcontent-%COMP%]{margin-bottom:5%}.logo[_ngcontent-%COMP%]{width:50px;height:auto;margin-right:10px;margin-left:10px}.form-inline[_ngcontent-%COMP%]{width:100%;display:flex;justify-content:space-between;margin-left:10px;margin-top:5px}.form-control[_ngcontent-%COMP%]{flex:1}.btn[_ngcontent-%COMP%]{margin-left:10px;margin-right:20px}.navbar-nav[_ngcontent-%COMP%] .nav-item[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}.navbar-nav[_ngcontent-%COMP%]{margin-left:auto}.navbar-nav[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]{padding:.5rem 1rem}.navbar-nav[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]:hover{background-color:#ffffff1a}.navbar-toggler[_ngcontent-%COMP%]{margin-right:15px}.result-box[_ngcontent-%COMP%]{padding:10px;margin-right:10px;margin-top:20px;border-radius:5px;color:#fff;text-align:left;position:relative;background-color:#343a40}.result-box[_ngcontent-%COMP%] h5[_ngcontent-%COMP%], .result-box[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:10px;text-transform:uppercase;position:relative;z-index:1}.result-box[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-size:24px;font-weight:700}.watermark[_ngcontent-%COMP%]{width:auto;height:95%;object-fit:contain;position:absolute;top:0;right:0;z-index:0}.footer[_ngcontent-%COMP%]{background-color:#1f2428;color:#fff;padding:2px;text-align:center;position:fixed;bottom:0;font-size:12px}.pagination[_ngcontent-%COMP%]{margin-top:20px;cursor:pointer}.go-button[_ngcontent-%COMP%]{margin-left:5px;border:none;border-radius:3px;cursor:pointer;opacity:.7;transition:background-color .3s;background-color:#1e87cf}.footer[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:2px 0}"]})}return e})();const H4=[{path:"",component:kT},{path:"mempool",component:RT},{path:"address-balance",component:PT},{path:"**",redirectTo:"/"}];let $4=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({imports:[OT.forRoot(H4),OT]})}return e})();const U4=["addListener","removeListener"],G4=["addEventListener","removeEventListener"],z4=["on","off"];function At(e,n,t,i){if(se(t)&&(i=t,t=void 0),i)return At(e,n,t).pipe(Ng(i));const[r,o]=function Y4(e){return se(e.addEventListener)&&se(e.removeEventListener)}(e)?G4.map(s=>a=>e[s](n,a,t)):function W4(e){return se(e.addListener)&&se(e.removeListener)}(e)?U4.map(FT(e,n)):function q4(e){return se(e.on)&&se(e.off)}(e)?z4.map(FT(e,n)):[];if(!r&&nf(e))return ht(s=>At(s,n,t))(ft(e));if(!r)throw new TypeError("Invalid event target");return new Ce(s=>{const a=(...l)=>s.next(1o(a)})}function FT(e,n){return t=>i=>e[t](n,i)}class Z4 extends nt{constructor(n,t){super()}schedule(n,t=0){return this}}const md={setInterval(e,n,...t){const{delegate:i}=md;return i?.setInterval?i.setInterval(e,n,...t):setInterval(e,n,...t)},clearInterval(e){const{delegate:n}=md;return(n?.clearInterval||clearInterval)(e)},delegate:void 0},LT={now:()=>(LT.delegate||Date).now(),delegate:void 0};class _l{constructor(n,t=_l.now){this.schedulerActionCtor=n,this.now=t}schedule(n,t=0,i){return new this.schedulerActionCtor(this,n).schedule(i,t)}}_l.now=LT.now;const Q4=new class X4 extends _l{constructor(n,t=_l.now){super(n,t),this.actions=[],this._active=!1}flush(n){const{actions:t}=this;if(this._active)return void t.push(n);let i;this._active=!0;do{if(i=n.execute(n.state,n.delay))break}while(n=t.shift());if(this._active=!1,i){for(;n=t.shift();)n.unsubscribe();throw i}}}(class J4 extends Z4{constructor(n,t){super(n,t),this.scheduler=n,this.work=t,this.pending=!1}schedule(n,t=0){var i;if(this.closed)return this;this.state=n;const r=this.id,o=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(o,r,t)),this.pending=!0,this.delay=t,this.id=null!==(i=this.id)&&void 0!==i?i:this.requestAsyncId(o,this.id,t),this}requestAsyncId(n,t,i=0){return md.setInterval(n.flush.bind(n,this),i)}recycleAsyncId(n,t,i=0){if(null!=i&&this.delay===i&&!1===this.pending)return t;null!=t&&md.clearInterval(t)}execute(n,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(n,t);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(n,t){let r,i=!1;try{this.work(n)}catch(o){i=!0,r=o||new Error("Scheduled action threw falsy error")}if(i)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){const{id:n,scheduler:t}=this,{actions:i}=t;this.work=this.state=this.scheduler=null,this.pending=!1,Vi(i,this),null!=n&&(this.id=this.recycleAsyncId(t,n,null)),this.delay=null,super.unsubscribe()}}});const{isArray:e5}=Array;function jT(e){return 1===e.length&&e5(e[0])?e[0]:e}function Em(...e){const n=Ul(e),t=jT(e);return t.length?new Ce(i=>{let r=t.map(()=>[]),o=t.map(()=>!1);i.add(()=>{r=o=null});for(let s=0;!i.closed&&s{if(r[s].push(a),r.every(l=>l.length)){const l=r.map(c=>c.shift());i.next(n?n(...l):l),r.some((c,u)=>!c.length&&o[u])&&i.complete()}},()=>{o[s]=!0,!r[s].length&&i.complete()}));return()=>{r=o=null}}):bn}function Tm(...e){const n=Ul(e);return qe((t,i)=>{const r=e.length,o=new Array(r);let s=e.map(()=>!1),a=!1;for(let l=0;l{o[l]=c,!a&&!s[l]&&(s[l]=!0,(a=s.every(kn))&&(s=null))},pr));t.subscribe(Ve(i,l=>{if(a){const c=[l,...o];i.next(n?n(...c):c)}}))})}Math,Math,Math;const A8=["*"],lU=["dialog"];function zr(e){return"string"==typeof e}function Wr(e){return null!=e}function Ss(e){return(e||document.body).getBoundingClientRect()}const yS={animation:!0,transitionTimerDelayMs:5},eG=()=>{},{transitionTimerDelayMs:tG}=yS,Tl=new Map,an=(e,n,t,i)=>{let r=i.context||{};const o=Tl.get(n);if(o)switch(i.runningTransition){case"continue":return bn;case"stop":e.run(()=>o.transition$.complete()),r=Object.assign(o.context,r),Tl.delete(n)}const s=t(n,i.animation,r)||eG;if(!i.animation||"none"===window.getComputedStyle(n).transitionProperty)return e.run(()=>s()),J(void 0).pipe(function QU(e){return n=>new Ce(t=>n.subscribe({next:s=>e.run(()=>t.next(s)),error:s=>e.run(()=>t.error(s)),complete:()=>e.run(()=>t.complete())}))}(e));const a=new Ee,l=new Ee,c=a.pipe(function n5(...e){return n=>el(n,J(...e))}(!0));Tl.set(n,{transition$:a,complete:()=>{l.next(),l.complete()},context:r});const u=function KU(e){const{transitionDelay:n,transitionDuration:t}=window.getComputedStyle(e);return 1e3*(parseFloat(n)+parseFloat(t))}(n);return e.runOutsideAngular(()=>{const d=At(n,"transitionend").pipe(et(c),vt(({target:_})=>_===n));(function HT(...e){return 1===(e=jT(e)).length?ft(e[0]):new Ce(function t5(e){return n=>{let t=[];for(let i=0;t&&!n.closed&&i{if(t){for(let o=0;o{let o=function K4(e){return e instanceof Date&&!isNaN(e)}(e)?+e-t.now():e;o<0&&(o=0);let s=0;return t.schedule(function(){r.closed||(r.next(s++),0<=i?this.schedule(void 0,i):r.complete())},o)})}(u+tG).pipe(et(c)),d,l).pipe(et(c)).subscribe(()=>{Tl.delete(n),e.run(()=>{s(),a.next(),a.complete()})})}),a.asObservable()};let Ed=(()=>{class e{constructor(){this.animation=yS.animation}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),IS=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),NS=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),AS=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),zm=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})();var Le=function(e){return e[e.Tab=9]="Tab",e[e.Enter=13]="Enter",e[e.Escape=27]="Escape",e[e.Space=32]="Space",e[e.PageUp=33]="PageUp",e[e.PageDown=34]="PageDown",e[e.End=35]="End",e[e.Home=36]="Home",e[e.ArrowLeft=37]="ArrowLeft",e[e.ArrowUp=38]="ArrowUp",e[e.ArrowRight=39]="ArrowRight",e[e.ArrowDown=40]="ArrowDown",e}(Le||{});typeof navigator<"u"&&navigator.userAgent&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||/Macintosh/.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2||/Android/.test(navigator.userAgent));const BS=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");function jS(e){const n=Array.from(e.querySelectorAll(BS)).filter(t=>-1!==t.tabIndex);return[n[0],n[n.length-1]]}new Date(1882,10,12),new Date(2174,10,25);let KS=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),nM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})();class Xr{constructor(n,t,i){this.nodes=n,this.viewRef=t,this.componentRef=i}}let e6=(()=>{class e{constructor(t,i){this._el=t,this._zone=i}ngOnInit(){this._zone.onStable.asObservable().pipe(xt(1)).subscribe(()=>{an(this._zone,this._el.nativeElement,(t,i)=>{i&&Ss(t),t.classList.add("show")},{animation:this.animation,runningTransition:"continue"})})}hide(){return an(this._zone,this._el.nativeElement,({classList:t})=>t.remove("show"),{animation:this.animation,runningTransition:"stop"})}static#e=this.\u0275fac=function(i){return new(i||e)(b(Se),b(fe))};static#t=this.\u0275cmp=kt({type:e,selectors:[["ngb-modal-backdrop"]],hostAttrs:[2,"z-index","1055"],hostVars:6,hostBindings:function(i,r){2&i&&(Ir("modal-backdrop"+(r.backdropClass?" "+r.backdropClass:"")),me("show",!r.animation)("fade",r.animation))},inputs:{animation:"animation",backdropClass:"backdropClass"},standalone:!0,features:[In],decls:0,vars:0,template:function(i,r){},encapsulation:2})}return e})();class iM{update(n){}close(n){}dismiss(n){}}const t6=["animation","ariaLabelledBy","ariaDescribedBy","backdrop","centered","fullscreen","keyboard","scrollable","size","windowClass","modalDialogClass"],n6=["animation","backdropClass"];class i6{_applyWindowOptions(n,t){t6.forEach(i=>{Wr(t[i])&&(n[i]=t[i])})}_applyBackdropOptions(n,t){n6.forEach(i=>{Wr(t[i])&&(n[i]=t[i])})}update(n){this._applyWindowOptions(this._windowCmptRef.instance,n),this._backdropCmptRef&&this._backdropCmptRef.instance&&this._applyBackdropOptions(this._backdropCmptRef.instance,n)}get componentInstance(){if(this._contentRef&&this._contentRef.componentRef)return this._contentRef.componentRef.instance}get closed(){return this._closed.asObservable().pipe(et(this._hidden))}get dismissed(){return this._dismissed.asObservable().pipe(et(this._hidden))}get hidden(){return this._hidden.asObservable()}get shown(){return this._windowCmptRef.instance.shown.asObservable()}constructor(n,t,i,r){this._windowCmptRef=n,this._contentRef=t,this._backdropCmptRef=i,this._beforeDismiss=r,this._closed=new Ee,this._dismissed=new Ee,this._hidden=new Ee,n.instance.dismissEvent.subscribe(o=>{this.dismiss(o)}),this.result=new Promise((o,s)=>{this._resolve=o,this._reject=s}),this.result.then(null,()=>{})}close(n){this._windowCmptRef&&(this._closed.next(n),this._resolve(n),this._removeModalElements())}_dismiss(n){this._dismissed.next(n),this._reject(n),this._removeModalElements()}dismiss(n){if(this._windowCmptRef)if(this._beforeDismiss){const t=this._beforeDismiss();!function mS(e){return e&&e.then}(t)?!1!==t&&this._dismiss(n):t.then(i=>{!1!==i&&this._dismiss(n)},()=>{})}else this._dismiss(n)}_removeModalElements(){const n=this._windowCmptRef.instance.hide(),t=this._backdropCmptRef?this._backdropCmptRef.instance.hide():J(void 0);n.subscribe(()=>{const{nativeElement:i}=this._windowCmptRef.location;i.parentNode.removeChild(i),this._windowCmptRef.destroy(),this._contentRef&&this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._windowCmptRef=null,this._contentRef=null}),t.subscribe(()=>{if(this._backdropCmptRef){const{nativeElement:i}=this._backdropCmptRef.location;i.parentNode.removeChild(i),this._backdropCmptRef.destroy(),this._backdropCmptRef=null}}),Em(n,t).subscribe(()=>{this._hidden.next(),this._hidden.complete()})}}var e_=function(e){return e[e.BACKDROP_CLICK=0]="BACKDROP_CLICK",e[e.ESC=1]="ESC",e}(e_||{});let r6=(()=>{class e{constructor(t,i,r){this._document=t,this._elRef=i,this._zone=r,this._closed$=new Ee,this._elWithFocus=null,this.backdrop=!0,this.keyboard=!0,this.dismissEvent=new Y,this.shown=new Ee,this.hidden=new Ee}get fullscreenClass(){return!0===this.fullscreen?" modal-fullscreen":zr(this.fullscreen)?` modal-fullscreen-${this.fullscreen}-down`:""}dismiss(t){this.dismissEvent.emit(t)}ngOnInit(){this._elWithFocus=this._document.activeElement,this._zone.onStable.asObservable().pipe(xt(1)).subscribe(()=>{this._show()})}ngOnDestroy(){this._disableEventHandling()}hide(){const{nativeElement:t}=this._elRef,i={animation:this.animation,runningTransition:"stop"},s=Em(an(this._zone,t,()=>t.classList.remove("show"),i),an(this._zone,this._dialogEl.nativeElement,()=>{},i));return s.subscribe(()=>{this.hidden.next(),this.hidden.complete()}),this._disableEventHandling(),this._restoreFocus(),s}_show(){const t={animation:this.animation,runningTransition:"continue"};Em(an(this._zone,this._elRef.nativeElement,(o,s)=>{s&&Ss(o),o.classList.add("show")},t),an(this._zone,this._dialogEl.nativeElement,()=>{},t)).subscribe(()=>{this.shown.next(),this.shown.complete()}),this._enableEventHandling(),this._setFocus()}_enableEventHandling(){const{nativeElement:t}=this._elRef;this._zone.runOutsideAngular(()=>{At(t,"keydown").pipe(et(this._closed$),vt(r=>r.which===Le.Escape)).subscribe(r=>{this.keyboard?requestAnimationFrame(()=>{r.defaultPrevented||this._zone.run(()=>this.dismiss(e_.ESC))}):"static"===this.backdrop&&this._bumpBackdrop()});let i=!1;At(this._dialogEl.nativeElement,"mousedown").pipe(et(this._closed$),wt(()=>i=!1),wn(()=>At(t,"mouseup").pipe(et(this._closed$),xt(1))),vt(({target:r})=>t===r)).subscribe(()=>{i=!0}),At(t,"click").pipe(et(this._closed$)).subscribe(({target:r})=>{t===r&&("static"===this.backdrop?this._bumpBackdrop():!0===this.backdrop&&!i&&this._zone.run(()=>this.dismiss(e_.BACKDROP_CLICK))),i=!1})})}_disableEventHandling(){this._closed$.next()}_setFocus(){const{nativeElement:t}=this._elRef;if(!t.contains(document.activeElement)){const i=t.querySelector("[ngbAutofocus]"),r=jS(t)[0];(i||r||t).focus()}}_restoreFocus(){const t=this._document.body,i=this._elWithFocus;let r;r=i&&i.focus&&t.contains(i)?i:t,this._zone.runOutsideAngular(()=>{setTimeout(()=>r.focus()),this._elWithFocus=null})}_bumpBackdrop(){"static"===this.backdrop&&an(this._zone,this._elRef.nativeElement,({classList:t})=>(t.add("modal-static"),()=>t.remove("modal-static")),{animation:this.animation,runningTransition:"continue"})}static#e=this.\u0275fac=function(i){return new(i||e)(b(ut),b(Se),b(fe))};static#t=this.\u0275cmp=kt({type:e,selectors:[["ngb-modal-window"]],viewQuery:function(i,r){if(1&i&&xr(lU,7),2&i){let o;Re(o=function Pe(){return function hk(e,n){return e[ri].queries[n].queryList}(O(),Mv())}())&&(r._dialogEl=o.first)}},hostAttrs:["role","dialog","tabindex","-1"],hostVars:7,hostBindings:function(i,r){2&i&&(Ie("aria-modal",!0)("aria-labelledby",r.ariaLabelledBy)("aria-describedby",r.ariaDescribedBy),Ir("modal d-block"+(r.windowClass?" "+r.windowClass:"")),me("fade",r.animation))},inputs:{animation:"animation",ariaLabelledBy:"ariaLabelledBy",ariaDescribedBy:"ariaDescribedBy",backdrop:"backdrop",centered:"centered",fullscreen:"fullscreen",keyboard:"keyboard",scrollable:"scrollable",size:"size",windowClass:"windowClass",modalDialogClass:"modalDialogClass"},outputs:{dismissEvent:"dismiss"},standalone:!0,features:[In],ngContentSelectors:A8,decls:4,vars:2,consts:[["role","document"],["dialog",""],[1,"modal-content"]],template:function(i,r){1&i&&(function T0(e){const n=O()[ot][Ft];if(!n.projection){const i=n.projection=ia(e?e.length:1,null),r=i.slice();let o=n.child;for(;null!==o;){const s=e?LR(o,e):0;null!==s&&(r[s]?r[s].projectionNext=o:i[s]=o,r[s]=o),o=o.next}}}(),p(0,"div",0,1)(2,"div",2),function S0(e,n=0,t){const i=O(),r=pe(),o=Uo(r,ue+e,16,null,t||null);null===o.projection&&(o.projection=n),Rf(),(!i[Ei]||yo())&&32!=(32&o.flags)&&function VO(e,n,t){Ny(n[ne],0,n,t,sh(e,t,n),Cy(t.parent||n[Ft],t,n))}(r,i,o)}(3),f()()),2&i&&Ir("modal-dialog"+(r.size?" modal-"+r.size:"")+(r.centered?" modal-dialog-centered":"")+r.fullscreenClass+(r.scrollable?" modal-dialog-scrollable":"")+(r.modalDialogClass?" "+r.modalDialogClass:""))},styles:["ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}\n"],encapsulation:2})}return e})(),o6=(()=>{class e{constructor(t){this._document=t}hide(){const t=Math.abs(window.innerWidth-this._document.documentElement.clientWidth),i=this._document.body,r=i.style,{overflow:o,paddingRight:s}=r;if(t>0){const a=parseFloat(window.getComputedStyle(i).paddingRight);r.paddingRight=`${a+t}px`}return r.overflow="hidden",()=>{t>0&&(r.paddingRight=s),r.overflow=o}}static#e=this.\u0275fac=function(i){return new(i||e)(H(ut))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),s6=(()=>{class e{constructor(t,i,r,o,s,a,l){this._applicationRef=t,this._injector=i,this._environmentInjector=r,this._document=o,this._scrollBar=s,this._rendererFactory=a,this._ngZone=l,this._activeWindowCmptHasChanged=new Ee,this._ariaHiddenValues=new Map,this._scrollBarRestoreFn=null,this._modalRefs=[],this._windowCmpts=[],this._activeInstances=new Y,this._activeWindowCmptHasChanged.subscribe(()=>{if(this._windowCmpts.length){const c=this._windowCmpts[this._windowCmpts.length-1];((e,n,t,i=!1)=>{e.runOutsideAngular(()=>{const r=At(n,"focusin").pipe(et(t),ae(o=>o.target));At(n,"keydown").pipe(et(t),vt(o=>o.which===Le.Tab),Tm(r)).subscribe(([o,s])=>{const[a,l]=jS(n);(s===a||s===n)&&o.shiftKey&&(l.focus(),o.preventDefault()),s===l&&!o.shiftKey&&(a.focus(),o.preventDefault())}),i&&At(n,"click").pipe(et(t),Tm(r),ae(o=>o[1])).subscribe(o=>o.focus())})})(this._ngZone,c.location.nativeElement,this._activeWindowCmptHasChanged),this._revertAriaHidden(),this._setAriaHidden(c.location.nativeElement)}})}_restoreScrollBar(){const t=this._scrollBarRestoreFn;t&&(this._scrollBarRestoreFn=null,t())}_hideScrollBar(){this._scrollBarRestoreFn||(this._scrollBarRestoreFn=this._scrollBar.hide())}open(t,i,r){const o=r.container instanceof HTMLElement?r.container:Wr(r.container)?this._document.querySelector(r.container):this._document.body,s=this._rendererFactory.createRenderer(null,null);if(!o)throw new Error(`The specified modal container "${r.container||"body"}" was not found in the DOM.`);this._hideScrollBar();const a=new iM,l=(t=r.injector||t).get(zt,null)||this._environmentInjector,c=this._getContentRef(t,l,i,a,r);let u=!1!==r.backdrop?this._attachBackdrop(o):void 0,d=this._attachWindowComponent(o,c.nodes),h=new i6(d,c,u,r.beforeDismiss);return this._registerModalRef(h),this._registerWindowCmpt(d),h.hidden.pipe(xt(1)).subscribe(()=>Promise.resolve(!0).then(()=>{this._modalRefs.length||(s.removeClass(this._document.body,"modal-open"),this._restoreScrollBar(),this._revertAriaHidden())})),a.close=_=>{h.close(_)},a.dismiss=_=>{h.dismiss(_)},a.update=_=>{h.update(_)},h.update(r),1===this._modalRefs.length&&s.addClass(this._document.body,"modal-open"),u&&u.instance&&u.changeDetectorRef.detectChanges(),d.changeDetectorRef.detectChanges(),h}get activeInstances(){return this._activeInstances}dismissAll(t){this._modalRefs.forEach(i=>i.dismiss(t))}hasOpenModals(){return this._modalRefs.length>0}_attachBackdrop(t){let i=Zp(e6,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector});return this._applicationRef.attachView(i.hostView),t.appendChild(i.location.nativeElement),i}_attachWindowComponent(t,i){let r=Zp(r6,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector,projectableNodes:i});return this._applicationRef.attachView(r.hostView),t.appendChild(r.location.nativeElement),r}_getContentRef(t,i,r,o,s){return r?r instanceof Je?this._createFromTemplateRef(r,o):zr(r)?this._createFromString(r):this._createFromComponent(t,i,r,o,s):new Xr([])}_createFromTemplateRef(t,i){const o=t.createEmbeddedView({$implicit:i,close(s){i.close(s)},dismiss(s){i.dismiss(s)}});return this._applicationRef.attachView(o),new Xr([o.rootNodes],o)}_createFromString(t){const i=this._document.createTextNode(`${t}`);return new Xr([[i]])}_createFromComponent(t,i,r,o,s){const l=Zp(r,{environmentInjector:i,elementInjector:Nt.create({providers:[{provide:iM,useValue:o}],parent:t})}),c=l.location.nativeElement;return s.scrollable&&c.classList.add("component-host-scrollable"),this._applicationRef.attachView(l.hostView),new Xr([[c]],l.hostView,l)}_setAriaHidden(t){const i=t.parentElement;i&&t!==this._document.body&&(Array.from(i.children).forEach(r=>{r!==t&&"SCRIPT"!==r.nodeName&&(this._ariaHiddenValues.set(r,r.getAttribute("aria-hidden")),r.setAttribute("aria-hidden","true"))}),this._setAriaHidden(i))}_revertAriaHidden(){this._ariaHiddenValues.forEach((t,i)=>{t?i.setAttribute("aria-hidden",t):i.removeAttribute("aria-hidden")}),this._ariaHiddenValues.clear()}_registerModalRef(t){const i=()=>{const r=this._modalRefs.indexOf(t);r>-1&&(this._modalRefs.splice(r,1),this._activeInstances.emit(this._modalRefs))};this._modalRefs.push(t),this._activeInstances.emit(this._modalRefs),t.result.then(i,i)}_registerWindowCmpt(t){this._windowCmpts.push(t),this._activeWindowCmptHasChanged.next(),t.onDestroy(()=>{const i=this._windowCmpts.indexOf(t);i>-1&&(this._windowCmpts.splice(i,1),this._activeWindowCmptHasChanged.next())})}static#e=this.\u0275fac=function(i){return new(i||e)(H(Ki),H(Nt),H(zt),H(ut),H(o6),H(kh),H(fe))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),a6=(()=>{class e{constructor(t){this._ngbConfig=t,this.backdrop=!0,this.fullscreen=!1,this.keyboard=!0}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(t){this._animation=t}static#e=this.\u0275fac=function(i){return new(i||e)(H(Ed))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),l6=(()=>{class e{constructor(t,i,r){this._injector=t,this._modalStack=i,this._config=r}open(t,i={}){const r={...this._config,animation:this._config.animation,...i};return this._modalStack.open(this._injector,t,r)}get activeInstances(){return this._modalStack.activeInstances}dismissAll(t){this._modalStack.dismissAll(t)}hasOpenModals(){return this._modalStack.hasOpenModals()}static#e=this.\u0275fac=function(i){return new(i||e)(H(Nt),H(s6),H(a6))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),rM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({providers:[l6]})}return e})(),aM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),gM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),mM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),_M=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),vM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),yM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),bM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),DM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),wM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})();new z("live announcer delay",{providedIn:"root",factory:function C6(){return 100}});let CM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),EM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})();const T6=[IS,NS,AS,zm,KS,nM,rM,aM,EM,gM,mM,_M,vM,yM,bM,DM,wM,CM];let S6=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({imports:[T6,IS,NS,AS,zm,KS,nM,rM,aM,EM,gM,mM,_M,vM,yM,bM,DM,wM,CM]})}return e})(),M6=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e,bootstrap:[kT]});static#n=this.\u0275inj=ve({providers:[Ju,Xu],imports:[rB,PB,$j,$4,Uj,S6,zm]})}return e})();nB().bootstrapModule(M6).catch(e=>console.error(e))},614:()=>{const se=":";const $l=function(E,...w){if($l.translate){const x=$l.translate(E,w);E=x[0],w=x[1]}let N=Qd(E[0],E.raw[0]);for(let x=1;x{var Li=Vi=>se(se.s=Vi);Li(614),Li(75)}]); \ No newline at end of file +"use strict";(self.webpackChunkexplorer=self.webpackChunkexplorer||[]).push([[179],{75:()=>{function se(e){return"function"==typeof e}function Li(e){const t=e(i=>{Error.call(i),i.stack=(new Error).stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}const fr=Li(e=>function(t){e(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((i,r)=>`${r+1}) ${i.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t});function Vi(e,n){if(e){const t=e.indexOf(n);0<=t&&e.splice(t,1)}}class nt{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;const{_parentage:t}=this;if(t)if(this._parentage=null,Array.isArray(t))for(const o of t)o.remove(this);else t.remove(this);const{initialTeardown:i}=this;if(se(i))try{i()}catch(o){n=o instanceof fr?o.errors:[o]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const o of r)try{hr(o)}catch(s){n=n??[],s instanceof fr?n=[...n,...s.errors]:n.push(s)}}if(n)throw new fr(n)}}add(n){var t;if(n&&n!==this)if(this.closed)hr(n);else{if(n instanceof nt){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=null!==(t=this._finalizers)&&void 0!==t?t:[]).push(n)}}_hasParent(n){const{_parentage:t}=this;return t===n||Array.isArray(t)&&t.includes(n)}_addParent(n){const{_parentage:t}=this;this._parentage=Array.isArray(t)?(t.push(n),t):t?[t,n]:n}_removeParent(n){const{_parentage:t}=this;t===n?this._parentage=null:Array.isArray(t)&&Vi(t,n)}remove(n){const{_finalizers:t}=this;t&&Vi(t,n),n instanceof nt&&n._removeParent(this)}}nt.EMPTY=(()=>{const e=new nt;return e.closed=!0,e})();const xs=nt.EMPTY;function Al(e){return e instanceof nt||e&&"closed"in e&&se(e.remove)&&se(e.add)&&se(e.unsubscribe)}function hr(e){se(e)?e():e.unsubscribe()}const Bi={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},io={setTimeout(e,n,...t){const{delegate:i}=io;return i?.setTimeout?i.setTimeout(e,n,...t):setTimeout(e,n,...t)},clearTimeout(e){const{delegate:n}=io;return(n?.clearTimeout||clearTimeout)(e)},delegate:void 0};function $d(e){io.setTimeout(()=>{const{onUnhandledError:n}=Bi;if(!n)throw e;n(e)})}function pr(){}const Ud=As("C",void 0,void 0);function As(e,n,t){return{kind:e,value:n,error:t}}let yi=null;function ni(e){if(Bi.useDeprecatedSynchronousErrorHandling){const n=!yi;if(n&&(yi={errorThrown:!1,error:null}),e(),n){const{errorThrown:t,error:i}=yi;if(yi=null,t)throw i}}else e()}class ro extends nt{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,Al(n)&&n.add(this)):this.destination=Ps}static create(n,t,i){return new bi(n,t,i)}next(n){this.isStopped?Rs(function zd(e){return As("N",e,void 0)}(n),this):this._next(n)}error(n){this.isStopped?Rs(function Gd(e){return As("E",void 0,e)}(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?Rs(Ud,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(n){this.destination.next(n)}_error(n){try{this.destination.error(n)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const Rl=Function.prototype.bind;function oo(e,n){return Rl.call(e,n)}class Pl{constructor(n){this.partialObserver=n}next(n){const{partialObserver:t}=this;if(t.next)try{t.next(n)}catch(i){ln(i)}}error(n){const{partialObserver:t}=this;if(t.error)try{t.error(n)}catch(i){ln(i)}else ln(n)}complete(){const{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(t){ln(t)}}}class bi extends ro{constructor(n,t,i){let r;if(super(),se(n)||!n)r={next:n??void 0,error:t??void 0,complete:i??void 0};else{let o;this&&Bi.useDeprecatedNextContext?(o=Object.create(n),o.unsubscribe=()=>this.unsubscribe(),r={next:n.next&&oo(n.next,o),error:n.error&&oo(n.error,o),complete:n.complete&&oo(n.complete,o)}):r=n}this.destination=new Pl(r)}}function ln(e){Bi.useDeprecatedSynchronousErrorHandling?function Wd(e){Bi.useDeprecatedSynchronousErrorHandling&&yi&&(yi.errorThrown=!0,yi.error=e)}(e):$d(e)}function Rs(e,n){const{onStoppedNotification:t}=Bi;t&&io.setTimeout(()=>t(e,n))}const Ps={closed:!0,next:pr,error:function kl(e){throw e},complete:pr},ks="function"==typeof Symbol&&Symbol.observable||"@@observable";function kn(e){return e}function Ll(e){return 0===e.length?kn:1===e.length?e[0]:function(t){return e.reduce((i,r)=>r(i),t)}}let Ce=(()=>{class e{constructor(t){t&&(this._subscribe=t)}lift(t){const i=new e;return i.source=this,i.operator=t,i}subscribe(t,i,r){const o=function Yd(e){return e&&e instanceof ro||function qd(e){return e&&se(e.next)&&se(e.error)&&se(e.complete)}(e)&&Al(e)}(t)?t:new bi(t,i,r);return ni(()=>{const{operator:s,source:a}=this;o.add(s?s.call(o,a):a?this._subscribe(o):this._trySubscribe(o))}),o}_trySubscribe(t){try{return this._subscribe(t)}catch(i){t.error(i)}}forEach(t,i){return new(i=Vl(i))((r,o)=>{const s=new bi({next:a=>{try{t(a)}catch(l){o(l),s.unsubscribe()}},error:o,complete:r});this.subscribe(s)})}_subscribe(t){var i;return null===(i=this.source)||void 0===i?void 0:i.subscribe(t)}[ks](){return this}pipe(...t){return Ll(t)(this)}toPromise(t){return new(t=Vl(t))((i,r)=>{let o;this.subscribe(s=>o=s,s=>r(s),()=>i(o))})}}return e.create=n=>new e(n),e})();function Vl(e){var n;return null!==(n=e??Bi.Promise)&&void 0!==n?n:Promise}const Zd=Li(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let Ee=(()=>{class e extends Ce{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const i=new Bl(this,this);return i.operator=t,i}_throwIfClosed(){if(this.closed)throw new Zd}next(t){ni(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const i of this.currentObservers)i.next(t)}})}error(t){ni(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;const{observers:i}=this;for(;i.length;)i.shift().error(t)}})}complete(){ni(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:t}=this;for(;t.length;)t.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){const{hasError:i,isStopped:r,observers:o}=this;return i||r?xs:(this.currentObservers=null,o.push(t),new nt(()=>{this.currentObservers=null,Vi(o,t)}))}_checkFinalizedStatuses(t){const{hasError:i,thrownError:r,isStopped:o}=this;i?t.error(r):o&&t.complete()}asObservable(){const t=new Ce;return t.source=this,t}}return e.create=(n,t)=>new Bl(n,t),e})();class Bl extends Ee{constructor(n,t){super(),this.destination=n,this.source=t}next(n){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===i||i.call(t,n)}error(n){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===i||i.call(t,n)}complete(){var n,t;null===(t=null===(n=this.destination)||void 0===n?void 0:n.complete)||void 0===t||t.call(n)}_subscribe(n){var t,i;return null!==(i=null===(t=this.source)||void 0===t?void 0:t.subscribe(n))&&void 0!==i?i:xs}}function Fs(e){return se(e?.lift)}function qe(e){return n=>{if(Fs(n))return n.lift(function(t){try{return e(t,this)}catch(i){this.error(i)}});throw new TypeError("Unable to lift unknown Observable type")}}function Ve(e,n,t,i,r){return new Jd(e,n,t,i,r)}class Jd extends ro{constructor(n,t,i,r,o,s){super(n),this.onFinalize=o,this.shouldUnsubscribe=s,this._next=t?function(a){try{t(a)}catch(l){n.error(l)}}:super._next,this._error=r?function(a){try{r(a)}catch(l){n.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=i?function(){try{i()}catch(a){n.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:t}=this;super.unsubscribe(),!t&&(null===(n=this.onFinalize)||void 0===n||n.call(this))}}}function ae(e,n){return qe((t,i)=>{let r=0;t.subscribe(Ve(i,o=>{i.next(e.call(n,o,r++))}))})}function Jt(e){return this instanceof Jt?(this.v=e,this):new Jt(e)}function Xt(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=function it(e){var n="function"==typeof Symbol&&Symbol.iterator,t=n&&e[n],i=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(o){t[o]=e[o]&&function(s){return new Promise(function(a,l){!function r(o,s,a,l){Promise.resolve(l).then(function(c){o({value:c,done:a})},s)}(a,l,(s=e[o](s)).done,s.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const nf=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function c_(e){return se(e?.then)}function u_(e){return se(e[ks])}function d_(e){return Symbol.asyncIterator&&se(e?.[Symbol.asyncIterator])}function f_(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const h_=function VM(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function p_(e){return se(e?.[h_])}function g_(e){return function gr(e,n,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,i=t.apply(e,n||[]),o=[];return r={},s("next"),s("throw"),s("return"),r[Symbol.asyncIterator]=function(){return this},r;function s(h){i[h]&&(r[h]=function(_){return new Promise(function(v,y){o.push([h,_,v,y])>1||a(h,_)})})}function a(h,_){try{!function l(h){h.value instanceof Jt?Promise.resolve(h.value.v).then(c,u):d(o[0][2],h)}(i[h](_))}catch(v){d(o[0][3],v)}}function c(h){a("next",h)}function u(h){a("throw",h)}function d(h,_){h(_),o.shift(),o.length&&a(o[0][0],o[0][1])}}(this,arguments,function*(){const t=e.getReader();try{for(;;){const{value:i,done:r}=yield Jt(t.read());if(r)return yield Jt(void 0);yield yield Jt(i)}}finally{t.releaseLock()}})}function m_(e){return se(e?.getReader)}function ft(e){if(e instanceof Ce)return e;if(null!=e){if(u_(e))return function BM(e){return new Ce(n=>{const t=e[ks]();if(se(t.subscribe))return t.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(nf(e))return function jM(e){return new Ce(n=>{for(let t=0;t{e.then(t=>{n.closed||(n.next(t),n.complete())},t=>n.error(t)).then(null,$d)})}(e);if(d_(e))return __(e);if(p_(e))return function $M(e){return new Ce(n=>{for(const t of e)if(n.next(t),n.closed)return;n.complete()})}(e);if(m_(e))return function UM(e){return __(g_(e))}(e)}throw f_(e)}function __(e){return new Ce(n=>{(function GM(e,n){var t,i,r,o;return function N(e,n,t,i){return new(t||(t=Promise))(function(o,s){function a(u){try{c(i.next(u))}catch(d){s(d)}}function l(u){try{c(i.throw(u))}catch(d){s(d)}}function c(u){u.done?o(u.value):function r(o){return o instanceof t?o:new t(function(s){s(o)})}(u.value).then(a,l)}c((i=i.apply(e,n||[])).next())})}(this,void 0,void 0,function*(){try{for(t=Xt(e);!(i=yield t.next()).done;)if(n.next(i.value),n.closed)return}catch(s){r={error:s}}finally{try{i&&!i.done&&(o=t.return)&&(yield o.call(t))}finally{if(r)throw r.error}}n.complete()})})(e,n).catch(t=>n.error(t))})}function Di(e,n,t,i=0,r=!1){const o=n.schedule(function(){t(),r?e.add(this.schedule(null,i)):this.unsubscribe()},i);if(e.add(o),!r)return o}function ht(e,n,t=1/0){return se(n)?ht((i,r)=>ae((o,s)=>n(i,o,r,s))(ft(e(i,r))),t):("number"==typeof n&&(t=n),qe((i,r)=>function zM(e,n,t,i,r,o,s,a){const l=[];let c=0,u=0,d=!1;const h=()=>{d&&!l.length&&!c&&n.complete()},_=y=>c{o&&n.next(y),c++;let D=!1;ft(t(y,u++)).subscribe(Ve(n,M=>{r?.(M),o?_(M):n.next(M)},()=>{D=!0},void 0,()=>{if(D)try{for(c--;l.length&&cv(M)):v(M)}h()}catch(M){n.error(M)}}))};return e.subscribe(Ve(n,_,()=>{d=!0,h()})),()=>{a?.()}}(i,r,e,t)))}function lo(e=1/0){return ht(kn,e)}const bn=new Ce(e=>e.complete());function v_(e){return e&&se(e.schedule)}function rf(e){return e[e.length-1]}function Ul(e){return se(rf(e))?e.pop():void 0}function Vs(e){return v_(rf(e))?e.pop():void 0}function y_(e,n=0){return qe((t,i)=>{t.subscribe(Ve(i,r=>Di(i,e,()=>i.next(r),n),()=>Di(i,e,()=>i.complete(),n),r=>Di(i,e,()=>i.error(r),n)))})}function b_(e,n=0){return qe((t,i)=>{i.add(e.schedule(()=>t.subscribe(i),n))})}function D_(e,n){if(!e)throw new Error("Iterable cannot be null");return new Ce(t=>{Di(t,n,()=>{const i=e[Symbol.asyncIterator]();Di(t,n,()=>{i.next().then(r=>{r.done?t.complete():t.next(r.value)})},0,!0)})})}function pt(e,n){return n?function KM(e,n){if(null!=e){if(u_(e))return function YM(e,n){return ft(e).pipe(b_(n),y_(n))}(e,n);if(nf(e))return function JM(e,n){return new Ce(t=>{let i=0;return n.schedule(function(){i===e.length?t.complete():(t.next(e[i++]),t.closed||this.schedule())})})}(e,n);if(c_(e))return function ZM(e,n){return ft(e).pipe(b_(n),y_(n))}(e,n);if(d_(e))return D_(e,n);if(p_(e))return function XM(e,n){return new Ce(t=>{let i;return Di(t,n,()=>{i=e[h_](),Di(t,n,()=>{let r,o;try{({value:r,done:o}=i.next())}catch(s){return void t.error(s)}o?t.complete():t.next(r)},0,!0)}),()=>se(i?.return)&&i.return()})}(e,n);if(m_(e))return function QM(e,n){return D_(g_(e),n)}(e,n)}throw f_(e)}(e,n):ft(e)}class Dn extends Ee{constructor(n){super(),this._value=n}get value(){return this.getValue()}_subscribe(n){const t=super._subscribe(n);return!t.closed&&n.next(this._value),t}getValue(){const{hasError:n,thrownError:t,_value:i}=this;if(n)throw t;return this._throwIfClosed(),i}next(n){super.next(this._value=n)}}function J(...e){return pt(e,Vs(e))}function C_(e={}){const{connector:n=(()=>new Ee),resetOnError:t=!0,resetOnComplete:i=!0,resetOnRefCountZero:r=!0}=e;return o=>{let s,a,l,c=0,u=!1,d=!1;const h=()=>{a?.unsubscribe(),a=void 0},_=()=>{h(),s=l=void 0,u=d=!1},v=()=>{const y=s;_(),y?.unsubscribe()};return qe((y,D)=>{c++,!d&&!u&&h();const M=l=l??n();D.add(()=>{c--,0===c&&!d&&!u&&(a=sf(v,r))}),M.subscribe(D),!s&&c>0&&(s=new bi({next:C=>M.next(C),error:C=>{d=!0,h(),a=sf(_,t,C),M.error(C)},complete:()=>{u=!0,h(),a=sf(_,i),M.complete()}}),ft(y).subscribe(s))})(o)}}function sf(e,n,...t){if(!0===n)return void e();if(!1===n)return;const i=new bi({next:()=>{i.unsubscribe(),e()}});return ft(n(...t)).subscribe(i)}function wn(e,n){return qe((t,i)=>{let r=null,o=0,s=!1;const a=()=>s&&!r&&i.complete();t.subscribe(Ve(i,l=>{r?.unsubscribe();let c=0;const u=o++;ft(e(l,u)).subscribe(r=Ve(i,d=>i.next(n?n(l,d,u,c++):d),()=>{r=null,a()}))},()=>{s=!0,a()}))})}function eI(e,n){return e===n}function xe(e){for(let n in e)if(e[n]===xe)return n;throw Error("Could not find renamed property on target object.")}function Gl(e,n){for(const t in n)n.hasOwnProperty(t)&&!e.hasOwnProperty(t)&&(e[t]=n[t])}function gt(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(gt).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const n=e.toString();if(null==n)return""+n;const t=n.indexOf("\n");return-1===t?n:n.substring(0,t)}function af(e,n){return null==e||""===e?null===n?"":n:null==n||""===n?e:e+" "+n}const tI=xe({__forward_ref__:xe});function le(e){return e.__forward_ref__=le,e.toString=function(){return gt(this())},e}function ee(e){return lf(e)?e():e}function lf(e){return"function"==typeof e&&e.hasOwnProperty(tI)&&e.__forward_ref__===le}function cf(e){return e&&!!e.\u0275providers}const T_="https://g.co/ng/security#xss";class R extends Error{constructor(n,t){super(function zl(e,n){return`NG0${Math.abs(e)}${n?": "+n:""}`}(n,t)),this.code=n}}function te(e){return"string"==typeof e?e:null==e?"":String(e)}function uf(e,n){throw new R(-201,!1)}function Cn(e,n){null==e&&function Q(e,n,t,i){throw new Error(`ASSERTION ERROR: ${e}`+(null==i?"":` [Expected=> ${t} ${i} ${n} <=Actual]`))}(n,e,null,"!=")}function B(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function ve(e){return{providers:e.providers||[],imports:e.imports||[]}}function Wl(e){return S_(e,Yl)||S_(e,M_)}function S_(e,n){return e.hasOwnProperty(n)?e[n]:null}function ql(e){return e&&(e.hasOwnProperty(df)||e.hasOwnProperty(cI))?e[df]:null}const Yl=xe({\u0275prov:xe}),df=xe({\u0275inj:xe}),M_=xe({ngInjectableDef:xe}),cI=xe({ngInjectorDef:xe});var ce=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(ce||{});let ff;function Qt(e){const n=ff;return ff=e,n}function N_(e,n,t){const i=Wl(e);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:t&ce.Optional?null:void 0!==n?n:void uf(gt(e))}const Be=globalThis;class z{constructor(n,t){this._desc=n,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=B({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const Bs={},_f="__NG_DI_FLAG__",Zl="ngTempTokenPath",fI=/\n/gm,x_="__source";let co;function Hi(e){const n=co;return co=e,n}function gI(e,n=ce.Default){if(void 0===co)throw new R(-203,!1);return null===co?N_(e,void 0,n):co.get(e,n&ce.Optional?null:void 0,n)}function H(e,n=ce.Default){return(function I_(){return ff}()||gI)(ee(e),n)}function F(e,n=ce.Default){return H(e,Jl(n))}function Jl(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function vf(e){const n=[];for(let t=0;tn){s=o-1;break}}}for(;oo?"":r[d+1].toLowerCase();const _=8&i?h:null;if(_&&-1!==k_(_,c,0)||2&i&&c!==h){if(Ln(i))return!1;s=!0}}}}else{if(!s&&!Ln(i)&&!Ln(l))return!1;if(s&&Ln(l))continue;s=!1,i=l|1&i}}return Ln(i)||s}function Ln(e){return 0==(1&e)}function wI(e,n,t,i){if(null===n)return-1;let r=0;if(i||!t){let o=!1;for(;r-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&i?r+="."+s:4&i&&(r+=" "+s);else""!==r&&!Ln(s)&&(n+=$_(o,r),r=""),i=s,o=o||!Ln(i);t++}return""!==r&&(n+=$_(o,r)),n}function kt(e){return wi(()=>{const n=G_(e),t={...n,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===Xl.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||Fn.Emulated,styles:e.styles||ye,_:null,schemas:e.schemas||null,tView:null,id:""};z_(t);const i=e.dependencies;return t.directiveDefs=Kl(i,!1),t.pipeDefs=Kl(i,!0),t.id=function kI(e){let n=0;const t=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery].join("|");for(const r of t)n=Math.imul(31,n)+r.charCodeAt(0)<<0;return n+=2147483648,"c"+n}(t),t})}function xI(e){return he(e)||Et(e)}function AI(e){return null!==e}function be(e){return wi(()=>({type:e.type,bootstrap:e.bootstrap||ye,declarations:e.declarations||ye,imports:e.imports||ye,exports:e.exports||ye,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function U_(e,n){if(null==e)return ii;const t={};for(const i in e)if(e.hasOwnProperty(i)){let r=e[i],o=r;Array.isArray(r)&&(o=r[1],r=r[0]),t[r]=i,n&&(n[r]=o)}return t}function L(e){return wi(()=>{const n=G_(e);return z_(n),n})}function Bt(e){return{type:e.type,name:e.name,factory:null,pure:!1!==e.pure,standalone:!0===e.standalone,onDestroy:e.type.prototype.ngOnDestroy||null}}function he(e){return e[Ql]||null}function Et(e){return e[yf]||null}function jt(e){return e[bf]||null}function un(e,n){const t=e[R_]||null;if(!t&&!0===n)throw new Error(`Type ${gt(e)} does not have '\u0275mod' property.`);return t}function G_(e){const n={};return{type:e.type,providersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:n,inputTransforms:null,inputConfig:e.inputs||ii,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||ye,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:U_(e.inputs,n),outputs:U_(e.outputs)}}function z_(e){e.features?.forEach(n=>n(e))}function Kl(e,n){if(!e)return null;const t=n?jt:xI;return()=>("function"==typeof e?e():e).map(i=>t(i)).filter(AI)}const Qe=0,$=1,re=2,ze=3,Vn=4,Us=5,Ft=6,fo=7,rt=8,$i=9,ho=10,ne=11,Gs=12,W_=13,po=14,ot=15,zs=16,go=17,ri=18,Ws=19,q_=20,Ui=21,Ei=22,qs=23,Ys=24,ue=25,wf=1,Y_=2,oi=7,mo=9,Tt=11;function Kt(e){return Array.isArray(e)&&"object"==typeof e[wf]}function Ht(e){return Array.isArray(e)&&!0===e[wf]}function Cf(e){return 0!=(4&e.flags)}function vr(e){return e.componentOffset>-1}function tc(e){return 1==(1&e.flags)}function Bn(e){return!!e.template}function Ef(e){return 0!=(512&e[re])}function yr(e,n){return e.hasOwnProperty(Ci)?e[Ci]:null}let St=null,nc=!1;function En(e){const n=St;return St=e,n}const X_={version:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{}};function K_(e){if(!Js(e)||e.dirty){if(!e.producerMustRecompute(e)&&!nv(e))return void(e.dirty=!1);e.producerRecomputeValue(e),e.dirty=!1}}function tv(e){e.dirty=!0,function ev(e){if(void 0===e.liveConsumerNode)return;const n=nc;nc=!0;try{for(const t of e.liveConsumerNode)t.dirty||tv(t)}finally{nc=n}}(e),e.consumerMarkedDirty?.(e)}function Sf(e){return e&&(e.nextProducerIndex=0),En(e)}function Mf(e,n){if(En(n),e&&void 0!==e.producerNode&&void 0!==e.producerIndexOfThis&&void 0!==e.producerLastReadVersion){if(Js(e))for(let t=e.nextProducerIndex;te.nextProducerIndex;)e.producerNode.pop(),e.producerLastReadVersion.pop(),e.producerIndexOfThis.pop()}}function nv(e){_o(e);for(let n=0;n0}function _o(e){e.producerNode??=[],e.producerIndexOfThis??=[],e.producerLastReadVersion??=[]}let sv=null;const uv=()=>{},YI=(()=>({...X_,consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!1,consumerMarkedDirty:e=>{e.schedule(e.ref)},hasRun:!1,cleanupFn:uv}))();class ZI{constructor(n,t,i){this.previousValue=n,this.currentValue=t,this.firstChange=i}isFirstChange(){return this.firstChange}}function Mt(){return dv}function dv(e){return e.type.prototype.ngOnChanges&&(e.setInput=XI),JI}function JI(){const e=hv(this),n=e?.current;if(n){const t=e.previous;if(t===ii)e.previous=n;else for(let i in n)t[i]=n[i];e.current=null,this.ngOnChanges(n)}}function XI(e,n,t,i){const r=this.declaredInputs[t],o=hv(e)||function QI(e,n){return e[fv]=n}(e,{previous:ii,current:null}),s=o.current||(o.current={}),a=o.previous,l=a[r];s[r]=new ZI(l&&l.currentValue,n,a===ii),e[i]=n}Mt.ngInherit=!0;const fv="__ngSimpleChanges__";function hv(e){return e[fv]||null}const si=function(e,n,t){};function je(e){for(;Array.isArray(e);)e=e[Qe];return e}function rc(e,n){return je(n[e])}function en(e,n){return je(n[e.index])}function mv(e,n){return e.data[n]}function dn(e,n){const t=n[e];return Kt(t)?t:t[Qe]}function zi(e,n){return null==n?null:e[n]}function _v(e){e[go]=0}function rN(e){1024&e[re]||(e[re]|=1024,yv(e,1))}function vv(e){1024&e[re]&&(e[re]&=-1025,yv(e,-1))}function yv(e,n){let t=e[ze];if(null===t)return;t[Us]+=n;let i=t;for(t=t[ze];null!==t&&(1===n&&1===i[Us]||-1===n&&0===i[Us]);)t[Us]+=n,i=t,t=t[ze]}const K={lFrame:Ov(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function wv(){return K.bindingsEnabled}function yo(){return null!==K.skipHydrationRootTNode}function O(){return K.lFrame.lView}function pe(){return K.lFrame.tView}function Ue(e){return K.lFrame.contextLView=e,e[rt]}function Ge(e){return K.lFrame.contextLView=null,e}function It(){let e=Cv();for(;null!==e&&64===e.type;)e=e.parent;return e}function Cv(){return K.lFrame.currentTNode}function ai(e,n){const t=K.lFrame;t.currentTNode=e,t.isParent=n}function Af(){return K.lFrame.isParent}function Rf(){K.lFrame.isParent=!1}function $t(){const e=K.lFrame;let n=e.bindingRootIndex;return-1===n&&(n=e.bindingRootIndex=e.tView.bindingStartIndex),n}function bo(){return K.lFrame.bindingIndex++}function Si(e){const n=K.lFrame,t=n.bindingIndex;return n.bindingIndex=n.bindingIndex+e,t}function mN(e,n){const t=K.lFrame;t.bindingIndex=t.bindingRootIndex=e,Pf(n)}function Pf(e){K.lFrame.currentDirectiveIndex=e}function Mv(){return K.lFrame.currentQueryIndex}function Ff(e){K.lFrame.currentQueryIndex=e}function vN(e){const n=e[$];return 2===n.type?n.declTNode:1===n.type?e[Ft]:null}function Iv(e,n,t){if(t&ce.SkipSelf){let r=n,o=e;for(;!(r=r.parent,null!==r||t&ce.Host||(r=vN(o),null===r||(o=o[po],10&r.type))););if(null===r)return!1;n=r,e=o}const i=K.lFrame=Nv();return i.currentTNode=n,i.lView=e,!0}function Lf(e){const n=Nv(),t=e[$];K.lFrame=n,n.currentTNode=t.firstChild,n.lView=e,n.tView=t,n.contextLView=e,n.bindingIndex=t.bindingStartIndex,n.inI18n=!1}function Nv(){const e=K.lFrame,n=null===e?null:e.child;return null===n?Ov(e):n}function Ov(e){const n={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return null!==e&&(e.child=n),n}function xv(){const e=K.lFrame;return K.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const Av=xv;function Vf(){const e=xv();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function Ut(){return K.lFrame.selectedIndex}function br(e){K.lFrame.selectedIndex=e}function Ye(){const e=K.lFrame;return mv(e.tView,e.selectedIndex)}let Pv=!0;function oc(){return Pv}function Wi(e){Pv=e}function sc(e,n){for(let t=n.directiveStart,i=n.directiveEnd;t=i)break}else n[l]<0&&(e[go]+=65536),(a>13>16&&(3&e[re])===n&&(e[re]+=8192,Fv(a,o)):Fv(a,o)}const Do=-1;class Qs{constructor(n,t,i){this.factory=n,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=i}}function Hf(e){return e!==Do}function Ks(e){return 32767&e}function ea(e,n){let t=function ON(e){return e>>16}(e),i=n;for(;t>0;)i=i[po],t--;return i}let $f=!0;function cc(e){const n=$f;return $f=e,n}const Lv=255,Vv=5;let xN=0;const li={};function uc(e,n){const t=Bv(e,n);if(-1!==t)return t;const i=n[$];i.firstCreatePass&&(e.injectorIndex=n.length,Uf(i.data,e),Uf(n,null),Uf(i.blueprint,null));const r=dc(e,n),o=e.injectorIndex;if(Hf(r)){const s=Ks(r),a=ea(r,n),l=a[$].data;for(let c=0;c<8;c++)n[o+c]=a[s+c]|l[s+c]}return n[o+8]=r,o}function Uf(e,n){e.push(0,0,0,0,0,0,0,0,n)}function Bv(e,n){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===n[e.injectorIndex+8]?-1:e.injectorIndex}function dc(e,n){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let t=0,i=null,r=n;for(;null!==r;){if(i=Wv(r),null===i)return Do;if(t++,r=r[po],-1!==i.injectorIndex)return i.injectorIndex|t<<16}return Do}function Gf(e,n,t){!function AN(e,n,t){let i;"string"==typeof t?i=t.charCodeAt(0)||0:t.hasOwnProperty(Hs)&&(i=t[Hs]),null==i&&(i=t[Hs]=xN++);const r=i&Lv;n.data[e+(r>>Vv)]|=1<=0?n&Lv:LN:n}(t);if("function"==typeof o){if(!Iv(n,e,i))return i&ce.Host?jv(r,0,i):Hv(n,t,i,r);try{let s;if(s=o(i),null!=s||i&ce.Optional)return s;uf()}finally{Av()}}else if("number"==typeof o){let s=null,a=Bv(e,n),l=Do,c=i&ce.Host?n[ot][Ft]:null;for((-1===a||i&ce.SkipSelf)&&(l=-1===a?dc(e,n):n[a+8],l!==Do&&zv(i,!1)?(s=n[$],a=Ks(l),n=ea(l,n)):a=-1);-1!==a;){const u=n[$];if(Gv(o,a,u.data)){const d=PN(a,n,t,s,i,c);if(d!==li)return d}l=n[a+8],l!==Do&&zv(i,n[$].data[a+8]===c)&&Gv(o,a,n)?(s=u,a=Ks(l),n=ea(l,n)):a=-1}}return r}function PN(e,n,t,i,r,o){const s=n[$],a=s.data[e+8],u=fc(a,s,t,null==i?vr(a)&&$f:i!=s&&0!=(3&a.type),r&ce.Host&&o===a);return null!==u?Dr(n,s,u,a):li}function fc(e,n,t,i,r){const o=e.providerIndexes,s=n.data,a=1048575&o,l=e.directiveStart,u=o>>20,h=r?a+u:e.directiveEnd;for(let _=i?a:a+u;_=l&&v.type===t)return _}if(r){const _=s[l];if(_&&Bn(_)&&_.type===t)return l}return null}function Dr(e,n,t,i){let r=e[t];const o=n.data;if(function MN(e){return e instanceof Qs}(r)){const s=r;s.resolving&&function nI(e,n){const t=n?`. Dependency path: ${n.join(" > ")} > ${e}`:"";throw new R(-200,`Circular dependency in DI detected for ${e}${t}`)}(function Te(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():te(e)}(o[t]));const a=cc(s.canSeeViewProviders);s.resolving=!0;const c=s.injectImpl?Qt(s.injectImpl):null;Iv(e,i,ce.Default);try{r=e[t]=s.factory(void 0,o,e,i),n.firstCreatePass&&t>=i.directiveStart&&function TN(e,n,t){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:o}=n.type.prototype;if(i){const s=dv(n);(t.preOrderHooks??=[]).push(e,s),(t.preOrderCheckHooks??=[]).push(e,s)}r&&(t.preOrderHooks??=[]).push(0-e,r),o&&((t.preOrderHooks??=[]).push(e,o),(t.preOrderCheckHooks??=[]).push(e,o))}(t,o[t],n)}finally{null!==c&&Qt(c),cc(a),s.resolving=!1,Av()}}return r}function Gv(e,n,t){return!!(t[n+(e>>Vv)]&1<{const n=e.prototype.constructor,t=n[Ci]||zf(n),i=Object.prototype;let r=Object.getPrototypeOf(e.prototype).constructor;for(;r&&r!==i;){const o=r[Ci]||zf(r);if(o&&o!==t)return o;r=Object.getPrototypeOf(r)}return o=>new o})}function zf(e){return lf(e)?()=>{const n=zf(ee(e));return n&&n()}:yr(e)}function Wv(e){const n=e[$],t=n.type;return 2===t?n.declTNode:1===t?e[Ft]:null}const Co="__parameters__";function To(e,n,t){return wi(()=>{const i=function Wf(e){return function(...t){if(e){const i=e(...t);for(const r in i)this[r]=i[r]}}}(n);function r(...o){if(this instanceof r)return i.apply(this,o),this;const s=new r(...o);return a.annotation=s,a;function a(l,c,u){const d=l.hasOwnProperty(Co)?l[Co]:Object.defineProperty(l,Co,{value:[]})[Co];for(;d.length<=u;)d.push(null);return(d[u]=d[u]||[]).push(s),l}}return t&&(r.prototype=Object.create(t.prototype)),r.prototype.ngMetadataName=e,r.annotationCls=r,r})}function Mo(e,n){e.forEach(t=>Array.isArray(t)?Mo(t,n):n(t))}function Yv(e,n,t){n>=e.length?e.push(t):e.splice(n,0,t)}function hc(e,n){return n>=e.length-1?e.pop():e.splice(n,1)[0]}function ia(e,n){const t=[];for(let i=0;i=0?e[1|i]=t:(i=~i,function zN(e,n,t,i){let r=e.length;if(r==n)e.push(t,i);else if(1===r)e.push(i,e[0]),e[0]=t;else{for(r--,e.push(e[r-1],e[r]);r>n;)e[r]=e[r-2],r--;e[n]=t,e[n+1]=i}}(e,i,n,t)),i}function qf(e,n){const t=Io(e,n);if(t>=0)return e[1|t]}function Io(e,n){return function Zv(e,n,t){let i=0,r=e.length>>t;for(;r!==i;){const o=i+(r-i>>1),s=e[o<n?r=o:i=o+1}return~(r<|^->||--!>|)/g,pO="\u200b$1\u200b";const Qf=new Map;let gO=0;const eh="__ngContext__";function Lt(e,n){Kt(n)?(e[eh]=n[Ws],function _O(e){Qf.set(e[Ws],e)}(n)):e[eh]=n}let th;function nh(e,n){return th(e,n)}function sa(e){const n=e[ze];return Ht(n)?n[ze]:n}function gy(e){return _y(e[Gs])}function my(e){return _y(e[Vn])}function _y(e){for(;null!==e&&!Ht(e);)e=e[Vn];return e}function xo(e,n,t,i,r){if(null!=i){let o,s=!1;Ht(i)?o=i:Kt(i)&&(s=!0,i=i[Qe]);const a=je(i);0===e&&null!==t?null==r?Dy(n,t,a):Cr(n,t,a,r||null,!0):1===e&&null!==t?Cr(n,t,a,r||null,!0):2===e?function Ic(e,n,t){const i=Sc(e,n);i&&function FO(e,n,t,i){e.removeChild(n,t,i)}(e,i,n,t)}(n,a,s):3===e&&n.destroyNode(a),null!=o&&function BO(e,n,t,i,r){const o=t[oi];o!==je(t)&&xo(n,e,i,o,r);for(let a=Tt;an.replace(hO,pO))}(n))}function Ec(e,n,t){return e.createElement(n,t)}function yy(e,n){const t=e[mo],i=t.indexOf(n);vv(n),t.splice(i,1)}function Tc(e,n){if(e.length<=Tt)return;const t=Tt+n,i=e[t];if(i){const r=i[zs];null!==r&&r!==e&&yy(r,i),n>0&&(e[t-1][Vn]=i[Vn]);const o=hc(e,Tt+n);!function IO(e,n){la(e,n,n[ne],2,null,null),n[Qe]=null,n[Ft]=null}(i[$],i);const s=o[ri];null!==s&&s.detachView(o[$]),i[ze]=null,i[Vn]=null,i[re]&=-129}return i}function rh(e,n){if(!(256&n[re])){const t=n[ne];n[qs]&&iv(n[qs]),n[Ys]&&iv(n[Ys]),t.destroyNode&&la(e,n,t,3,null,null),function xO(e){let n=e[Gs];if(!n)return oh(e[$],e);for(;n;){let t=null;if(Kt(n))t=n[Gs];else{const i=n[Tt];i&&(t=i)}if(!t){for(;n&&!n[Vn]&&n!==e;)Kt(n)&&oh(n[$],n),n=n[ze];null===n&&(n=e),Kt(n)&&oh(n[$],n),t=n&&n[Vn]}n=t}}(n)}}function oh(e,n){if(!(256&n[re])){n[re]&=-129,n[re]|=256,function kO(e,n){let t;if(null!=e&&null!=(t=e.destroyHooks))for(let i=0;i=0?i[s]():i[-s].unsubscribe(),o+=2}else t[o].call(i[t[o+1]]);null!==i&&(n[fo]=null);const r=n[Ui];if(null!==r){n[Ui]=null;for(let o=0;o-1){const{encapsulation:o}=e.data[i.directiveStart+r];if(o===Fn.None||o===Fn.Emulated)return null}return en(i,t)}}(e,n.parent,t)}function Cr(e,n,t,i,r){e.insertBefore(n,t,i,r)}function Dy(e,n,t){e.appendChild(n,t)}function wy(e,n,t,i,r){null!==i?Cr(e,n,t,i,r):Dy(e,n,t)}function Sc(e,n){return e.parentNode(n)}function Cy(e,n,t){return Ty(e,n,t)}let ah,dh,Ty=function Ey(e,n,t){return 40&e.type?en(e,t):null};function Mc(e,n,t,i){const r=sh(e,i,n),o=n[ne],a=Cy(i.parent||n[Ft],i,n);if(null!=r)if(Array.isArray(t))for(let l=0;l{t.push(s)};return Mo(n,s=>{const a=s;Ac(a,o,[],i)&&(r||=[],r.push(a))}),void 0!==r&&qy(r,o),t}function qy(e,n){for(let t=0;t{n(o,i)})}}function Ac(e,n,t,i){if(!(e=ee(e)))return!1;let r=null,o=ql(e);const s=!o&&he(e);if(o||s){if(s&&!s.standalone)return!1;r=e}else{const l=e.ngModule;if(o=ql(l),!o)return!1;r=l}const a=i.has(r);if(s){if(a)return!1;if(i.add(r),s.dependencies){const l="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const c of l)Ac(c,n,t,i)}}else{if(!o)return!1;{if(null!=o.imports&&!a){let c;i.add(r);try{Mo(o.imports,u=>{Ac(u,n,t,i)&&(c||=[],c.push(u))})}finally{}void 0!==c&&qy(c,n)}if(!a){const c=yr(r)||(()=>new r);n({provide:r,useFactory:c,deps:ye},r),n({provide:zy,useValue:r,multi:!0},r),n({provide:fa,useValue:()=>H(r),multi:!0},r)}const l=o.providers;if(null!=l&&!a){const c=e;yh(l,u=>{n(u,c)})}}}return r!==e&&void 0!==e.providers}function yh(e,n){for(let t of e)cf(t)&&(t=t.\u0275providers),Array.isArray(t)?yh(t,n):n(t)}const gx=xe({provide:String,useValue:xe});function bh(e){return null!==e&&"object"==typeof e&&gx in e}function Er(e){return"function"==typeof e}const Dh=new z("Set Injector scope."),Rc={},_x={};let wh;function Pc(){return void 0===wh&&(wh=new _h),wh}class zt{}class ko extends zt{get destroyed(){return this._destroyed}constructor(n,t,i,r){super(),this.parent=t,this.source=i,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,Eh(n,s=>this.processProvider(s)),this.records.set(Gy,Fo(void 0,this)),r.has("environment")&&this.records.set(zt,Fo(void 0,this));const o=this.records.get(Dh);null!=o&&"string"==typeof o.value&&this.scopes.add(o.value),this.injectorDefTypes=new Set(this.get(zy.multi,ye,ce.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const t of this._ngOnDestroyHooks)t.ngOnDestroy();const n=this._onDestroyHooks;this._onDestroyHooks=[];for(const t of n)t()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(n){return this.assertNotDestroyed(),this._onDestroyHooks.push(n),()=>this.removeOnDestroy(n)}runInContext(n){this.assertNotDestroyed();const t=Hi(this),i=Qt(void 0);try{return n()}finally{Hi(t),Qt(i)}}get(n,t=Bs,i=ce.Default){if(this.assertNotDestroyed(),n.hasOwnProperty(P_))return n[P_](this);i=Jl(i);const o=Hi(this),s=Qt(void 0);try{if(!(i&ce.SkipSelf)){let l=this.records.get(n);if(void 0===l){const c=function wx(e){return"function"==typeof e||"object"==typeof e&&e instanceof z}(n)&&Wl(n);l=c&&this.injectableDefInScope(c)?Fo(Ch(n),Rc):null,this.records.set(n,l)}if(null!=l)return this.hydrate(n,l)}return(i&ce.Self?Pc():this.parent).get(n,t=i&ce.Optional&&t===Bs?null:t)}catch(a){if("NullInjectorError"===a.name){if((a[Zl]=a[Zl]||[]).unshift(gt(n)),o)throw a;return function _I(e,n,t,i){const r=e[Zl];throw n[x_]&&r.unshift(n[x_]),e.message=function vI(e,n,t,i=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let r=gt(n);if(Array.isArray(n))r=n.map(gt).join(" -> ");else if("object"==typeof n){let o=[];for(let s in n)if(n.hasOwnProperty(s)){let a=n[s];o.push(s+":"+("string"==typeof a?JSON.stringify(a):gt(a)))}r=`{${o.join(", ")}}`}return`${t}${i?"("+i+")":""}[${r}]: ${e.replace(fI,"\n ")}`}("\n"+e.message,r,t,i),e.ngTokenPath=r,e[Zl]=null,e}(a,n,"R3InjectorError",this.source)}throw a}finally{Qt(s),Hi(o)}}resolveInjectorInitializers(){const n=Hi(this),t=Qt(void 0);try{const r=this.get(fa.multi,ye,ce.Self);for(const o of r)o()}finally{Hi(n),Qt(t)}}toString(){const n=[],t=this.records;for(const i of t.keys())n.push(gt(i));return`R3Injector[${n.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new R(205,!1)}processProvider(n){let t=Er(n=ee(n))?n:ee(n&&n.provide);const i=function yx(e){return bh(e)?Fo(void 0,e.useValue):Fo(Jy(e),Rc)}(n);if(Er(n)||!0!==n.multi)this.records.get(t);else{let r=this.records.get(t);r||(r=Fo(void 0,Rc,!0),r.factory=()=>vf(r.multi),this.records.set(t,r)),t=n,r.multi.push(n)}this.records.set(t,i)}hydrate(n,t){return t.value===Rc&&(t.value=_x,t.value=t.factory()),"object"==typeof t.value&&t.value&&function Dx(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}injectableDefInScope(n){if(!n.providedIn)return!1;const t=ee(n.providedIn);return"string"==typeof t?"any"===t||this.scopes.has(t):this.injectorDefTypes.has(t)}removeOnDestroy(n){const t=this._onDestroyHooks.indexOf(n);-1!==t&&this._onDestroyHooks.splice(t,1)}}function Ch(e){const n=Wl(e),t=null!==n?n.factory:yr(e);if(null!==t)return t;if(e instanceof z)throw new R(204,!1);if(e instanceof Function)return function vx(e){const n=e.length;if(n>0)throw ia(n,"?"),new R(204,!1);const t=function lI(e){return e&&(e[Yl]||e[M_])||null}(e);return null!==t?()=>t.factory(e):()=>new e}(e);throw new R(204,!1)}function Jy(e,n,t){let i;if(Er(e)){const r=ee(e);return yr(r)||Ch(r)}if(bh(e))i=()=>ee(e.useValue);else if(function Zy(e){return!(!e||!e.useFactory)}(e))i=()=>e.useFactory(...vf(e.deps||[]));else if(function Yy(e){return!(!e||!e.useExisting)}(e))i=()=>H(ee(e.useExisting));else{const r=ee(e&&(e.useClass||e.provide));if(!function bx(e){return!!e.deps}(e))return yr(r)||Ch(r);i=()=>new r(...vf(e.deps))}return i}function Fo(e,n,t=!1){return{factory:e,value:n,multi:t?[]:void 0}}function Eh(e,n){for(const t of e)Array.isArray(t)?Eh(t,n):t&&cf(t)?Eh(t.\u0275providers,n):n(t)}const kc=new z("AppId",{providedIn:"root",factory:()=>Cx}),Cx="ng",Xy=new z("Platform Initializer"),Tr=new z("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),Qy=new z("CSP nonce",{providedIn:"root",factory:()=>function Ro(){if(void 0!==dh)return dh;if(typeof document<"u")return document;throw new R(210,!1)}().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let Ky=(e,n,t)=>null;function Ah(e,n,t=!1){return Ky(e,n,t)}class Rx{}class n1{}class kx{resolveComponentFactory(n){throw function Px(e){const n=Error(`No component factory found for ${gt(e)}.`);return n.ngComponent=e,n}(n)}}let Hc=(()=>{class e{static#e=this.NULL=new kx}return e})();function Fx(){return Bo(It(),O())}function Bo(e,n){return new Se(en(e,n))}let Se=(()=>{class e{constructor(t){this.nativeElement=t}static#e=this.__NG_ELEMENT_ID__=Fx}return e})();function Lx(e){return e instanceof Se?e.nativeElement:e}class kh{}let hn=(()=>{class e{constructor(){this.destroyNode=null}static#e=this.__NG_ELEMENT_ID__=()=>function Vx(){const e=O(),t=dn(It().index,e);return(Kt(t)?t:e)[ne]}()}return e})(),Bx=(()=>{class e{static#e=this.\u0275prov=B({token:e,providedIn:"root",factory:()=>null})}return e})();class ga{constructor(n){this.full=n,this.major=n.split(".")[0],this.minor=n.split(".")[1],this.patch=n.split(".").slice(2).join(".")}}const jx=new ga("16.2.12"),Fh={};function a1(e,n=null,t=null,i){const r=l1(e,n,t,i);return r.resolveInjectorInitializers(),r}function l1(e,n=null,t=null,i,r=new Set){const o=[t||ye,px(e)];return i=i||("object"==typeof e?void 0:gt(e)),new ko(o,n||Pc(),i||null,r)}let Nt=(()=>{class e{static#e=this.THROW_IF_NOT_FOUND=Bs;static#t=this.NULL=new _h;static create(t,i){if(Array.isArray(t))return a1({name:""},i,t,"");{const r=t.name??"";return a1({name:r},t.parent,t.providers,r)}}static#n=this.\u0275prov=B({token:e,providedIn:"any",factory:()=>H(Gy)});static#i=this.__NG_ELEMENT_ID__=-1}return e})();function Lh(e){return e.ngOriginalError}class Ii{constructor(){this._console=console}handleError(n){const t=this._findOriginalError(n);this._console.error("ERROR",n),t&&this._console.error("ORIGINAL ERROR",t)}_findOriginalError(n){let t=n&&Lh(n);for(;t&&Lh(t);)t=Lh(t);return t||null}}function Vh(e){return n=>{setTimeout(e,void 0,n)}}const Y=class Yx extends Ee{constructor(n=!1){super(),this.__isAsync=n}emit(n){super.next(n)}subscribe(n,t,i){let r=n,o=t||(()=>null),s=i;if(n&&"object"==typeof n){const l=n;r=l.next?.bind(l),o=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(o=Vh(o),r&&(r=Vh(r)),s&&(s=Vh(s)));const a=super.subscribe({next:r,error:o,complete:s});return n instanceof nt&&n.add(a),a}};function u1(...e){}class fe{constructor({enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Y(!1),this.onMicrotaskEmpty=new Y(!1),this.onStable=new Y(!1),this.onError=new Y(!1),typeof Zone>"u")throw new R(908,!1);Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),n&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!i&&t,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function Zx(){const e="function"==typeof Be.requestAnimationFrame;let n=Be[e?"requestAnimationFrame":"setTimeout"],t=Be[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&n&&t){const i=n[Zone.__symbol__("OriginalDelegate")];i&&(n=i);const r=t[Zone.__symbol__("OriginalDelegate")];r&&(t=r)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:t}}().nativeRequestAnimationFrame,function Qx(e){const n=()=>{!function Xx(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(Be,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,jh(e),e.isCheckStableRunning=!0,Bh(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),jh(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,i,r,o,s,a)=>{if(function eA(e){return!(!Array.isArray(e)||1!==e.length)&&!0===e[0].data?.__ignore_ng_zone__}(a))return t.invokeTask(r,o,s,a);try{return d1(e),t.invokeTask(r,o,s,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===o.type||e.shouldCoalesceRunChangeDetection)&&n(),f1(e)}},onInvoke:(t,i,r,o,s,a,l)=>{try{return d1(e),t.invoke(r,o,s,a,l)}finally{e.shouldCoalesceRunChangeDetection&&n(),f1(e)}},onHasTask:(t,i,r,o)=>{t.hasTask(r,o),i===r&&("microTask"==o.change?(e._hasPendingMicrotasks=o.microTask,jh(e),Bh(e)):"macroTask"==o.change&&(e.hasPendingMacrotasks=o.macroTask))},onHandleError:(t,i,r,o)=>(t.handleError(r,o),e.runOutsideAngular(()=>e.onError.emit(o)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!fe.isInAngularZone())throw new R(909,!1)}static assertNotInAngularZone(){if(fe.isInAngularZone())throw new R(909,!1)}run(n,t,i){return this._inner.run(n,t,i)}runTask(n,t,i,r){const o=this._inner,s=o.scheduleEventTask("NgZoneEvent: "+r,n,Jx,u1,u1);try{return o.runTask(s,t,i)}finally{o.cancelTask(s)}}runGuarded(n,t,i){return this._inner.runGuarded(n,t,i)}runOutsideAngular(n){return this._outer.run(n)}}const Jx={};function Bh(e){if(0==e._nesting&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function jh(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function d1(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function f1(e){e._nesting--,Bh(e)}class Kx{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Y,this.onMicrotaskEmpty=new Y,this.onStable=new Y,this.onError=new Y}run(n,t,i){return n.apply(t,i)}runGuarded(n,t,i){return n.apply(t,i)}runOutsideAngular(n){return n()}runTask(n,t,i,r){return n.apply(t,i)}}const h1=new z("",{providedIn:"root",factory:p1});function p1(){const e=F(fe);let n=!0;return function w_(...e){const n=Vs(e),t=function qM(e,n){return"number"==typeof rf(e)?e.pop():n}(e,1/0),i=e;return i.length?1===i.length?ft(i[0]):lo(t)(pt(i,n)):bn}(new Ce(r=>{n=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{r.next(n),r.complete()})}),new Ce(r=>{let o;e.runOutsideAngular(()=>{o=e.onStable.subscribe(()=>{fe.assertNotInAngularZone(),queueMicrotask(()=>{!n&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(n=!0,r.next(!0))})})});const s=e.onUnstable.subscribe(()=>{fe.assertInAngularZone(),n&&(n=!1,e.runOutsideAngular(()=>{r.next(!1)}))});return()=>{o.unsubscribe(),s.unsubscribe()}}).pipe(C_()))}function Ni(e){return e instanceof Function?e():e}let Hh=(()=>{class e{constructor(){this.renderDepth=0,this.handler=null}begin(){this.handler?.validateBegin(),this.renderDepth++}end(){this.renderDepth--,0===this.renderDepth&&this.handler?.execute()}ngOnDestroy(){this.handler?.destroy(),this.handler=null}static#e=this.\u0275prov=B({token:e,providedIn:"root",factory:()=>new e})}return e})();function ma(e){for(;e;){e[re]|=64;const n=sa(e);if(Ef(e)&&!n)return e;e=n}return null}const y1=new z("",{providedIn:"root",factory:()=>!1});let Gc=null;function C1(e,n){return e[n]??S1()}function E1(e,n){const t=S1();t.producerNode?.length&&(e[n]=Gc,t.lView=e,Gc=T1())}const uA={...X_,consumerIsAlwaysLive:!0,consumerMarkedDirty:e=>{ma(e.lView)},lView:null};function T1(){return Object.create(uA)}function S1(){return Gc??=T1(),Gc}const ie={};function g(e){M1(pe(),O(),Ut()+e,!1)}function M1(e,n,t,i){if(!i)if(3==(3&n[re])){const o=e.preOrderCheckHooks;null!==o&&ac(n,o,t)}else{const o=e.preOrderHooks;null!==o&&lc(n,o,0,t)}br(t)}function b(e,n=ce.Default){const t=O();return null===t?H(e,n):$v(It(),t,ee(e),n)}function zc(e,n,t,i,r,o,s,a,l,c,u){const d=n.blueprint.slice();return d[Qe]=r,d[re]=140|i,(null!==c||e&&2048&e[re])&&(d[re]|=2048),_v(d),d[ze]=d[po]=e,d[rt]=t,d[ho]=s||e&&e[ho],d[ne]=a||e&&e[ne],d[$i]=l||e&&e[$i]||null,d[Ft]=o,d[Ws]=function mO(){return gO++}(),d[Ei]=u,d[q_]=c,d[ot]=2==n.type?e[ot]:d,d}function Uo(e,n,t,i,r){let o=e.data[n];if(null===o)o=function $h(e,n,t,i,r){const o=Cv(),s=Af(),l=e.data[n]=function vA(e,n,t,i,r,o){let s=n?n.injectorIndex:-1,a=0;return yo()&&(a|=128),{type:t,index:i,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:r,attrs:o,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:n,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,s?o:o&&o.parent,t,n,i,r);return null===e.firstChild&&(e.firstChild=l),null!==o&&(s?null==o.child&&null!==l.parent&&(o.child=l):null===o.next&&(o.next=l,l.prev=o)),l}(e,n,t,i,r),function gN(){return K.lFrame.inI18n}()&&(o.flags|=32);else if(64&o.type){o.type=t,o.value=i,o.attrs=r;const s=function Xs(){const e=K.lFrame,n=e.currentTNode;return e.isParent?n:n.parent}();o.injectorIndex=null===s?-1:s.injectorIndex}return ai(o,!0),o}function _a(e,n,t,i){if(0===t)return-1;const r=n.length;for(let o=0;oue&&M1(e,n,ue,!1),si(a?2:0,r);const c=a?o:null,u=Sf(c);try{null!==c&&(c.dirty=!1),t(i,r)}finally{Mf(c,u)}}finally{a&&null===n[qs]&&E1(n,qs),br(s),si(a?3:1,r)}}function Uh(e,n,t){if(Cf(n)){const i=En(null);try{const o=n.directiveEnd;for(let s=n.directiveStart;snull;function A1(e,n,t,i){for(let r in e)if(e.hasOwnProperty(r)){t=null===t?{}:t;const o=e[r];null===i?R1(t,n,r,o):i.hasOwnProperty(r)&&R1(t,n,i[r],o)}return t}function R1(e,n,t,i){e.hasOwnProperty(t)?e[t].push(n,i):e[t]=[n,i]}function pn(e,n,t,i,r,o,s,a){const l=en(n,t);let u,c=n.inputs;!a&&null!=c&&(u=c[i])?(Xh(e,t,u,i,r),vr(n)&&function DA(e,n){const t=dn(n,e);16&t[re]||(t[re]|=64)}(t,n.index)):3&n.type&&(i=function bA(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(i),r=null!=s?s(r,n.value||"",i):r,o.setProperty(l,i,r))}function qh(e,n,t,i){if(wv()){const r=null===i?null:{"":-1},o=function MA(e,n){const t=e.directiveRegistry;let i=null,r=null;if(t)for(let o=0;o0;){const t=e[--n];if("number"==typeof t&&t<0)return t}return 0})(s)!=a&&s.push(a),s.push(t,i,o)}}(e,n,i,_a(e,t,r.hostVars,ie),r)}function ci(e,n,t,i,r,o){const s=en(e,n);!function Zh(e,n,t,i,r,o,s){if(null==o)e.removeAttribute(n,r,t);else{const a=null==s?te(o):s(o,i||"",r);e.setAttribute(n,r,a,t)}}(n[ne],s,o,e.value,t,i,r)}function RA(e,n,t,i,r,o){const s=o[n];if(null!==s)for(let a=0;a{class e{constructor(){this.all=new Set,this.queue=new Map}create(t,i,r){const o=typeof Zone>"u"?null:Zone.current,s=function qI(e,n,t){const i=Object.create(YI);t&&(i.consumerAllowSignalWrites=!0),i.fn=e,i.schedule=n;const r=s=>{i.cleanupFn=s};return i.ref={notify:()=>tv(i),run:()=>{if(i.dirty=!1,i.hasRun&&!nv(i))return;i.hasRun=!0;const s=Sf(i);try{i.cleanupFn(),i.cleanupFn=uv,i.fn(r)}finally{Mf(i,s)}},cleanup:()=>i.cleanupFn()},i.ref}(t,c=>{this.all.has(c)&&this.queue.set(c,o)},r);let a;this.all.add(s),s.notify();const l=()=>{s.cleanup(),a?.(),this.all.delete(s),this.queue.delete(s)};return a=i?.onDestroy(l),{destroy:l}}flush(){if(0!==this.queue.size)for(const[t,i]of this.queue)this.queue.delete(t),i?i.run(()=>t.run()):t.run()}get isQueueEmpty(){return 0===this.queue.size}static#e=this.\u0275prov=B({token:e,providedIn:"root",factory:()=>new e})}return e})();function qc(e,n,t){let i=t?e.styles:null,r=t?e.classes:null,o=0;if(null!==n)for(let s=0;s0){W1(e,1);const r=t.components;null!==r&&Y1(e,r,1)}}function Y1(e,n,t){for(let i=0;i-1&&(Tc(n,i),hc(t,i))}this._attachedToViewContainer=!1}rh(this._lView[$],this._lView)}onDestroy(n){!function bv(e,n){if(256==(256&e[re]))throw new R(911,!1);null===e[Ui]&&(e[Ui]=[]),e[Ui].push(n)}(this._lView,n)}markForCheck(){ma(this._cdRefInjectingView||this._lView)}detach(){this._lView[re]&=-129}reattach(){this._lView[re]|=128}detectChanges(){Yc(this._lView[$],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new R(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function OO(e,n){la(e,n,n[ne],2,null,null)}(this._lView[$],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new R(902,!1);this._appRef=n}}class $A extends ya{constructor(n){super(n),this._view=n}detectChanges(){const n=this._view;Yc(n[$],n,n[rt],!1)}checkNoChanges(){}get context(){return null}}class Z1 extends Hc{constructor(n){super(),this.ngModule=n}resolveComponentFactory(n){const t=he(n);return new ba(t,this.ngModule)}}function J1(e){const n=[];for(let t in e)e.hasOwnProperty(t)&&n.push({propName:e[t],templateName:t});return n}class GA{constructor(n,t){this.injector=n,this.parentInjector=t}get(n,t,i){i=Jl(i);const r=this.injector.get(n,Fh,i);return r!==Fh||t===Fh?r:this.parentInjector.get(n,t,i)}}class ba extends n1{get inputs(){const n=this.componentDef,t=n.inputTransforms,i=J1(n.inputs);if(null!==t)for(const r of i)t.hasOwnProperty(r.propName)&&(r.transform=t[r.propName]);return i}get outputs(){return J1(this.componentDef.outputs)}constructor(n,t){super(),this.componentDef=n,this.ngModule=t,this.componentType=n.type,this.selector=function II(e){return e.map(MI).join(",")}(n.selectors),this.ngContentSelectors=n.ngContentSelectors?n.ngContentSelectors:[],this.isBoundToModule=!!t}create(n,t,i,r){let o=(r=r||this.ngModule)instanceof zt?r:r?.injector;o&&null!==this.componentDef.getStandaloneInjector&&(o=this.componentDef.getStandaloneInjector(o)||o);const s=o?new GA(n,o):n,a=s.get(kh,null);if(null===a)throw new R(407,!1);const d={rendererFactory:a,sanitizer:s.get(Bx,null),effectManager:s.get(U1,null),afterRenderEventManager:s.get(Hh,null)},h=a.createRenderer(null,this.componentDef),_=this.componentDef.selectors[0][0]||"div",v=i?function hA(e,n,t,i){const o=i.get(y1,!1)||t===Fn.ShadowDom,s=e.selectRootElement(n,o);return function pA(e){x1(e)}(s),s}(h,i,this.componentDef.encapsulation,s):Ec(h,_,function UA(e){const n=e.toLowerCase();return"svg"===n?"svg":"math"===n?"math":null}(_)),M=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let C=null;null!==v&&(C=Ah(v,s,!0));const P=Wh(0,null,null,1,0,null,null,null,null,null,null),k=zc(null,P,null,M,null,null,d,h,s,null,C);let G,X;Lf(k);try{const de=this.componentDef;let ge,tt=null;de.findHostDirectiveDefs?(ge=[],tt=new Map,de.findHostDirectiveDefs(de,ge,tt),ge.push(de)):ge=[de];const lt=function WA(e,n){const t=e[$],i=ue;return e[i]=n,Uo(t,i,2,"#host",null)}(k,v),Ct=function qA(e,n,t,i,r,o,s){const a=r[$];!function YA(e,n,t,i){for(const r of e)n.mergedAttrs=$s(n.mergedAttrs,r.hostAttrs);null!==n.mergedAttrs&&(qc(n,n.mergedAttrs,!0),null!==t&&xy(i,t,n))}(i,e,n,s);let l=null;null!==n&&(l=Ah(n,r[$i]));const c=o.rendererFactory.createRenderer(n,t);let u=16;t.signals?u=4096:t.onPush&&(u=64);const d=zc(r,O1(t),null,u,r[e.index],e,o,c,null,null,l);return a.firstCreatePass&&Yh(a,e,i.length-1),Wc(r,d),r[e.index]=d}(lt,v,de,ge,k,d,h);X=mv(P,ue),v&&function JA(e,n,t,i){if(i)Df(e,t,["ng-version",jx.full]);else{const{attrs:r,classes:o}=function NI(e){const n=[],t=[];let i=1,r=2;for(;i0&&Oy(e,t,o.join(" "))}}(h,de,v,i),void 0!==t&&function XA(e,n,t){const i=e.projection=[];for(let r=0;r=0;i--){const r=e[i];r.hostVars=n+=r.hostVars,r.hostAttrs=$s(r.hostAttrs,t=$s(t,r.hostAttrs))}}(i)}function Zc(e){return e===ii?{}:e===ye?[]:e}function eR(e,n){const t=e.viewQuery;e.viewQuery=t?(i,r)=>{n(i,r),t(i,r)}:n}function tR(e,n){const t=e.contentQueries;e.contentQueries=t?(i,r,o)=>{n(i,r,o),t(i,r,o)}:n}function nR(e,n){const t=e.hostBindings;e.hostBindings=t?(i,r)=>{n(i,r),t(i,r)}:n}function Jc(e){return!!Kh(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function Kh(e){return null!==e&&("function"==typeof e||"object"==typeof e)}function ui(e,n,t){return e[n]=t}function Vt(e,n,t){return!Object.is(e[n],t)&&(e[n]=t,!0)}function Sr(e,n,t,i){const r=Vt(e,n,t);return Vt(e,n+1,i)||r}function Ie(e,n,t,i){const r=O();return Vt(r,bo(),n)&&(pe(),ci(Ye(),r,e,n,t,i)),Ie}function zo(e,n,t,i){return Vt(e,bo(),t)?n+te(t)+i:ie}function Wo(e,n,t,i,r,o){const a=Sr(e,function Ti(){return K.lFrame.bindingIndex}(),t,r);return Si(2),a?n+te(t)+i+te(r)+o:ie}function I(e,n,t,i,r,o,s,a){const l=O(),c=pe(),u=e+ue,d=c.firstCreatePass?function SR(e,n,t,i,r,o,s,a,l){const c=n.consts,u=Uo(n,e,4,s||null,zi(c,a));qh(n,t,u,zi(c,l)),sc(n,u);const d=u.tView=Wh(2,u,i,r,o,n.directiveRegistry,n.pipeRegistry,null,n.schemas,c,null);return null!==n.queries&&(n.queries.template(n,u),d.queries=n.queries.embeddedTView(u)),u}(u,c,l,n,t,i,r,o,s):c.data[u];ai(d,!1);const h=g0(c,l,d,e);oc()&&Mc(c,l,h,d),Lt(h,l),Wc(l,l[u]=L1(h,l,h,d)),tc(d)&&Gh(c,l,d),null!=s&&zh(l,d,a)}let g0=function m0(e,n,t,i){return Wi(!0),n[ne].createComment("")};function S(e,n,t){const i=O();return Vt(i,bo(),n)&&pn(pe(),Ye(),i,e,n,i[ne],t,!1),S}function op(e,n,t,i,r){const s=r?"class":"style";Xh(e,t,n.inputs[s],s,i)}function p(e,n,t,i){const r=O(),o=pe(),s=ue+e,a=r[ne],l=o.firstCreatePass?function OR(e,n,t,i,r,o){const s=n.consts,l=Uo(n,e,2,i,zi(s,r));return qh(n,t,l,zi(s,o)),null!==l.attrs&&qc(l,l.attrs,!1),null!==l.mergedAttrs&&qc(l,l.mergedAttrs,!0),null!==n.queries&&n.queries.elementStart(n,l),l}(s,o,r,n,t,i):o.data[s],c=_0(o,r,l,a,n,e);r[s]=c;const u=tc(l);return ai(l,!0),xy(a,c,l),32!=(32&l.flags)&&oc()&&Mc(o,r,c,l),0===function sN(){return K.lFrame.elementDepthCount}()&&Lt(c,r),function aN(){K.lFrame.elementDepthCount++}(),u&&(Gh(o,r,l),Uh(o,l,r)),null!==i&&zh(r,l),p}function f(){let e=It();Af()?Rf():(e=e.parent,ai(e,!1));const n=e;(function cN(e){return K.skipHydrationRootTNode===e})(n)&&function hN(){K.skipHydrationRootTNode=null}(),function lN(){K.lFrame.elementDepthCount--}();const t=pe();return t.firstCreatePass&&(sc(t,e),Cf(e)&&t.queries.elementEnd(e)),null!=n.classesWithoutHost&&function IN(e){return 0!=(8&e.flags)}(n)&&op(t,n,O(),n.classesWithoutHost,!0),null!=n.stylesWithoutHost&&function NN(e){return 0!=(16&e.flags)}(n)&&op(t,n,O(),n.stylesWithoutHost,!1),f}function Ae(e,n,t,i){return p(e,n,t,i),f(),Ae}let _0=(e,n,t,i,r,o)=>(Wi(!0),Ec(i,r,function Rv(){return K.lFrame.currentNamespace}()));function Zi(e,n,t){const i=O(),r=pe(),o=e+ue,s=r.firstCreatePass?function RR(e,n,t,i,r){const o=n.consts,s=zi(o,i),a=Uo(n,e,8,"ng-container",s);return null!==s&&qc(a,s,!0),qh(n,t,a,zi(o,r)),null!==n.queries&&n.queries.elementStart(n,a),a}(o,r,i,n,t):r.data[o];ai(s,!0);const a=y0(r,i,s,e);return i[o]=a,oc()&&Mc(r,i,a,s),Lt(a,i),tc(s)&&(Gh(r,i,s),Uh(r,s,i)),null!=t&&zh(i,s),Zi}function Ji(){let e=It();const n=pe();return Af()?Rf():(e=e.parent,ai(e,!1)),n.firstCreatePass&&(sc(n,e),Cf(e)&&n.queries.elementEnd(e)),Ji}let y0=(e,n,t,i)=>(Wi(!0),ih(n[ne],""));function Ze(){return O()}function Sa(e){return!!e&&"function"==typeof e.then}function b0(e){return!!e&&"function"==typeof e.subscribe}function Z(e,n,t,i){const r=O(),o=pe(),s=It();return function w0(e,n,t,i,r,o,s){const a=tc(i),c=e.firstCreatePass&&j1(e),u=n[rt],d=B1(n);let h=!0;if(3&i.type||s){const y=en(i,n),D=s?s(y):y,M=d.length,C=s?k=>s(je(k[i.index])):i.index;let P=null;if(!s&&a&&(P=function FR(e,n,t,i){const r=e.cleanup;if(null!=r)for(let o=0;ol?a[l]:null}"string"==typeof s&&(o+=2)}return null}(e,n,r,i.index)),null!==P)(P.__ngLastListenerFn__||P).__ngNextListenerFn__=o,P.__ngLastListenerFn__=o,h=!1;else{o=E0(i,n,u,o,!1);const k=t.listen(D,r,o);d.push(o,k),c&&c.push(r,C,M,M+1)}}else o=E0(i,n,u,o,!1);const _=i.outputs;let v;if(h&&null!==_&&(v=_[r])){const y=v.length;if(y)for(let D=0;D-1?dn(e.index,n):n);let l=C0(n,t,i,s),c=o.__ngNextListenerFn__;for(;c;)l=C0(n,t,c,s)&&l,c=c.__ngNextListenerFn__;return r&&!1===l&&s.preventDefault(),l}}function T(e=1){return function yN(e){return(K.lFrame.contextLView=function bN(e,n){for(;e>0;)n=n[po],e--;return n}(e,K.lFrame.contextLView))[rt]}(e)}function LR(e,n){let t=null;const i=function CI(e){const n=e.attrs;if(null!=n){const t=n.indexOf(5);if(!(1&t))return n[t+1]}return null}(e);for(let r=0;r>17&32767}function sp(e){return 2|e}function Mr(e){return(131068&e)>>2}function ap(e,n){return-131069&e|n<<2}function lp(e){return 1|e}function k0(e,n,t,i,r){const o=e[t+1],s=null===n;let a=i?Xi(o):Mr(o),l=!1;for(;0!==a&&(!1===l||s);){const u=e[a+1];UR(e[a],n)&&(l=!0,e[a+1]=i?lp(u):sp(u)),a=i?Xi(u):Mr(u)}l&&(e[t+1]=i?sp(o):lp(o))}function UR(e,n){return null===e||null==n||(Array.isArray(e)?e[1]:e)===n||!(!Array.isArray(e)||"string"!=typeof n)&&Io(e,n)>=0}const _t={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function F0(e){return e.substring(_t.key,_t.keyEnd)}function L0(e,n){const t=_t.textEnd;return t===n?-1:(n=_t.keyEnd=function qR(e,n,t){for(;n32;)n++;return n}(e,_t.key=n,t),Ko(e,n,t))}function Ko(e,n,t){for(;n=0;t=L0(n,t))fn(e,F0(n),!0)}function U0(e,n){return n>=e.expandoStartIndex}function G0(e,n,t,i){const r=e.data;if(null===r[t+1]){const o=r[Ut()],s=U0(e,t);Y0(o,i)&&null===n&&!s&&(n=!1),n=function XR(e,n,t,i){const r=function kf(e){const n=K.lFrame.currentDirectiveIndex;return-1===n?null:e[n]}(e);let o=i?n.residualClasses:n.residualStyles;if(null===r)0===(i?n.classBindings:n.styleBindings)&&(t=Ma(t=cp(null,e,n,t,i),n.attrs,i),o=null);else{const s=n.directiveStylingLast;if(-1===s||e[s]!==r)if(t=cp(r,e,n,t,i),null===o){let l=function QR(e,n,t){const i=t?n.classBindings:n.styleBindings;if(0!==Mr(i))return e[Xi(i)]}(e,n,i);void 0!==l&&Array.isArray(l)&&(l=cp(null,e,n,l[1],i),l=Ma(l,n.attrs,i),function KR(e,n,t,i){e[Xi(t?n.classBindings:n.styleBindings)]=i}(e,n,i,l))}else o=function e2(e,n,t){let i;const r=n.directiveEnd;for(let o=1+n.directiveStylingLast;o0)&&(c=!0)):u=t,r)if(0!==l){const h=Xi(e[a+1]);e[i+1]=nu(h,a),0!==h&&(e[h+1]=ap(e[h+1],i)),e[a+1]=function BR(e,n){return 131071&e|n<<17}(e[a+1],i)}else e[i+1]=nu(a,0),0!==a&&(e[a+1]=ap(e[a+1],i)),a=i;else e[i+1]=nu(l,0),0===a?a=i:e[l+1]=ap(e[l+1],i),l=i;c&&(e[i+1]=sp(e[i+1])),k0(e,u,i,!0),k0(e,u,i,!1),function $R(e,n,t,i,r){const o=r?e.residualClasses:e.residualStyles;null!=o&&"string"==typeof n&&Io(o,n)>=0&&(t[i+1]=lp(t[i+1]))}(n,u,e,i,o),s=nu(a,l),o?n.classBindings=s:n.styleBindings=s}(r,o,n,t,s,i)}}function cp(e,n,t,i,r){let o=null;const s=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=e[r],c=Array.isArray(l),u=c?l[1]:l,d=null===u;let h=t[r+1];h===ie&&(h=d?ye:void 0);let _=d?qf(h,i):u===i?h:void 0;if(c&&!iu(_)&&(_=qf(l,i)),iu(_)&&(a=_,s))return a;const v=e[r+1];r=s?Xi(v):Mr(v)}if(null!==n){let l=o?n.residualClasses:n.residualStyles;null!=l&&(a=qf(l,i))}return a}function iu(e){return void 0!==e}function Y0(e,n){return 0!=(e.flags&(n?8:16))}function m(e,n=""){const t=O(),i=pe(),r=e+ue,o=i.firstCreatePass?Uo(i,r,1,n,null):i.data[r],s=Z0(i,t,o,n,e);t[r]=s,oc()&&Mc(i,t,s,o),ai(o,!1)}let Z0=(e,n,t,i,r)=>(Wi(!0),function Cc(e,n){return e.createText(n)}(n[ne],i));function A(e){return V("",e,""),A}function V(e,n,t){const i=O(),r=zo(i,e,n,t);return r!==ie&&Oi(i,Ut(),r),V}function up(e,n,t,i,r){const o=O(),s=Wo(o,e,n,t,i,r);return s!==ie&&Oi(o,Ut(),s),up}const ts="en-US";let gb=ts;function hp(e,n,t,i,r){if(e=ee(e),Array.isArray(e))for(let o=0;o>20;if(Er(e)||!e.multi){const _=new Qs(c,r,b),v=gp(l,n,r?u:u+h,d);-1===v?(Gf(uc(a,s),o,l),pp(o,e,n.length),n.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),t.push(_),s.push(_)):(t[v]=_,s[v]=_)}else{const _=gp(l,n,u+h,d),v=gp(l,n,u,u+h),D=v>=0&&t[v];if(r&&!D||!r&&!(_>=0&&t[_])){Gf(uc(a,s),o,l);const M=function EP(e,n,t,i,r){const o=new Qs(e,t,b);return o.multi=[],o.index=n,o.componentProviders=0,jb(o,r,i&&!t),o}(r?CP:wP,t.length,r,i,c);!r&&D&&(t[v].providerFactory=M),pp(o,e,n.length,0),n.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),t.push(M),s.push(M)}else pp(o,e,_>-1?_:v,jb(t[r?v:_],c,!r&&i));!r&&i&&D&&t[v].componentProviders++}}}function pp(e,n,t,i){const r=Er(n),o=function mx(e){return!!e.useClass}(n);if(r||o){const l=(o?ee(n.useClass):n).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!r&&n.multi){const u=c.indexOf(t);-1===u?c.push(t,[i,l]):c[u+1].push(i,l)}else c.push(t,l)}}}function jb(e,n,t){return t&&e.componentProviders++,e.multi.push(n)-1}function gp(e,n,t,i){for(let r=t;r{t.providersResolver=(i,r)=>function DP(e,n,t){const i=pe();if(i.firstCreatePass){const r=Bn(e);hp(t,i.data,i.blueprint,r,!0),hp(n,i.data,i.blueprint,r,!1)}}(i,r?r(e):e,n)}}class Or{}class Hb{}class _p extends Or{constructor(n,t,i){super(),this._parent=t,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new Z1(this);const r=un(n);this._bootstrapComponents=Ni(r.bootstrap),this._r3Injector=l1(n,t,[{provide:Or,useValue:this},{provide:Hc,useValue:this.componentFactoryResolver},...i],gt(n),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(n)}get injector(){return this._r3Injector}destroy(){const n=this._r3Injector;!n.destroyed&&n.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}}class vp extends Hb{constructor(n){super(),this.moduleType=n}create(n){return new _p(this.moduleType,n,[])}}class $b extends Or{constructor(n){super(),this.componentFactoryResolver=new Z1(this),this.instance=null;const t=new ko([...n.providers,{provide:Or,useValue:this},{provide:Hc,useValue:this.componentFactoryResolver}],n.parent||Pc(),n.debugName,new Set(["environment"]));this.injector=t,n.runEnvironmentInitializers&&t.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(n){this.injector.onDestroy(n)}}function yp(e,n,t=null){return new $b({providers:e,parent:n,debugName:t,runEnvironmentInitializers:!0}).injector}let MP=(()=>{class e{constructor(t){this._injector=t,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(t){if(!t.standalone)return null;if(!this.cachedInjectors.has(t)){const i=Wy(0,t.type),r=i.length>0?yp([i],this._injector,`Standalone[${t.type.name}]`):null;this.cachedInjectors.set(t,r)}return this.cachedInjectors.get(t)}ngOnDestroy(){try{for(const t of this.cachedInjectors.values())null!==t&&t.destroy()}finally{this.cachedInjectors.clear()}}static#e=this.\u0275prov=B({token:e,providedIn:"environment",factory:()=>new e(H(zt))})}return e})();function In(e){e.getStandaloneInjector=n=>n.get(MP).getOrCreateStandaloneInjector(e)}function $n(e,n,t,i){return Zb(O(),$t(),e,n,t,i)}function ns(e,n,t,i,r,o,s,a){const l=$t()+e,c=O(),u=function Sn(e,n,t,i,r,o){const s=Sr(e,n,t,i);return Sr(e,n+2,r,o)||s}(c,l,t,i,r,o);return Vt(c,l+4,s)||u?ui(c,l+5,a?n.call(a,t,i,r,o,s):n(t,i,r,o,s)):function wa(e,n){return e[n]}(c,l+5)}function Zb(e,n,t,i,r,o){const s=n+t;return Vt(e,s,r)?ui(e,s+1,o?i.call(o,r):i(r)):function ka(e,n){const t=e[n];return t===ie?void 0:t}(e,s+1)}function lu(e,n){const t=pe();let i;const r=e+ue;t.firstCreatePass?(i=function $P(e,n){if(n)for(let t=n.length-1;t>=0;t--){const i=n[t];if(e===i.name)return i}}(n,t.pipeRegistry),t.data[r]=i,i.onDestroy&&(t.destroyHooks??=[]).push(r,i.onDestroy)):i=t.data[r];const o=i.factory||(i.factory=yr(i.type)),a=Qt(b);try{const l=cc(!1),c=o();return cc(l),function NR(e,n,t,i){t>=e.data.length&&(e.data[t]=null,e.blueprint[t]=null),n[t]=i}(t,O(),r,c),c}finally{Qt(a)}}function cu(e,n,t){const i=e+ue,r=O(),o=function vo(e,n){return e[n]}(r,i);return function Fa(e,n){return e[$].data[n].pure}(r,i)?Zb(r,$t(),n,o.transform,t,o):o.transform(t)}function qP(){return this._results[Symbol.iterator]()}class wp{static#e=Symbol.iterator;get changes(){return this._changes||(this._changes=new Y)}constructor(n=!1){this._emitDistinctChangesOnly=n,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const t=wp.prototype;t[Symbol.iterator]||(t[Symbol.iterator]=qP)}get(n){return this._results[n]}map(n){return this._results.map(n)}filter(n){return this._results.filter(n)}find(n){return this._results.find(n)}reduce(n,t){return this._results.reduce(n,t)}forEach(n){this._results.forEach(n)}some(n){return this._results.some(n)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(n,t){const i=this;i.dirty=!1;const r=function Tn(e){return e.flat(Number.POSITIVE_INFINITY)}(n);(this._changesDetected=!function UN(e,n,t){if(e.length!==n.length)return!1;for(let i=0;i0&&(t[r-1][Vn]=n),i{class e{static#e=this.__NG_ELEMENT_ID__=QP}return e})();const JP=Je,XP=class extends JP{constructor(n,t,i){super(),this._declarationLView=n,this._declarationTContainer=t,this.elementRef=i}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(n,t){return this.createEmbeddedViewImpl(n,t)}createEmbeddedViewImpl(n,t,i){const r=function YP(e,n,t,i){const r=n.tView,a=zc(e,r,t,4096&e[re]?4096:16,null,n,null,null,null,i?.injector??null,i?.hydrationInfo??null);a[zs]=e[n.index];const c=e[ri];return null!==c&&(a[ri]=c.createEmbeddedView(r)),Qh(r,a,t),a}(this._declarationLView,this._declarationTContainer,n,{injector:t,hydrationInfo:i});return new ya(r)}};function QP(){return uu(It(),O())}function uu(e,n){return 4&e.type?new XP(n,e,Bo(e,n)):null}let Nn=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=rk}return e})();function rk(){return sD(It(),O())}const ok=Nn,rD=class extends ok{constructor(n,t,i){super(),this._lContainer=n,this._hostTNode=t,this._hostLView=i}get element(){return Bo(this._hostTNode,this._hostLView)}get injector(){return new Gt(this._hostTNode,this._hostLView)}get parentInjector(){const n=dc(this._hostTNode,this._hostLView);if(Hf(n)){const t=ea(n,this._hostLView),i=Ks(n);return new Gt(t[$].data[i+8],t)}return new Gt(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){const t=oD(this._lContainer);return null!==t&&t[n]||null}get length(){return this._lContainer.length-Tt}createEmbeddedView(n,t,i){let r,o;"number"==typeof i?r=i:null!=i&&(r=i.index,o=i.injector);const a=n.createEmbeddedViewImpl(t||{},o,null);return this.insertImpl(a,r,false),a}createComponent(n,t,i,r,o){const s=n&&!function na(e){return"function"==typeof e}(n);let a;if(s)a=t;else{const y=t||{};a=y.index,i=y.injector,r=y.projectableNodes,o=y.environmentInjector||y.ngModuleRef}const l=s?n:new ba(he(n)),c=i||this.parentInjector;if(!o&&null==l.ngModule){const D=(s?c:this.parentInjector).get(zt,null);D&&(o=D)}he(l.componentType??{});const _=l.create(c,r,null,o);return this.insertImpl(_.hostView,a,false),_}insert(n,t){return this.insertImpl(n,t,!1)}insertImpl(n,t,i){const r=n._lView;if(function iN(e){return Ht(e[ze])}(r)){const l=this.indexOf(n);if(-1!==l)this.detach(l);else{const c=r[ze],u=new rD(c,c[Ft],c[ze]);u.detach(u.indexOf(n))}}const s=this._adjustIndex(t),a=this._lContainer;return ZP(a,r,s,!i),n.attachToViewContainerRef(),Yv(Cp(a),s,n),n}move(n,t){return this.insert(n,t)}indexOf(n){const t=oD(this._lContainer);return null!==t?t.indexOf(n):-1}remove(n){const t=this._adjustIndex(n,-1),i=Tc(this._lContainer,t);i&&(hc(Cp(this._lContainer),t),rh(i[$],i))}detach(n){const t=this._adjustIndex(n,-1),i=Tc(this._lContainer,t);return i&&null!=hc(Cp(this._lContainer),t)?new ya(i):null}_adjustIndex(n,t=0){return n??this.length+t}};function oD(e){return e[8]}function Cp(e){return e[8]||(e[8]=[])}function sD(e,n){let t;const i=n[e.index];return Ht(i)?t=i:(t=L1(i,n,null,e),n[e.index]=t,Wc(n,t)),aD(t,n,e,i),new rD(t,e,n)}let aD=function lD(e,n,t,i){if(e[oi])return;let r;r=8&t.type?je(i):function sk(e,n){const t=e[ne],i=t.createComment(""),r=en(n,e);return Cr(t,Sc(t,r),i,function LO(e,n){return e.nextSibling(n)}(t,r),!1),i}(n,t),e[oi]=r};class Ep{constructor(n){this.queryList=n,this.matches=null}clone(){return new Ep(this.queryList)}setDirty(){this.queryList.setDirty()}}class Tp{constructor(n=[]){this.queries=n}createEmbeddedView(n){const t=n.queries;if(null!==t){const i=null!==n.contentQueries?n.contentQueries[0]:t.length,r=[];for(let o=0;o0)i.push(s[a/2]);else{const c=o[a+1],u=n[-l];for(let d=Tt;d{class e{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,i)=>{this.resolve=t,this.reject=i}),this.appInits=F(Pp,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const t=[];for(const r of this.appInits){const o=r();if(Sa(o))t.push(o);else if(b0(o)){const s=new Promise((a,l)=>{o.subscribe({complete:a,error:l})});t.push(s)}}const i=()=>{this.done=!0,this.resolve()};Promise.all(t).then(()=>{i()}).catch(r=>{this.reject(r)}),0===t.length&&i(),this.initialized=!0}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),OD=(()=>{class e{log(t){console.log(t)}warn(t){console.warn(t)}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();const Gn=new z("LocaleId",{providedIn:"root",factory:()=>F(Gn,ce.Optional|ce.SkipSelf)||function kk(){return typeof $localize<"u"&&$localize.locale||ts}()});let hu=(()=>{class e{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new Dn(!1)}add(){this.hasPendingTasks.next(!0);const t=this.taskId++;return this.pendingTasks.add(t),t}remove(t){this.pendingTasks.delete(t),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();class Vk{constructor(n,t){this.ngModuleFactory=n,this.componentFactories=t}}let xD=(()=>{class e{compileModuleSync(t){return new vp(t)}compileModuleAsync(t){return Promise.resolve(this.compileModuleSync(t))}compileModuleAndAllComponentsSync(t){const i=this.compileModuleSync(t),o=Ni(un(t).declarations).reduce((s,a)=>{const l=he(a);return l&&s.push(new ba(l)),s},[]);return new Vk(i,o)}compileModuleAndAllComponentsAsync(t){return Promise.resolve(this.compileModuleAndAllComponentsSync(t))}clearCache(){}clearCacheFor(t){}getModuleId(t){}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const kD=new z(""),gu=new z("");let jp,Vp=(()=>{class e{constructor(t,i,r){this._ngZone=t,this.registry=i,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,jp||(function sF(e){jp=e}(r),r.addToWindow(i)),this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{fe.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(t)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,i,r){let o=-1;i&&i>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==o),t(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:t,timeoutId:o,updateCb:r})}whenStable(t,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(t){this.registry.registerApplication(t,this)}unregisterApplication(t){this.registry.unregisterApplication(t)}findProviders(t,i,r){return[]}static#e=this.\u0275fac=function(i){return new(i||e)(H(fe),H(Bp),H(gu))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})(),Bp=(()=>{class e{constructor(){this._applications=new Map}registerApplication(t,i){this._applications.set(t,i)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,i=!0){return jp?.findTestabilityInTree(this,t,i)??null}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})(),Qi=null;const FD=new z("AllowMultipleToken"),Hp=new z("PlatformDestroyListeners"),$p=new z("appBootstrapListener");class VD{constructor(n,t){this.name=n,this.token=t}}function jD(e,n,t=[]){const i=`Platform: ${n}`,r=new z(i);return(o=[])=>{let s=Up();if(!s||s.injector.get(FD,!1)){const a=[...t,...o,{provide:r,useValue:!0}];e?e(a):function cF(e){if(Qi&&!Qi.get(FD,!1))throw new R(400,!1);(function LD(){!function $I(e){sv=e}(()=>{throw new R(600,!1)})})(),Qi=e;const n=e.get($D);(function BD(e){e.get(Xy,null)?.forEach(t=>t())})(e)}(function HD(e=[],n){return Nt.create({name:n,providers:[{provide:Dh,useValue:"platform"},{provide:Hp,useValue:new Set([()=>Qi=null])},...e]})}(a,i))}return function dF(e){const n=Up();if(!n)throw new R(401,!1);return n}()}}function Up(){return Qi?.get($D)??null}let $D=(()=>{class e{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,i){const r=function fF(e="zone.js",n){return"noop"===e?new Kx:"zone.js"===e?new fe(n):e}(i?.ngZone,function UD(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}({eventCoalescing:i?.ngZoneEventCoalescing,runCoalescing:i?.ngZoneRunCoalescing}));return r.run(()=>{const o=function SP(e,n,t){return new _p(e,n,t)}(t.moduleType,this.injector,function YD(e){return[{provide:fe,useFactory:e},{provide:fa,multi:!0,useFactory:()=>{const n=F(pF,{optional:!0});return()=>n.initialize()}},{provide:qD,useFactory:hF},{provide:h1,useFactory:p1}]}(()=>r)),s=o.injector.get(Ii,null);return r.runOutsideAngular(()=>{const a=r.onError.subscribe({next:l=>{s.handleError(l)}});o.onDestroy(()=>{mu(this._modules,o),a.unsubscribe()})}),function GD(e,n,t){try{const i=t();return Sa(i)?i.catch(r=>{throw n.runOutsideAngular(()=>e.handleError(r)),r}):i}catch(i){throw n.runOutsideAngular(()=>e.handleError(i)),i}}(s,r,()=>{const a=o.injector.get(kp);return a.runInitializers(),a.donePromise.then(()=>(function mb(e){Cn(e,"Expected localeId to be defined"),"string"==typeof e&&(gb=e.toLowerCase().replace(/_/g,"-"))}(o.injector.get(Gn,ts)||ts),this._moduleDoBootstrap(o),o))})})}bootstrapModule(t,i=[]){const r=zD({},i);return function aF(e,n,t){const i=new vp(t);return Promise.resolve(i)}(0,0,t).then(o=>this.bootstrapModuleFactory(o,r))}_moduleDoBootstrap(t){const i=t.injector.get(Ki);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!t.instance.ngDoBootstrap)throw new R(-403,!1);t.instance.ngDoBootstrap(i)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new R(404,!1);this._modules.slice().forEach(i=>i.destroy()),this._destroyListeners.forEach(i=>i());const t=this._injector.get(Hp,null);t&&(t.forEach(i=>i()),t.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}static#e=this.\u0275fac=function(i){return new(i||e)(H(Nt))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();function zD(e,n){return Array.isArray(n)?n.reduce(zD,e):{...e,...n}}let Ki=(()=>{class e{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=F(qD),this.zoneIsStable=F(h1),this.componentTypes=[],this.components=[],this.isStable=F(hu).hasPendingTasks.pipe(wn(t=>t?J(!1):this.zoneIsStable),function E_(e,n=kn){return e=e??eI,qe((t,i)=>{let r,o=!0;t.subscribe(Ve(i,s=>{const a=n(s);(o||!e(r,a))&&(o=!1,r=a,i.next(s))}))})}(),C_()),this._injector=F(zt)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(t,i){const r=t instanceof n1;if(!this._injector.get(kp).done)throw!r&&function uo(e){const n=he(e)||Et(e)||jt(e);return null!==n&&n.standalone}(t),new R(405,!1);let s;s=r?t:this._injector.get(Hc).resolveComponentFactory(t),this.componentTypes.push(s.componentType);const a=function lF(e){return e.isBoundToModule}(s)?void 0:this._injector.get(Or),c=s.create(Nt.NULL,[],i||s.selector,a),u=c.location.nativeElement,d=c.injector.get(kD,null);return d?.registerApplication(u),c.onDestroy(()=>{this.detachView(c.hostView),mu(this.components,c),d?.unregisterApplication(u)}),this._loadComponent(c),c}tick(){if(this._runningTick)throw new R(101,!1);try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this.internalErrorHandler(t)}finally{this._runningTick=!1}}attachView(t){const i=t;this._views.push(i),i.attachToAppRef(this)}detachView(t){const i=t;mu(this._views,i),i.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t);const i=this._injector.get($p,[]);i.push(...this._bootstrapListeners),i.forEach(r=>r(t))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(t=>t()),this._views.slice().forEach(t=>t.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(t){return this._destroyListeners.push(t),()=>mu(this._destroyListeners,t)}destroy(){if(this._destroyed)throw new R(406,!1);const t=this._injector;t.destroy&&!t.destroyed&&t.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function mu(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}const qD=new z("",{providedIn:"root",factory:()=>F(Ii).handleError.bind(void 0)});function hF(){const e=F(fe),n=F(Ii);return t=>e.runOutsideAngular(()=>n.handleError(t))}let pF=(()=>{class e{constructor(){this.zone=F(fe),this.applicationRef=F(Ki)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();let zn=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=mF}return e})();function mF(e){return function _F(e,n,t){if(vr(e)&&!t){const i=dn(e.index,n);return new ya(i,i)}return 47&e.type?new ya(n[ot],n):null}(It(),O(),16==(16&e))}class QD{constructor(){}supports(n){return Jc(n)}create(n){return new CF(n)}}const wF=(e,n)=>n;class CF{constructor(n){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=n||wF}forEachItem(n){let t;for(t=this._itHead;null!==t;t=t._next)n(t)}forEachOperation(n){let t=this._itHead,i=this._removalsHead,r=0,o=null;for(;t||i;){const s=!i||t&&t.currentIndex{s=this._trackByFn(r,a),null!==t&&Object.is(t.trackById,s)?(i&&(t=this._verifyReinsertion(t,a,s,r)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,s,r),i=!0),t=t._next,r++}),this.length=r;return this._truncate(t),this.collection=n,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let n;for(n=this._previousItHead=this._itHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._additionsHead;null!==n;n=n._nextAdded)n.previousIndex=n.currentIndex;for(this._additionsHead=this._additionsTail=null,n=this._movesHead;null!==n;n=n._nextMoved)n.previousIndex=n.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(n,t,i,r){let o;return null===n?o=this._itTail:(o=n._prev,this._remove(n)),null!==(n=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._reinsertAfter(n,o,r)):null!==(n=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._moveAfter(n,o,r)):n=this._addAfter(new EF(t,i),o,r),n}_verifyReinsertion(n,t,i,r){let o=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==o?n=this._reinsertAfter(o,n._prev,r):n.currentIndex!=r&&(n.currentIndex=r,this._addToMoves(n,r)),n}_truncate(n){for(;null!==n;){const t=n._next;this._addToRemovals(this._unlink(n)),n=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(n,t,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(n);const r=n._prevRemoved,o=n._nextRemoved;return null===r?this._removalsHead=o:r._nextRemoved=o,null===o?this._removalsTail=r:o._prevRemoved=r,this._insertAfter(n,t,i),this._addToMoves(n,i),n}_moveAfter(n,t,i){return this._unlink(n),this._insertAfter(n,t,i),this._addToMoves(n,i),n}_addAfter(n,t,i){return this._insertAfter(n,t,i),this._additionsTail=null===this._additionsTail?this._additionsHead=n:this._additionsTail._nextAdded=n,n}_insertAfter(n,t,i){const r=null===t?this._itHead:t._next;return n._next=r,n._prev=t,null===r?this._itTail=n:r._prev=n,null===t?this._itHead=n:t._next=n,null===this._linkedRecords&&(this._linkedRecords=new KD),this._linkedRecords.put(n),n.currentIndex=i,n}_remove(n){return this._addToRemovals(this._unlink(n))}_unlink(n){null!==this._linkedRecords&&this._linkedRecords.remove(n);const t=n._prev,i=n._next;return null===t?this._itHead=i:t._next=i,null===i?this._itTail=t:i._prev=t,n}_addToMoves(n,t){return n.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=n:this._movesTail._nextMoved=n),n}_addToRemovals(n){return null===this._unlinkedRecords&&(this._unlinkedRecords=new KD),this._unlinkedRecords.put(n),n.currentIndex=null,n._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=n,n._prevRemoved=null):(n._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=n),n}_addIdentityChange(n,t){return n.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=n:this._identityChangesTail._nextIdentityChange=n,n}}class EF{constructor(n,t){this.item=n,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class TF{constructor(){this._head=null,this._tail=null}add(n){null===this._head?(this._head=this._tail=n,n._nextDup=null,n._prevDup=null):(this._tail._nextDup=n,n._prevDup=this._tail,n._nextDup=null,this._tail=n)}get(n,t){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===t||t<=i.currentIndex)&&Object.is(i.trackById,n))return i;return null}remove(n){const t=n._prevDup,i=n._nextDup;return null===t?this._head=i:t._nextDup=i,null===i?this._tail=t:i._prevDup=t,null===this._head}}class KD{constructor(){this.map=new Map}put(n){const t=n.trackById;let i=this.map.get(t);i||(i=new TF,this.map.set(t,i)),i.add(n)}get(n,t){const r=this.map.get(n);return r?r.get(n,t):null}remove(n){const t=n.trackById;return this.map.get(t).remove(n)&&this.map.delete(t),n}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function ew(e,n,t){const i=e.previousIndex;if(null===i)return i;let r=0;return t&&i{if(t&&t.key===r)this._maybeAddToChanges(t,i),this._appendAfter=t,t=t._next;else{const o=this._getOrCreateRecordForKey(r,i);t=this._insertBeforeOrAppend(t,o)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let i=t;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(n,t){if(n){const i=n._prev;return t._next=n,t._prev=i,n._prev=t,i&&(i._next=t),n===this._mapHead&&(this._mapHead=t),this._appendAfter=n,n}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(n,t){if(this._records.has(n)){const r=this._records.get(n);this._maybeAddToChanges(r,t);const o=r._prev,s=r._next;return o&&(o._next=s),s&&(s._prev=o),r._next=null,r._prev=null,r}const i=new MF(n);return this._records.set(n,i),i.currentValue=t,this._addToAdditions(i),i}_reset(){if(this.isDirty){let n;for(this._previousMapHead=this._mapHead,n=this._previousMapHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._changesHead;null!==n;n=n._nextChanged)n.previousValue=n.currentValue;for(n=this._additionsHead;null!=n;n=n._nextAdded)n.previousValue=n.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(n,t){Object.is(t,n.currentValue)||(n.previousValue=n.currentValue,n.currentValue=t,this._addToChanges(n))}_addToAdditions(n){null===this._additionsHead?this._additionsHead=this._additionsTail=n:(this._additionsTail._nextAdded=n,this._additionsTail=n)}_addToChanges(n){null===this._changesHead?this._changesHead=this._changesTail=n:(this._changesTail._nextChanged=n,this._changesTail=n)}_forEach(n,t){n instanceof Map?n.forEach(t):Object.keys(n).forEach(i=>t(n[i],i))}}class MF{constructor(n){this.key=n,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function nw(){return new yu([new QD])}let yu=(()=>{class e{static#e=this.\u0275prov=B({token:e,providedIn:"root",factory:nw});constructor(t){this.factories=t}static create(t,i){if(null!=i){const r=i.factories.slice();t=t.concat(r)}return new e(t)}static extend(t){return{provide:e,useFactory:i=>e.create(t,i||nw()),deps:[[e,new mc,new gc]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(null!=i)return i;throw new R(901,!1)}}return e})();function iw(){return new Ba([new tw])}let Ba=(()=>{class e{static#e=this.\u0275prov=B({token:e,providedIn:"root",factory:iw});constructor(t){this.factories=t}static create(t,i){if(i){const r=i.factories.slice();t=t.concat(r)}return new e(t)}static extend(t){return{provide:e,useFactory:i=>e.create(t,i||iw()),deps:[[e,new mc,new gc]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(i)return i;throw new R(901,!1)}}return e})();const OF=jD(null,"core",[]);let xF=(()=>{class e{constructor(t){}static#e=this.\u0275fac=function(i){return new(i||e)(H(Ki))};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})();function Zp(e,n){const t=he(e),i=n.elementInjector||Pc();return new ba(t).create(i,n.projectableNodes,n.hostElement,n.environmentInjector)}let Jp=null;function er(){return Jp}class zF{}const ut=new z("DocumentToken");let Xp=(()=>{class e{historyGo(t){throw new Error("Not implemented")}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:function(){return F(qF)},providedIn:"platform"})}return e})();const WF=new z("Location Initialized");let qF=(()=>{class e extends Xp{constructor(){super(),this._doc=F(ut),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return er().getBaseHref(this._doc)}onPopState(t){const i=er().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",t,!1),()=>i.removeEventListener("popstate",t)}onHashChange(t){const i=er().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",t,!1),()=>i.removeEventListener("hashchange",t)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(t){this._location.pathname=t}pushState(t,i,r){this._history.pushState(t,i,r)}replaceState(t,i,r){this._history.replaceState(t,i,r)}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:function(){return new e},providedIn:"platform"})}return e})();function Qp(e,n){if(0==e.length)return n;if(0==n.length)return e;let t=0;return e.endsWith("/")&&t++,n.startsWith("/")&&t++,2==t?e+n.substring(1):1==t?e+n:e+"/"+n}function fw(e){const n=e.match(/#|\?|$/),t=n&&n.index||e.length;return e.slice(0,t-("/"===e[t-1]?1:0))+e.slice(t)}function xi(e){return e&&"?"!==e[0]?"?"+e:e}let Rr=(()=>{class e{historyGo(t){throw new Error("Not implemented")}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:function(){return F(pw)},providedIn:"root"})}return e})();const hw=new z("appBaseHref");let pw=(()=>{class e extends Rr{constructor(t,i){super(),this._platformLocation=t,this._removeListenerFns=[],this._baseHref=i??this._platformLocation.getBaseHrefFromDOM()??F(ut).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return Qp(this._baseHref,t)}path(t=!1){const i=this._platformLocation.pathname+xi(this._platformLocation.search),r=this._platformLocation.hash;return r&&t?`${i}${r}`:i}pushState(t,i,r,o){const s=this.prepareExternalUrl(r+xi(o));this._platformLocation.pushState(t,i,s)}replaceState(t,i,r,o){const s=this.prepareExternalUrl(r+xi(o));this._platformLocation.replaceState(t,i,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(t=0){this._platformLocation.historyGo?.(t)}static#e=this.\u0275fac=function(i){return new(i||e)(H(Xp),H(hw,8))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),YF=(()=>{class e extends Rr{constructor(t,i){super(),this._platformLocation=t,this._baseHref="",this._removeListenerFns=[],null!=i&&(this._baseHref=i)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}path(t=!1){let i=this._platformLocation.hash;return null==i&&(i="#"),i.length>0?i.substring(1):i}prepareExternalUrl(t){const i=Qp(this._baseHref,t);return i.length>0?"#"+i:i}pushState(t,i,r,o){let s=this.prepareExternalUrl(r+xi(o));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.pushState(t,i,s)}replaceState(t,i,r,o){let s=this.prepareExternalUrl(r+xi(o));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.replaceState(t,i,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(t=0){this._platformLocation.historyGo?.(t)}static#e=this.\u0275fac=function(i){return new(i||e)(H(Xp),H(hw,8))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})(),Kp=(()=>{class e{constructor(t){this._subject=new Y,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=t;const i=this._locationStrategy.getBaseHref();this._basePath=function XF(e){if(new RegExp("^(https?:)?//").test(e)){const[,t]=e.split(/\/\/[^\/]+/);return t}return e}(fw(gw(i))),this._locationStrategy.onPopState(r=>{this._subject.emit({url:this.path(!0),pop:!0,state:r.state,type:r.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(t=!1){return this.normalize(this._locationStrategy.path(t))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(t,i=""){return this.path()==this.normalize(t+xi(i))}normalize(t){return e.stripTrailingSlash(function JF(e,n){if(!e||!n.startsWith(e))return n;const t=n.substring(e.length);return""===t||["/",";","?","#"].includes(t[0])?t:n}(this._basePath,gw(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._locationStrategy.prepareExternalUrl(t)}go(t,i="",r=null){this._locationStrategy.pushState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+xi(i)),r)}replaceState(t,i="",r=null){this._locationStrategy.replaceState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+xi(i)),r)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(t=0){this._locationStrategy.historyGo?.(t)}onUrlChange(t){return this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)})),()=>{const i=this._urlChangeListeners.indexOf(t);this._urlChangeListeners.splice(i,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(t="",i){this._urlChangeListeners.forEach(r=>r(t,i))}subscribe(t,i,r){return this._subject.subscribe({next:t,error:i,complete:r})}static#e=this.normalizeQueryParams=xi;static#t=this.joinWithSlash=Qp;static#n=this.stripTrailingSlash=fw;static#i=this.\u0275fac=function(i){return new(i||e)(H(Rr))};static#r=this.\u0275prov=B({token:e,factory:function(){return function ZF(){return new Kp(H(Rr))}()},providedIn:"root"})}return e})();function gw(e){return e.replace(/\/index.html$/,"")}function Sw(e,n){n=encodeURIComponent(n);for(const t of e.split(";")){const i=t.indexOf("="),[r,o]=-1==i?[t,""]:[t.slice(0,i),t.slice(i+1)];if(r.trim()===n)return decodeURIComponent(o)}return null}const ug=/\s+/,Mw=[];let xu=(()=>{class e{constructor(t,i,r,o){this._iterableDiffers=t,this._keyValueDiffers=i,this._ngEl=r,this._renderer=o,this.initialClasses=Mw,this.stateMap=new Map}set klass(t){this.initialClasses=null!=t?t.trim().split(ug):Mw}set ngClass(t){this.rawClass="string"==typeof t?t.trim().split(ug):t}ngDoCheck(){for(const i of this.initialClasses)this._updateState(i,!0);const t=this.rawClass;if(Array.isArray(t)||t instanceof Set)for(const i of t)this._updateState(i,!0);else if(null!=t)for(const i of Object.keys(t))this._updateState(i,!!t[i]);this._applyStateDiff()}_updateState(t,i){const r=this.stateMap.get(t);void 0!==r?(r.enabled!==i&&(r.changed=!0,r.enabled=i),r.touched=!0):this.stateMap.set(t,{enabled:i,changed:!0,touched:!0})}_applyStateDiff(){for(const t of this.stateMap){const i=t[0],r=t[1];r.changed?(this._toggleClass(i,r.enabled),r.changed=!1):r.touched||(r.enabled&&this._toggleClass(i,!1),this.stateMap.delete(i)),r.touched=!1}}_toggleClass(t,i){(t=t.trim()).length>0&&t.split(ug).forEach(r=>{i?this._renderer.addClass(this._ngEl.nativeElement,r):this._renderer.removeClass(this._ngEl.nativeElement,r)})}static#e=this.\u0275fac=function(i){return new(i||e)(b(yu),b(Ba),b(Se),b(hn))};static#t=this.\u0275dir=L({type:e,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"},standalone:!0})}return e})();class RL{constructor(n,t,i,r){this.$implicit=n,this.ngForOf=t,this.index=i,this.count=r}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let qn=(()=>{class e{set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}constructor(t,i,r){this._viewContainer=t,this._template=i,this._differs=r,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;!this._differ&&t&&(this._differ=this._differs.find(t).create(this.ngForTrackBy))}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const i=this._viewContainer;t.forEachOperation((r,o,s)=>{if(null==r.previousIndex)i.createEmbeddedView(this._template,new RL(r.item,this._ngForOf,-1,-1),null===s?void 0:s);else if(null==s)i.remove(null===o?void 0:o);else if(null!==o){const a=i.get(o);i.move(a,s),Nw(a,r)}});for(let r=0,o=i.length;r{Nw(i.get(r.currentIndex),r)})}static ngTemplateContextGuard(t,i){return!0}static#e=this.\u0275fac=function(i){return new(i||e)(b(Nn),b(Je),b(yu))};static#t=this.\u0275dir=L({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0})}return e})();function Nw(e,n){e.context.$implicit=n.item}let Yn=(()=>{class e{constructor(t,i){this._viewContainer=t,this._context=new PL,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){Ow("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){Ow("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,i){return!0}static#e=this.\u0275fac=function(i){return new(i||e)(b(Nn),b(Je))};static#t=this.\u0275dir=L({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0})}return e})();class PL{constructor(){this.$implicit=null,this.ngIf=null}}function Ow(e,n){if(n&&!n.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${gt(n)}'.`)}let aV=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})();function Pw(e){return"server"===e}let dV=(()=>{class e{static#e=this.\u0275prov=B({token:e,providedIn:"root",factory:()=>new fV(H(ut),window)})}return e})();class fV{constructor(n,t){this.document=n,this.window=t,this.offset=()=>[0,0]}setOffset(n){this.offset=Array.isArray(n)?()=>n:n}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(n){this.supportsScrolling()&&this.window.scrollTo(n[0],n[1])}scrollToAnchor(n){if(!this.supportsScrolling())return;const t=function hV(e,n){const t=e.getElementById(n)||e.getElementsByName(n)[0];if(t)return t;if("function"==typeof e.createTreeWalker&&e.body&&"function"==typeof e.body.attachShadow){const i=e.createTreeWalker(e.body,NodeFilter.SHOW_ELEMENT);let r=i.currentNode;for(;r;){const o=r.shadowRoot;if(o){const s=o.getElementById(n)||o.querySelector(`[name="${n}"]`);if(s)return s}r=i.nextNode()}}return null}(this.document,n);t&&(this.scrollToElement(t),t.focus())}setHistoryScrollRestoration(n){this.supportsScrolling()&&(this.window.history.scrollRestoration=n)}scrollToElement(n){const t=n.getBoundingClientRect(),i=t.left+this.window.pageXOffset,r=t.top+this.window.pageYOffset,o=this.offset();this.window.scrollTo(i-o[0],r-o[1])}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch{return!1}}}class kw{}class FV extends zF{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class _g extends FV{static makeCurrent(){!function GF(e){Jp||(Jp=e)}(new _g)}onAndCancel(n,t,i){return n.addEventListener(t,i),()=>{n.removeEventListener(t,i)}}dispatchEvent(n,t){n.dispatchEvent(t)}remove(n){n.parentNode&&n.parentNode.removeChild(n)}createElement(n,t){return(t=t||this.getDefaultDocument()).createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,t){return"window"===t?window:"document"===t?n:"body"===t?n.body:null}getBaseHref(n){const t=function LV(){return Ua=Ua||document.querySelector("base"),Ua?Ua.getAttribute("href"):null}();return null==t?null:function VV(e){Pu=Pu||document.createElement("a"),Pu.setAttribute("href",e);const n=Pu.pathname;return"/"===n.charAt(0)?n:`/${n}`}(t)}resetBaseElement(){Ua=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return Sw(document.cookie,n)}}let Pu,Ua=null,jV=(()=>{class e{build(){return new XMLHttpRequest}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();const vg=new z("EventManagerPlugins");let jw=(()=>{class e{constructor(t,i){this._zone=i,this._eventNameToPlugin=new Map,t.forEach(r=>{r.manager=this}),this._plugins=t.slice().reverse()}addEventListener(t,i,r){return this._findPluginFor(i).addEventListener(t,i,r)}getZone(){return this._zone}_findPluginFor(t){let i=this._eventNameToPlugin.get(t);if(i)return i;if(i=this._plugins.find(o=>o.supports(t)),!i)throw new R(5101,!1);return this._eventNameToPlugin.set(t,i),i}static#e=this.\u0275fac=function(i){return new(i||e)(H(vg),H(fe))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();class Hw{constructor(n){this._doc=n}}const yg="ng-app-id";let $w=(()=>{class e{constructor(t,i,r,o={}){this.doc=t,this.appId=i,this.nonce=r,this.platformId=o,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=Pw(o),this.resetHostNodes()}addStyles(t){for(const i of t)1===this.changeUsageCount(i,1)&&this.onStyleAdded(i)}removeStyles(t){for(const i of t)this.changeUsageCount(i,-1)<=0&&this.onStyleRemoved(i)}ngOnDestroy(){const t=this.styleNodesInDOM;t&&(t.forEach(i=>i.remove()),t.clear());for(const i of this.getAllStyles())this.onStyleRemoved(i);this.resetHostNodes()}addHost(t){this.hostNodes.add(t);for(const i of this.getAllStyles())this.addStyleToHost(t,i)}removeHost(t){this.hostNodes.delete(t)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(t){for(const i of this.hostNodes)this.addStyleToHost(i,t)}onStyleRemoved(t){const i=this.styleRef;i.get(t)?.elements?.forEach(r=>r.remove()),i.delete(t)}collectServerRenderedStyles(){const t=this.doc.head?.querySelectorAll(`style[${yg}="${this.appId}"]`);if(t?.length){const i=new Map;return t.forEach(r=>{null!=r.textContent&&i.set(r.textContent,r)}),i}return null}changeUsageCount(t,i){const r=this.styleRef;if(r.has(t)){const o=r.get(t);return o.usage+=i,o.usage}return r.set(t,{usage:i,elements:[]}),i}getStyleElement(t,i){const r=this.styleNodesInDOM,o=r?.get(i);if(o?.parentNode===t)return r.delete(i),o.removeAttribute(yg),o;{const s=this.doc.createElement("style");return this.nonce&&s.setAttribute("nonce",this.nonce),s.textContent=i,this.platformIsServer&&s.setAttribute(yg,this.appId),s}}addStyleToHost(t,i){const r=this.getStyleElement(t,i);t.appendChild(r);const o=this.styleRef,s=o.get(i)?.elements;s?s.push(r):o.set(i,{elements:[r],usage:1})}resetHostNodes(){const t=this.hostNodes;t.clear(),t.add(this.doc.head)}static#e=this.\u0275fac=function(i){return new(i||e)(H(ut),H(kc),H(Qy,8),H(Tr))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();const bg={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},Dg=/%COMP%/g,GV=new z("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function Gw(e,n){return n.map(t=>t.replace(Dg,e))}let zw=(()=>{class e{constructor(t,i,r,o,s,a,l,c=null){this.eventManager=t,this.sharedStylesHost=i,this.appId=r,this.removeStylesOnCompDestroy=o,this.doc=s,this.platformId=a,this.ngZone=l,this.nonce=c,this.rendererByCompId=new Map,this.platformIsServer=Pw(a),this.defaultRenderer=new wg(t,s,l,this.platformIsServer)}createRenderer(t,i){if(!t||!i)return this.defaultRenderer;this.platformIsServer&&i.encapsulation===Fn.ShadowDom&&(i={...i,encapsulation:Fn.Emulated});const r=this.getOrCreateRenderer(t,i);return r instanceof qw?r.applyToHost(t):r instanceof Cg&&r.applyStyles(),r}getOrCreateRenderer(t,i){const r=this.rendererByCompId;let o=r.get(i.id);if(!o){const s=this.doc,a=this.ngZone,l=this.eventManager,c=this.sharedStylesHost,u=this.removeStylesOnCompDestroy,d=this.platformIsServer;switch(i.encapsulation){case Fn.Emulated:o=new qw(l,c,i,this.appId,u,s,a,d);break;case Fn.ShadowDom:return new YV(l,c,t,i,s,a,this.nonce,d);default:o=new Cg(l,c,i,u,s,a,d)}r.set(i.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}static#e=this.\u0275fac=function(i){return new(i||e)(H(jw),H($w),H(kc),H(GV),H(ut),H(Tr),H(fe),H(Qy))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();class wg{constructor(n,t,i,r){this.eventManager=n,this.doc=t,this.ngZone=i,this.platformIsServer=r,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(n,t){return t?this.doc.createElementNS(bg[t]||t,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,t){(Ww(n)?n.content:n).appendChild(t)}insertBefore(n,t,i){n&&(Ww(n)?n.content:n).insertBefore(t,i)}removeChild(n,t){n&&n.removeChild(t)}selectRootElement(n,t){let i="string"==typeof n?this.doc.querySelector(n):n;if(!i)throw new R(-5104,!1);return t||(i.textContent=""),i}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,t,i,r){if(r){t=r+":"+t;const o=bg[r];o?n.setAttributeNS(o,t,i):n.setAttribute(t,i)}else n.setAttribute(t,i)}removeAttribute(n,t,i){if(i){const r=bg[i];r?n.removeAttributeNS(r,t):n.removeAttribute(`${i}:${t}`)}else n.removeAttribute(t)}addClass(n,t){n.classList.add(t)}removeClass(n,t){n.classList.remove(t)}setStyle(n,t,i,r){r&(qi.DashCase|qi.Important)?n.style.setProperty(t,i,r&qi.Important?"important":""):n.style[t]=i}removeStyle(n,t,i){i&qi.DashCase?n.style.removeProperty(t):n.style[t]=""}setProperty(n,t,i){n[t]=i}setValue(n,t){n.nodeValue=t}listen(n,t,i){if("string"==typeof n&&!(n=er().getGlobalEventTarget(this.doc,n)))throw new Error(`Unsupported event target ${n} for event ${t}`);return this.eventManager.addEventListener(n,t,this.decoratePreventDefault(i))}decoratePreventDefault(n){return t=>{if("__ngUnwrap__"===t)return n;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>n(t)):n(t))&&t.preventDefault()}}}function Ww(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class YV extends wg{constructor(n,t,i,r,o,s,a,l){super(n,o,s,l),this.sharedStylesHost=t,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=Gw(r.id,r.styles);for(const u of c){const d=document.createElement("style");a&&d.setAttribute("nonce",a),d.textContent=u,this.shadowRoot.appendChild(d)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,t){return super.appendChild(this.nodeOrShadowRoot(n),t)}insertBefore(n,t,i){return super.insertBefore(this.nodeOrShadowRoot(n),t,i)}removeChild(n,t){return super.removeChild(this.nodeOrShadowRoot(n),t)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class Cg extends wg{constructor(n,t,i,r,o,s,a,l){super(n,o,s,a),this.sharedStylesHost=t,this.removeStylesOnCompDestroy=r,this.styles=l?Gw(l,i.styles):i.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class qw extends Cg{constructor(n,t,i,r,o,s,a,l){const c=r+"-"+i.id;super(n,t,i,o,s,a,l,c),this.contentAttr=function zV(e){return"_ngcontent-%COMP%".replace(Dg,e)}(c),this.hostAttr=function WV(e){return"_nghost-%COMP%".replace(Dg,e)}(c)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,t){const i=super.createElement(n,t);return super.setAttribute(i,this.contentAttr,""),i}}let ZV=(()=>{class e extends Hw{constructor(t){super(t)}supports(t){return!0}addEventListener(t,i,r){return t.addEventListener(i,r,!1),()=>this.removeEventListener(t,i,r)}removeEventListener(t,i,r){return t.removeEventListener(i,r)}static#e=this.\u0275fac=function(i){return new(i||e)(H(ut))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();const Yw=["alt","control","meta","shift"],JV={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},XV={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let QV=(()=>{class e extends Hw{constructor(t){super(t)}supports(t){return null!=e.parseEventName(t)}addEventListener(t,i,r){const o=e.parseEventName(i),s=e.eventCallback(o.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>er().onAndCancel(t,o.domEventName,s))}static parseEventName(t){const i=t.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const o=e._normalizeKey(i.pop());let s="",a=i.indexOf("code");if(a>-1&&(i.splice(a,1),s="code."),Yw.forEach(c=>{const u=i.indexOf(c);u>-1&&(i.splice(u,1),s+=c+".")}),s+=o,0!=i.length||0===o.length)return null;const l={};return l.domEventName=r,l.fullKey=s,l}static matchEventFullKeyCode(t,i){let r=JV[t.key]||t.key,o="";return i.indexOf("code.")>-1&&(r=t.code,o="code."),!(null==r||!r)&&(r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),Yw.forEach(s=>{s!==r&&(0,XV[s])(t)&&(o+=s+".")}),o+=r,o===i)}static eventCallback(t,i,r){return o=>{e.matchEventFullKeyCode(o,t)&&r.runGuarded(()=>i(o))}}static _normalizeKey(t){return"esc"===t?"escape":t}static#e=this.\u0275fac=function(i){return new(i||e)(H(ut))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();const nB=jD(OF,"browser",[{provide:Tr,useValue:"browser"},{provide:Xy,useValue:function KV(){_g.makeCurrent()},multi:!0},{provide:ut,useFactory:function tB(){return function zO(e){dh=e}(document),document},deps:[]}]),iB=new z(""),Xw=[{provide:gu,useClass:class BV{addToWindow(n){Be.getAngularTestability=(i,r=!0)=>{const o=n.findTestabilityInTree(i,r);if(null==o)throw new R(5103,!1);return o},Be.getAllAngularTestabilities=()=>n.getAllTestabilities(),Be.getAllAngularRootElements=()=>n.getAllRootElements(),Be.frameworkStabilizers||(Be.frameworkStabilizers=[]),Be.frameworkStabilizers.push(i=>{const r=Be.getAllAngularTestabilities();let o=r.length,s=!1;const a=function(l){s=s||l,o--,0==o&&i(s)};r.forEach(l=>{l.whenStable(a)})})}findTestabilityInTree(n,t,i){return null==t?null:n.getTestability(t)??(i?er().isShadowRoot(t)?this.findTestabilityInTree(n,t.host,!0):this.findTestabilityInTree(n,t.parentElement,!0):null)}},deps:[]},{provide:kD,useClass:Vp,deps:[fe,Bp,gu]},{provide:Vp,useClass:Vp,deps:[fe,Bp,gu]}],Qw=[{provide:Dh,useValue:"root"},{provide:Ii,useFactory:function eB(){return new Ii},deps:[]},{provide:vg,useClass:ZV,multi:!0,deps:[ut,fe,Tr]},{provide:vg,useClass:QV,multi:!0,deps:[ut]},zw,$w,jw,{provide:kh,useExisting:zw},{provide:kw,useClass:jV,deps:[]},[]];let rB=(()=>{class e{constructor(t){}static withServerTransition(t){return{ngModule:e,providers:[{provide:kc,useValue:t.appId}]}}static#e=this.\u0275fac=function(i){return new(i||e)(H(iB,12))};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({providers:[...Qw,...Xw],imports:[aV,xF]})}return e})(),Kw=(()=>{class e{constructor(t){this._doc=t}getTitle(){return this._doc.title}setTitle(t){this._doc.title=t||""}static#e=this.\u0275fac=function(i){return new(i||e)(H(ut))};static#t=this.\u0275prov=B({token:e,factory:function(i){let r=null;return r=i?new i:function sB(){return new Kw(H(ut))}(),r},providedIn:"root"})}return e})();function ls(e,n){return se(n)?ht(e,n,1):ht(e,1)}function vt(e,n){return qe((t,i)=>{let r=0;t.subscribe(Ve(i,o=>e.call(n,o,r++)&&i.next(o)))})}function Ga(e){return qe((n,t)=>{try{n.subscribe(t)}finally{t.add(e)}})}typeof window<"u"&&window;class ku{}class Fu{}class pi{constructor(n){this.normalizedNames=new Map,this.lazyUpdate=null,n?"string"==typeof n?this.lazyInit=()=>{this.headers=new Map,n.split("\n").forEach(t=>{const i=t.indexOf(":");if(i>0){const r=t.slice(0,i),o=r.toLowerCase(),s=t.slice(i+1).trim();this.maybeSetNormalizedName(r,o),this.headers.has(o)?this.headers.get(o).push(s):this.headers.set(o,[s])}})}:typeof Headers<"u"&&n instanceof Headers?(this.headers=new Map,n.forEach((t,i)=>{this.setHeaderEntries(i,t)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(n).forEach(([t,i])=>{this.setHeaderEntries(t,i)})}:this.headers=new Map}has(n){return this.init(),this.headers.has(n.toLowerCase())}get(n){this.init();const t=this.headers.get(n.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(n){return this.init(),this.headers.get(n.toLowerCase())||null}append(n,t){return this.clone({name:n,value:t,op:"a"})}set(n,t){return this.clone({name:n,value:t,op:"s"})}delete(n,t){return this.clone({name:n,value:t,op:"d"})}maybeSetNormalizedName(n,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,n)}init(){this.lazyInit&&(this.lazyInit instanceof pi?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(n=>this.applyUpdate(n)),this.lazyUpdate=null))}copyFrom(n){n.init(),Array.from(n.headers.keys()).forEach(t=>{this.headers.set(t,n.headers.get(t)),this.normalizedNames.set(t,n.normalizedNames.get(t))})}clone(n){const t=new pi;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof pi?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([n]),t}applyUpdate(n){const t=n.name.toLowerCase();switch(n.op){case"a":case"s":let i=n.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(n.name,t);const r=("a"===n.op?this.headers.get(t):void 0)||[];r.push(...i),this.headers.set(t,r);break;case"d":const o=n.value;if(o){let s=this.headers.get(t);if(!s)return;s=s.filter(a=>-1===o.indexOf(a)),0===s.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,s)}else this.headers.delete(t),this.normalizedNames.delete(t)}}setHeaderEntries(n,t){const i=(Array.isArray(t)?t:[t]).map(o=>o.toString()),r=n.toLowerCase();this.headers.set(r,i),this.maybeSetNormalizedName(n,r)}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>n(this.normalizedNames.get(t),this.headers.get(t)))}}class dB{encodeKey(n){return iC(n)}encodeValue(n){return iC(n)}decodeKey(n){return decodeURIComponent(n)}decodeValue(n){return decodeURIComponent(n)}}const hB=/%(\d[a-f0-9])/gi,pB={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function iC(e){return encodeURIComponent(e).replace(hB,(n,t)=>pB[t]??n)}function Lu(e){return`${e}`}class nr{constructor(n={}){if(this.updates=null,this.cloneFrom=null,this.encoder=n.encoder||new dB,n.fromString){if(n.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function fB(e,n){const t=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(r=>{const o=r.indexOf("="),[s,a]=-1==o?[n.decodeKey(r),""]:[n.decodeKey(r.slice(0,o)),n.decodeValue(r.slice(o+1))],l=t.get(s)||[];l.push(a),t.set(s,l)}),t}(n.fromString,this.encoder)}else n.fromObject?(this.map=new Map,Object.keys(n.fromObject).forEach(t=>{const i=n.fromObject[t],r=Array.isArray(i)?i.map(Lu):[Lu(i)];this.map.set(t,r)})):this.map=null}has(n){return this.init(),this.map.has(n)}get(n){this.init();const t=this.map.get(n);return t?t[0]:null}getAll(n){return this.init(),this.map.get(n)||null}keys(){return this.init(),Array.from(this.map.keys())}append(n,t){return this.clone({param:n,value:t,op:"a"})}appendAll(n){const t=[];return Object.keys(n).forEach(i=>{const r=n[i];Array.isArray(r)?r.forEach(o=>{t.push({param:i,value:o,op:"a"})}):t.push({param:i,value:r,op:"a"})}),this.clone(t)}set(n,t){return this.clone({param:n,value:t,op:"s"})}delete(n,t){return this.clone({param:n,value:t,op:"d"})}toString(){return this.init(),this.keys().map(n=>{const t=this.encoder.encodeKey(n);return this.map.get(n).map(i=>t+"="+this.encoder.encodeValue(i)).join("&")}).filter(n=>""!==n).join("&")}clone(n){const t=new nr({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(n),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(n=>this.map.set(n,this.cloneFrom.map.get(n))),this.updates.forEach(n=>{switch(n.op){case"a":case"s":const t=("a"===n.op?this.map.get(n.param):void 0)||[];t.push(Lu(n.value)),this.map.set(n.param,t);break;case"d":if(void 0===n.value){this.map.delete(n.param);break}{let i=this.map.get(n.param)||[];const r=i.indexOf(Lu(n.value));-1!==r&&i.splice(r,1),i.length>0?this.map.set(n.param,i):this.map.delete(n.param)}}}),this.cloneFrom=this.updates=null)}}class gB{constructor(){this.map=new Map}set(n,t){return this.map.set(n,t),this}get(n){return this.map.has(n)||this.map.set(n,n.defaultValue()),this.map.get(n)}delete(n){return this.map.delete(n),this}has(n){return this.map.has(n)}keys(){return this.map.keys()}}function rC(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function oC(e){return typeof Blob<"u"&&e instanceof Blob}function sC(e){return typeof FormData<"u"&&e instanceof FormData}class za{constructor(n,t,i,r){let o;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=n.toUpperCase(),function mB(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,o=r):o=i,o&&(this.reportProgress=!!o.reportProgress,this.withCredentials=!!o.withCredentials,o.responseType&&(this.responseType=o.responseType),o.headers&&(this.headers=o.headers),o.context&&(this.context=o.context),o.params&&(this.params=o.params)),this.headers||(this.headers=new pi),this.context||(this.context=new gB),this.params){const s=this.params.toString();if(0===s.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":ad.set(h,n.setHeaders[h]),l)),n.setParams&&(c=Object.keys(n.setParams).reduce((d,h)=>d.set(h,n.setParams[h]),c)),new za(t,i,o,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:s})}}var cs=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(cs||{});class Tg{constructor(n,t=200,i="OK"){this.headers=n.headers||new pi,this.status=void 0!==n.status?n.status:t,this.statusText=n.statusText||i,this.url=n.url||null,this.ok=this.status>=200&&this.status<300}}class Sg extends Tg{constructor(n={}){super(n),this.type=cs.ResponseHeader}clone(n={}){return new Sg({headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class us extends Tg{constructor(n={}){super(n),this.type=cs.Response,this.body=void 0!==n.body?n.body:null}clone(n={}){return new us({body:void 0!==n.body?n.body:this.body,headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class aC extends Tg{constructor(n){super(n,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${n.url||"(unknown url)"}`:`Http failure response for ${n.url||"(unknown url)"}: ${n.status} ${n.statusText}`,this.error=n.error||null}}function Mg(e,n){return{body:n,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}let Wa=(()=>{class e{constructor(t){this.handler=t}request(t,i,r={}){let o;if(t instanceof za)o=t;else{let l,c;l=r.headers instanceof pi?r.headers:new pi(r.headers),r.params&&(c=r.params instanceof nr?r.params:new nr({fromObject:r.params})),o=new za(t,i,void 0!==r.body?r.body:null,{headers:l,context:r.context,params:c,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials})}const s=J(o).pipe(ls(l=>this.handler.handle(l)));if(t instanceof za||"events"===r.observe)return s;const a=s.pipe(vt(l=>l instanceof us));switch(r.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return a.pipe(ae(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(ae(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(ae(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));default:return a.pipe(ae(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(t,i={}){return this.request("DELETE",t,i)}get(t,i={}){return this.request("GET",t,i)}head(t,i={}){return this.request("HEAD",t,i)}jsonp(t,i){return this.request("JSONP",t,{params:(new nr).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,i={}){return this.request("OPTIONS",t,i)}patch(t,i,r={}){return this.request("PATCH",t,Mg(r,i))}post(t,i,r={}){return this.request("POST",t,Mg(r,i))}put(t,i,r={}){return this.request("PUT",t,Mg(r,i))}static#e=this.\u0275fac=function(i){return new(i||e)(H(ku))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();function uC(e,n){return n(e)}function yB(e,n){return(t,i)=>n.intercept(t,{handle:r=>e(r,i)})}const DB=new z(""),qa=new z(""),dC=new z("");function wB(){let e=null;return(n,t)=>{null===e&&(e=(F(DB,{optional:!0})??[]).reduceRight(yB,uC));const i=F(hu),r=i.add();return e(n,t).pipe(Ga(()=>i.remove(r)))}}let fC=(()=>{class e extends ku{constructor(t,i){super(),this.backend=t,this.injector=i,this.chain=null,this.pendingTasks=F(hu)}handle(t){if(null===this.chain){const r=Array.from(new Set([...this.injector.get(qa),...this.injector.get(dC,[])]));this.chain=r.reduceRight((o,s)=>function bB(e,n,t){return(i,r)=>t.runInContext(()=>n(i,o=>e(o,r)))}(o,s,this.injector),uC)}const i=this.pendingTasks.add();return this.chain(t,r=>this.backend.handle(r)).pipe(Ga(()=>this.pendingTasks.remove(i)))}static#e=this.\u0275fac=function(i){return new(i||e)(H(Fu),H(zt))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();const SB=/^\)\]\}',?\n/;let pC=(()=>{class e{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new R(-2800,!1);const i=this.xhrFactory;return(i.\u0275loadImpl?pt(i.\u0275loadImpl()):J(null)).pipe(wn(()=>new Ce(o=>{const s=i.build();if(s.open(t.method,t.urlWithParams),t.withCredentials&&(s.withCredentials=!0),t.headers.forEach((y,D)=>s.setRequestHeader(y,D.join(","))),t.headers.has("Accept")||s.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const y=t.detectContentTypeHeader();null!==y&&s.setRequestHeader("Content-Type",y)}if(t.responseType){const y=t.responseType.toLowerCase();s.responseType="json"!==y?y:"text"}const a=t.serializeBody();let l=null;const c=()=>{if(null!==l)return l;const y=s.statusText||"OK",D=new pi(s.getAllResponseHeaders()),M=function MB(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(s)||t.url;return l=new Sg({headers:D,status:s.status,statusText:y,url:M}),l},u=()=>{let{headers:y,status:D,statusText:M,url:C}=c(),P=null;204!==D&&(P=typeof s.response>"u"?s.responseText:s.response),0===D&&(D=P?200:0);let k=D>=200&&D<300;if("json"===t.responseType&&"string"==typeof P){const G=P;P=P.replace(SB,"");try{P=""!==P?JSON.parse(P):null}catch(X){P=G,k&&(k=!1,P={error:X,text:P})}}k?(o.next(new us({body:P,headers:y,status:D,statusText:M,url:C||void 0})),o.complete()):o.error(new aC({error:P,headers:y,status:D,statusText:M,url:C||void 0}))},d=y=>{const{url:D}=c(),M=new aC({error:y,status:s.status||0,statusText:s.statusText||"Unknown Error",url:D||void 0});o.error(M)};let h=!1;const _=y=>{h||(o.next(c()),h=!0);let D={type:cs.DownloadProgress,loaded:y.loaded};y.lengthComputable&&(D.total=y.total),"text"===t.responseType&&s.responseText&&(D.partialText=s.responseText),o.next(D)},v=y=>{let D={type:cs.UploadProgress,loaded:y.loaded};y.lengthComputable&&(D.total=y.total),o.next(D)};return s.addEventListener("load",u),s.addEventListener("error",d),s.addEventListener("timeout",d),s.addEventListener("abort",d),t.reportProgress&&(s.addEventListener("progress",_),null!==a&&s.upload&&s.upload.addEventListener("progress",v)),s.send(a),o.next({type:cs.Sent}),()=>{s.removeEventListener("error",d),s.removeEventListener("abort",d),s.removeEventListener("load",u),s.removeEventListener("timeout",d),t.reportProgress&&(s.removeEventListener("progress",_),null!==a&&s.upload&&s.upload.removeEventListener("progress",v)),s.readyState!==s.DONE&&s.abort()}})))}static#e=this.\u0275fac=function(i){return new(i||e)(H(kw))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();const Ig=new z("XSRF_ENABLED"),gC=new z("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),mC=new z("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class _C{}let OB=(()=>{class e{constructor(t,i,r){this.doc=t,this.platform=i,this.cookieName=r,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=Sw(t,this.cookieName),this.lastCookieString=t),this.lastToken}static#e=this.\u0275fac=function(i){return new(i||e)(H(ut),H(Tr),H(gC))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();function xB(e,n){const t=e.url.toLowerCase();if(!F(Ig)||"GET"===e.method||"HEAD"===e.method||t.startsWith("http://")||t.startsWith("https://"))return n(e);const i=F(_C).getToken(),r=F(mC);return null!=i&&!e.headers.has(r)&&(e=e.clone({headers:e.headers.set(r,i)})),n(e)}var ir=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(ir||{});function AB(...e){const n=[Wa,pC,fC,{provide:ku,useExisting:fC},{provide:Fu,useExisting:pC},{provide:qa,useValue:xB,multi:!0},{provide:Ig,useValue:!0},{provide:_C,useClass:OB}];for(const t of e)n.push(...t.\u0275providers);return function vh(e){return{\u0275providers:e}}(n)}const vC=new z("LEGACY_INTERCEPTOR_FN");function RB(){return function Pr(e,n){return{\u0275kind:e,\u0275providers:n}}(ir.LegacyInterceptors,[{provide:vC,useFactory:wB},{provide:qa,useExisting:vC,multi:!0}])}let PB=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({providers:[AB(RB())]})}return e})();const{isArray:jB}=Array,{getPrototypeOf:HB,prototype:$B,keys:UB}=Object;function yC(e){if(1===e.length){const n=e[0];if(jB(n))return{args:n,keys:null};if(function GB(e){return e&&"object"==typeof e&&HB(e)===$B}(n)){const t=UB(n);return{args:t.map(i=>n[i]),keys:t}}}return{args:e,keys:null}}const{isArray:zB}=Array;function Ng(e){return ae(n=>function WB(e,n){return zB(n)?e(...n):e(n)}(e,n))}function bC(e,n){return e.reduce((t,i,r)=>(t[i]=n[r],t),{})}let DC=(()=>{class e{constructor(t,i){this._renderer=t,this._elementRef=i,this.onChange=r=>{},this.onTouched=()=>{}}setProperty(t,i){this._renderer.setProperty(this._elementRef.nativeElement,t,i)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}static#e=this.\u0275fac=function(i){return new(i||e)(b(hn),b(Se))};static#t=this.\u0275dir=L({type:e})}return e})(),kr=(()=>{class e extends DC{static#e=this.\u0275fac=function(){let t;return function(r){return(t||(t=st(e)))(r||e)}}();static#t=this.\u0275dir=L({type:e,features:[Me]})}return e})();const An=new z("NgValueAccessor"),ZB={provide:An,useExisting:le(()=>Ya),multi:!0},XB=new z("CompositionEventMode");let Ya=(()=>{class e extends DC{constructor(t,i,r){super(t,i),this._compositionMode=r,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function JB(){const e=er()?er().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(t){this.setProperty("value",t??"")}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}static#e=this.\u0275fac=function(i){return new(i||e)(b(hn),b(Se),b(XB,8))};static#t=this.\u0275dir=L({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(i,r){1&i&&Z("input",function(s){return r._handleInput(s.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(s){return r._compositionEnd(s.target.value)})},features:[Fe([ZB]),Me]})}return e})();function rr(e){return null==e||("string"==typeof e||Array.isArray(e))&&0===e.length}const Ot=new z("NgValidators"),or=new z("NgAsyncValidators");function Bu(e){return null}function AC(e){return null!=e}function RC(e){return Sa(e)?pt(e):e}function PC(e){let n={};return e.forEach(t=>{n=null!=t?{...n,...t}:n}),0===Object.keys(n).length?null:n}function kC(e,n){return n.map(t=>t(e))}function FC(e){return e.map(n=>function KB(e){return!e.validate}(n)?n:t=>n.validate(t))}function Og(e){return null!=e?function LC(e){if(!e)return null;const n=e.filter(AC);return 0==n.length?null:function(t){return PC(kC(t,n))}}(FC(e)):null}function xg(e){return null!=e?function VC(e){if(!e)return null;const n=e.filter(AC);return 0==n.length?null:function(t){return function qB(...e){const n=Ul(e),{args:t,keys:i}=yC(e),r=new Ce(o=>{const{length:s}=t;if(!s)return void o.complete();const a=new Array(s);let l=s,c=s;for(let u=0;u{d||(d=!0,c--),a[u]=h},()=>l--,void 0,()=>{(!l||!d)&&(c||o.next(i?bC(i,a):a),o.complete())}))}});return n?r.pipe(Ng(n)):r}(kC(t,n).map(RC)).pipe(ae(PC))}}(FC(e)):null}function BC(e,n){return null===e?[n]:Array.isArray(e)?[...e,n]:[e,n]}function Ag(e){return e?Array.isArray(e)?e:[e]:[]}function ju(e,n){return Array.isArray(e)?e.includes(n):e===n}function $C(e,n){const t=Ag(n);return Ag(e).forEach(r=>{ju(t,r)||t.push(r)}),t}function UC(e,n){return Ag(n).filter(t=>!ju(e,t))}class GC{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(n){this._rawValidators=n||[],this._composedValidatorFn=Og(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=xg(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(n){this._onDestroyCallbacks.push(n)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(n=>n()),this._onDestroyCallbacks=[]}reset(n=void 0){this.control&&this.control.reset(n)}hasError(n,t){return!!this.control&&this.control.hasError(n,t)}getError(n,t){return this.control?this.control.getError(n,t):null}}class Yt extends GC{get formDirective(){return null}get path(){return null}}class sr extends GC{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class zC{constructor(n){this._cd=n}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let Rg=(()=>{class e extends zC{constructor(t){super(t)}static#e=this.\u0275fac=function(i){return new(i||e)(b(sr,2))};static#t=this.\u0275dir=L({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(i,r){2&i&&me("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)},features:[Me]})}return e})(),WC=(()=>{class e extends zC{constructor(t){super(t)}static#e=this.\u0275fac=function(i){return new(i||e)(b(Yt,10))};static#t=this.\u0275dir=L({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(i,r){2&i&&me("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)("ng-submitted",r.isSubmitted)},features:[Me]})}return e})();const Za="VALID",$u="INVALID",ds="PENDING",Ja="DISABLED";function Fg(e){return(Uu(e)?e.validators:e)||null}function Lg(e,n){return(Uu(n)?n.asyncValidators:e)||null}function Uu(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}class JC{constructor(n,t){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(n),this._assignAsyncValidators(t)}get validator(){return this._composedValidatorFn}set validator(n){this._rawValidators=this._composedValidatorFn=n}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(n){this._rawAsyncValidators=this._composedAsyncValidatorFn=n}get parent(){return this._parent}get valid(){return this.status===Za}get invalid(){return this.status===$u}get pending(){return this.status==ds}get disabled(){return this.status===Ja}get enabled(){return this.status!==Ja}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(n){this._assignValidators(n)}setAsyncValidators(n){this._assignAsyncValidators(n)}addValidators(n){this.setValidators($C(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators($C(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(UC(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(UC(n,this._rawAsyncValidators))}hasValidator(n){return ju(this._rawValidators,n)}hasAsyncValidator(n){return ju(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){this.touched=!0,this._parent&&!n.onlySelf&&this._parent.markAsTouched(n)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(n=>n.markAllAsTouched())}markAsUntouched(n={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}markAsDirty(n={}){this.pristine=!1,this._parent&&!n.onlySelf&&this._parent.markAsDirty(n)}markAsPristine(n={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}markAsPending(n={}){this.status=ds,!1!==n.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!n.onlySelf&&this._parent.markAsPending(n)}disable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=Ja,this.errors=null,this._forEachChild(i=>{i.disable({...n,onlySelf:!0})}),this._updateValue(),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...n,skipPristineCheck:t}),this._onDisabledChange.forEach(i=>i(!0))}enable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=Za,this._forEachChild(i=>{i.enable({...n,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors({...n,skipPristineCheck:t}),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(n){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(n){this._parent=n}getRawValue(){return this.value}updateValueAndValidity(n={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Za||this.status===ds)&&this._runAsyncValidator(n.emitEvent)),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity(n)}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Ja:Za}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n){if(this.asyncValidator){this.status=ds,this._hasOwnPendingAsyncValidator=!0;const t=RC(this.asyncValidator(this));this._asyncValidationSubscription=t.subscribe(i=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(i,{emitEvent:n})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(n,t={}){this.errors=n,this._updateControlsErrors(!1!==t.emitEvent)}get(n){let t=n;return null==t||(Array.isArray(t)||(t=t.split(".")),0===t.length)?null:t.reduce((i,r)=>i&&i._find(r),this)}getError(n,t){const i=t?this.get(t):this;return i&&i.errors?i.errors[n]:null}hasError(n,t){return!!this.getError(n,t)}get root(){let n=this;for(;n._parent;)n=n._parent;return n}_updateControlsErrors(n){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(n)}_initObservables(){this.valueChanges=new Y,this.statusChanges=new Y}_calculateStatus(){return this._allControlsDisabled()?Ja:this.errors?$u:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(ds)?ds:this._anyControlsHaveStatus($u)?$u:Za}_anyControlsHaveStatus(n){return this._anyControls(t=>t.status===n)}_anyControlsDirty(){return this._anyControls(n=>n.dirty)}_anyControlsTouched(){return this._anyControls(n=>n.touched)}_updatePristine(n={}){this.pristine=!this._anyControlsDirty(),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}_updateTouched(n={}){this.touched=this._anyControlsTouched(),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){Uu(n)&&null!=n.updateOn&&(this._updateOn=n.updateOn)}_parentMarkedDirty(n){return!n&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(n){return null}_assignValidators(n){this._rawValidators=Array.isArray(n)?n.slice():n,this._composedValidatorFn=function ij(e){return Array.isArray(e)?Og(e):e||null}(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=function rj(e){return Array.isArray(e)?xg(e):e||null}(this._rawAsyncValidators)}}class Vg extends JC{constructor(n,t,i){super(Fg(t),Lg(i,t)),this.controls=n,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(n,t){return this.controls[n]?this.controls[n]:(this.controls[n]=t,t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange),t)}addControl(n,t,i={}){this.registerControl(n,t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(n,t={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}setControl(n,t,i={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],t&&this.registerControl(n,t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(n){return this.controls.hasOwnProperty(n)&&this.controls[n].enabled}setValue(n,t={}){(function ZC(e,n,t){e._forEachChild((i,r)=>{if(void 0===t[r])throw new R(1002,"")})})(this,0,n),Object.keys(n).forEach(i=>{(function YC(e,n,t){const i=e.controls;if(!(n?Object.keys(i):i).length)throw new R(1e3,"");if(!i[t])throw new R(1001,"")})(this,!0,i),this.controls[i].setValue(n[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(n,t={}){null!=n&&(Object.keys(n).forEach(i=>{const r=this.controls[i];r&&r.patchValue(n[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(n={},t={}){this._forEachChild((i,r)=>{i.reset(n?n[r]:null,{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}getRawValue(){return this._reduceChildren({},(n,t,i)=>(n[i]=t.getRawValue(),n))}_syncPendingControls(){let n=this._reduceChildren(!1,(t,i)=>!!i._syncPendingControls()||t);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){Object.keys(this.controls).forEach(t=>{const i=this.controls[t];i&&n(i,t)})}_setUpControls(){this._forEachChild(n=>{n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(n){for(const[t,i]of Object.entries(this.controls))if(this.contains(t)&&n(i))return!0;return!1}_reduceValue(){return this._reduceChildren({},(t,i,r)=>((i.enabled||this.disabled)&&(t[r]=i.value),t))}_reduceChildren(n,t){let i=n;return this._forEachChild((r,o)=>{i=t(i,r,o)}),i}_allControlsDisabled(){for(const n of Object.keys(this.controls))if(this.controls[n].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(n){return this.controls.hasOwnProperty(n)?this.controls[n]:null}}const Fr=new z("CallSetDisabledState",{providedIn:"root",factory:()=>Xa}),Xa="always";function Qa(e,n,t=Xa){Bg(e,n),n.valueAccessor.writeValue(e.value),(e.disabled||"always"===t)&&n.valueAccessor.setDisabledState?.(e.disabled),function aj(e,n){n.valueAccessor.registerOnChange(t=>{e._pendingValue=t,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&XC(e,n)})}(e,n),function cj(e,n){const t=(i,r)=>{n.valueAccessor.writeValue(i),r&&n.viewToModelUpdate(i)};e.registerOnChange(t),n._registerOnDestroy(()=>{e._unregisterOnChange(t)})}(e,n),function lj(e,n){n.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&XC(e,n),"submit"!==e.updateOn&&e.markAsTouched()})}(e,n),function sj(e,n){if(n.valueAccessor.setDisabledState){const t=i=>{n.valueAccessor.setDisabledState(i)};e.registerOnDisabledChange(t),n._registerOnDestroy(()=>{e._unregisterOnDisabledChange(t)})}}(e,n)}function Wu(e,n){e.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(n)})}function Bg(e,n){const t=function jC(e){return e._rawValidators}(e);null!==n.validator?e.setValidators(BC(t,n.validator)):"function"==typeof t&&e.setValidators([t]);const i=function HC(e){return e._rawAsyncValidators}(e);null!==n.asyncValidator?e.setAsyncValidators(BC(i,n.asyncValidator)):"function"==typeof i&&e.setAsyncValidators([i]);const r=()=>e.updateValueAndValidity();Wu(n._rawValidators,r),Wu(n._rawAsyncValidators,r)}function XC(e,n){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}const pj={provide:Yt,useExisting:le(()=>Yu)},Ka=(()=>Promise.resolve())();let Yu=(()=>{class e extends Yt{constructor(t,i,r){super(),this.callSetDisabledState=r,this.submitted=!1,this._directives=new Set,this.ngSubmit=new Y,this.form=new Vg({},Og(t),xg(i))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){Ka.then(()=>{const i=this._findContainer(t.path);t.control=i.registerControl(t.name,t.control),Qa(t.control,t,this.callSetDisabledState),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){Ka.then(()=>{const i=this._findContainer(t.path);i&&i.removeControl(t.name),this._directives.delete(t)})}addFormGroup(t){Ka.then(()=>{const i=this._findContainer(t.path),r=new Vg({});(function QC(e,n){Bg(e,n)})(r,t),i.registerControl(t.name,r),r.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){Ka.then(()=>{const i=this._findContainer(t.path);i&&i.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,i){Ka.then(()=>{this.form.get(t.path).setValue(i)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,function KC(e,n){e._syncPendingControls(),n.forEach(t=>{const i=t.control;"submit"===i.updateOn&&i._pendingChange&&(t.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}(this.form,this._directives),this.ngSubmit.emit(t),"dialog"===t?.target?.method}onReset(){this.resetForm()}resetForm(t=void 0){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}static#e=this.\u0275fac=function(i){return new(i||e)(b(Ot,10),b(or,10),b(Fr,8))};static#t=this.\u0275dir=L({type:e,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(i,r){1&i&&Z("submit",function(s){return r.onSubmit(s)})("reset",function(){return r.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Fe([pj]),Me]})}return e})();function eE(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function tE(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const nE=class extends JC{constructor(n=null,t,i){super(Fg(t),Lg(i,t)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(n),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),Uu(t)&&(t.nonNullable||t.initialValueIsDefault)&&(this.defaultValue=tE(n)?n.value:n)}setValue(n,t={}){this.value=this._pendingValue=n,this._onChange.length&&!1!==t.emitModelToViewChange&&this._onChange.forEach(i=>i(this.value,!1!==t.emitViewToModelChange)),this.updateValueAndValidity(t)}patchValue(n,t={}){this.setValue(n,t)}reset(n=this.defaultValue,t={}){this._applyFormState(n),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1}_updateValue(){}_anyControls(n){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(n){this._onChange.push(n)}_unregisterOnChange(n){eE(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){eE(this._onDisabledChange,n)}_forEachChild(n){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(n){tE(n)?(this.value=this._pendingValue=n.value,n.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=n}},_j={provide:sr,useExisting:le(()=>Zu)},oE=(()=>Promise.resolve())();let Zu=(()=>{class e extends sr{constructor(t,i,r,o,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this.control=new nE,this._registered=!1,this.name="",this.update=new Y,this._parent=t,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=function $g(e,n){if(!n)return null;let t,i,r;return Array.isArray(n),n.forEach(o=>{o.constructor===Ya?t=o:function fj(e){return Object.getPrototypeOf(e.constructor)===kr}(o)?i=o:r=o}),r||i||t||null}(0,o)}ngOnChanges(t){if(this._checkForErrors(),!this._registered||"name"in t){if(this._registered&&(this._checkName(),this.formDirective)){const i=t.name.previousValue;this.formDirective.removeControl({name:i,path:this._getPath(i)})}this._setUpControl()}"isDisabled"in t&&this._updateDisabled(t),function Hg(e,n){if(!e.hasOwnProperty("model"))return!1;const t=e.model;return!!t.isFirstChange()||!Object.is(n,t.currentValue)}(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){Qa(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){oE.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(t){const i=t.isDisabled.currentValue,r=0!==i&&function os(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}(i);oE.then(()=>{r&&!this.control.disabled?this.control.disable():!r&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(t){return this._parent?function Gu(e,n){return[...n.path,e]}(t,this._parent):[t]}static#e=this.\u0275fac=function(i){return new(i||e)(b(Yt,9),b(Ot,10),b(or,10),b(An,10),b(zn,8),b(Fr,8))};static#t=this.\u0275dir=L({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[Fe([_j]),Me,Mt]})}return e})(),sE=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275dir=L({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]})}return e})();const vj={provide:An,useExisting:le(()=>Ug),multi:!0};let Ug=(()=>{class e extends kr{writeValue(t){this.setProperty("value",t??"")}registerOnChange(t){this.onChange=i=>{t(""==i?null:parseFloat(i))}}static#e=this.\u0275fac=function(){let t;return function(r){return(t||(t=st(e)))(r||e)}}();static#t=this.\u0275dir=L({type:e,selectors:[["input","type","number","formControlName",""],["input","type","number","formControl",""],["input","type","number","ngModel",""]],hostBindings:function(i,r){1&i&&Z("input",function(s){return r.onChange(s.target.value)})("blur",function(){return r.onTouched()})},features:[Fe([vj]),Me]})}return e})(),aE=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})();const Gg=new z("NgModelWithFormControlWarning");function mE(e){return"number"==typeof e?e:parseFloat(e)}let Lr=(()=>{class e{constructor(){this._validator=Bu}ngOnChanges(t){if(this.inputName in t){const i=this.normalizeInput(t[this.inputName].currentValue);this._enabled=this.enabled(i),this._validator=this._enabled?this.createValidator(i):Bu,this._onChange&&this._onChange()}}validate(t){return this._validator(t)}registerOnValidatorChange(t){this._onChange=t}enabled(t){return null!=t}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275dir=L({type:e,features:[Mt]})}return e})();const Rj={provide:Ot,useExisting:le(()=>Jg),multi:!0};let Jg=(()=>{class e extends Lr{constructor(){super(...arguments),this.inputName="max",this.normalizeInput=t=>mE(t),this.createValidator=t=>function TC(e){return n=>{if(rr(n.value)||rr(e))return null;const t=parseFloat(n.value);return!isNaN(t)&&t>e?{max:{max:e,actual:n.value}}:null}}(t)}static#e=this.\u0275fac=function(){let t;return function(r){return(t||(t=st(e)))(r||e)}}();static#t=this.\u0275dir=L({type:e,selectors:[["input","type","number","max","","formControlName",""],["input","type","number","max","","formControl",""],["input","type","number","max","","ngModel",""]],hostVars:1,hostBindings:function(i,r){2&i&&Ie("max",r._enabled?r.max:null)},inputs:{max:"max"},features:[Fe([Rj]),Me]})}return e})();const Pj={provide:Ot,useExisting:le(()=>Xg),multi:!0};let Xg=(()=>{class e extends Lr{constructor(){super(...arguments),this.inputName="min",this.normalizeInput=t=>mE(t),this.createValidator=t=>function EC(e){return n=>{if(rr(n.value)||rr(e))return null;const t=parseFloat(n.value);return!isNaN(t)&&t{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({imports:[aE]})}return e})(),$j=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:Fr,useValue:t.callSetDisabledState??Xa}]}}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({imports:[wE]})}return e})(),Uj=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:Gg,useValue:t.warnOnNgModelWithFormControl??"always"},{provide:Fr,useValue:t.callSetDisabledState??Xa}]}}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({imports:[wE]})}return e})(),Ju=(()=>{class e{formatTransactionTime(t){const i=new Date(1e3*t);return"Invalid Date"===i.toString()?(console.error("Invalid Date Format:",t),"Invalid Date"):i.toLocaleDateString(void 0,{year:"numeric",month:"2-digit",day:"2-digit"})+", "+i.toLocaleTimeString()}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Xu=(()=>{class e{getTransactionType(t){return 0===t.inputs.length&&0===t.outputs.length&&console.log("Encrypted Message"),0===t.inputs.length&&1===t.outputs.length&&0===t.outputs[0]?.value?"Message":0===t.inputs.length&&t.outputs.length>=1&&t.outputs[0]?.value>0?"Coinbase":t.inputs.length>0&&t.outputs.length>=1&&t.outputs[0]?.value>0?"Transfer":t.outputs.length>=2&&0===t.outputs[0]?.value?"Create Identity":(console.log("Unknown Transaction Type"),"Unknown Transaction Type")}isEncryptedMessageTransaction(t){return 0===t.inputs.length&&0===t.outputs.length}isMessageTransaction(t){return 0===t.inputs.length&&1===t.outputs.length&&0===t.outputs[0]?.value}isCoinbaseTransaction(t){return 0===t.inputs.length&&t.outputs.length>=1&&t.outputs[0]?.value>0}isTransferTransaction(t){return t.inputs.length>0&&t.outputs.length>=1&&t.outputs[0]?.value>0}isCreateIdentityTransaction(t){return t.outputs.length>=2&&0===t.outputs[0]?.value}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Kg(...e){const n=Vs(e),t=Ul(e),{args:i,keys:r}=yC(e);if(0===i.length)return pt([],n);const o=new Ce(function zj(e,n,t=kn){return i=>{CE(n,()=>{const{length:r}=e,o=new Array(r);let s=r,a=r;for(let l=0;l{const c=pt(e[l],n);let u=!1;c.subscribe(Ve(i,d=>{o[l]=d,u||(u=!0,a--),a||i.next(t(o.slice()))},()=>{--s||i.complete()}))},i)},i)}}(i,n,r?s=>bC(r,s):kn));return t?o.pipe(Ng(t)):o}function CE(e,n,t){e?Di(t,e,n):n()}const Qu=Li(e=>function(){e(this),this.name="EmptyError",this.message="no elements in sequence"});function el(...e){return function Wj(){return lo(1)}()(pt(e,Vs(e)))}function EE(e){return new Ce(n=>{ft(e()).subscribe(n)})}function tl(e,n){const t=se(e)?e:()=>e,i=r=>r.error(t());return new Ce(n?r=>n.schedule(i,0,r):i)}function em(){return qe((e,n)=>{let t=null;e._refCount++;const i=Ve(n,void 0,void 0,void 0,()=>{if(!e||e._refCount<=0||0<--e._refCount)return void(t=null);const r=e._connection,o=t;t=null,r&&(!o||r===o)&&r.unsubscribe(),n.unsubscribe()});e.subscribe(i),i.closed||(t=e.connect())})}class TE extends Ce{constructor(n,t){super(),this.source=n,this.subjectFactory=t,this._subject=null,this._refCount=0,this._connection=null,Fs(n)&&(this.lift=n.lift)}_subscribe(n){return this.getSubject().subscribe(n)}getSubject(){const n=this._subject;return(!n||n.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:n}=this;this._subject=this._connection=null,n?.unsubscribe()}connect(){let n=this._connection;if(!n){n=this._connection=new nt;const t=this.getSubject();n.add(this.source.subscribe(Ve(t,void 0,()=>{this._teardown(),t.complete()},i=>{this._teardown(),t.error(i)},()=>this._teardown()))),n.closed&&(this._connection=null,n=nt.EMPTY)}return n}refCount(){return em()(this)}}function xt(e){return e<=0?()=>bn:qe((n,t)=>{let i=0;n.subscribe(Ve(t,r=>{++i<=e&&(t.next(r),e<=i&&t.complete())}))})}function Ku(e){return qe((n,t)=>{let i=!1;n.subscribe(Ve(t,r=>{i=!0,t.next(r)},()=>{i||t.next(e),t.complete()}))})}function ME(e=qj){return qe((n,t)=>{let i=!1;n.subscribe(Ve(t,r=>{i=!0,t.next(r)},()=>i?t.complete():t.error(e())))})}function qj(){return new Qu}function Vr(e,n){const t=arguments.length>=2;return i=>i.pipe(e?vt((r,o)=>e(r,o,i)):kn,xt(1),t?Ku(n):ME(()=>new Qu))}function wt(e,n,t){const i=se(e)||n||t?{next:e,error:n,complete:t}:e;return i?qe((r,o)=>{var s;null===(s=i.subscribe)||void 0===s||s.call(i);let a=!0;r.subscribe(Ve(o,l=>{var c;null===(c=i.next)||void 0===c||c.call(i,l),o.next(l)},()=>{var l;a=!1,null===(l=i.complete)||void 0===l||l.call(i),o.complete()},l=>{var c;a=!1,null===(c=i.error)||void 0===c||c.call(i,l),o.error(l)},()=>{var l,c;a&&(null===(l=i.unsubscribe)||void 0===l||l.call(i)),null===(c=i.finalize)||void 0===c||c.call(i)}))}):kn}function Br(e){return qe((n,t)=>{let o,i=null,r=!1;i=n.subscribe(Ve(t,void 0,void 0,s=>{o=ft(e(s,Br(e)(n))),i?(i.unsubscribe(),i=null,o.subscribe(t)):r=!0})),r&&(i.unsubscribe(),i=null,o.subscribe(t))})}function tm(e){return e<=0?()=>bn:qe((n,t)=>{let i=[];n.subscribe(Ve(t,r=>{i.push(r),e{for(const r of i)t.next(r);t.complete()},void 0,()=>{i=null}))})}function et(e){return qe((n,t)=>{ft(e).subscribe(Ve(t,()=>t.complete(),pr)),!t.closed&&n.subscribe(t)})}const oe="primary",nl=Symbol("RouteTitle");class Xj{constructor(n){this.params=n||{}}has(n){return Object.prototype.hasOwnProperty.call(this.params,n)}get(n){if(this.has(n)){const t=this.params[n];return Array.isArray(t)?t[0]:t}return null}getAll(n){if(this.has(n)){const t=this.params[n];return Array.isArray(t)?t:[t]}return[]}get keys(){return Object.keys(this.params)}}function fs(e){return new Xj(e)}function Qj(e,n,t){const i=t.path.split("/");if(i.length>e.length||"full"===t.pathMatch&&(n.hasChildren()||i.lengthi[o]===r)}return e===n}function OE(e){return e.length>0?e[e.length-1]:null}function ar(e){return function Gj(e){return!!e&&(e instanceof Ce||se(e.lift)&&se(e.subscribe))}(e)?e:Sa(e)?pt(Promise.resolve(e)):J(e)}const e3={exact:function RE(e,n,t){if(!jr(e.segments,n.segments)||!ed(e.segments,n.segments,t)||e.numberOfChildren!==n.numberOfChildren)return!1;for(const i in n.children)if(!e.children[i]||!RE(e.children[i],n.children[i],t))return!1;return!0},subset:PE},xE={exact:function t3(e,n){return gi(e,n)},subset:function n3(e,n){return Object.keys(n).length<=Object.keys(e).length&&Object.keys(n).every(t=>NE(e[t],n[t]))},ignored:()=>!0};function AE(e,n,t){return e3[t.paths](e.root,n.root,t.matrixParams)&&xE[t.queryParams](e.queryParams,n.queryParams)&&!("exact"===t.fragment&&e.fragment!==n.fragment)}function PE(e,n,t){return kE(e,n,n.segments,t)}function kE(e,n,t,i){if(e.segments.length>t.length){const r=e.segments.slice(0,t.length);return!(!jr(r,t)||n.hasChildren()||!ed(r,t,i))}if(e.segments.length===t.length){if(!jr(e.segments,t)||!ed(e.segments,t,i))return!1;for(const r in n.children)if(!e.children[r]||!PE(e.children[r],n.children[r],i))return!1;return!0}{const r=t.slice(0,e.segments.length),o=t.slice(e.segments.length);return!!(jr(e.segments,r)&&ed(e.segments,r,i)&&e.children[oe])&&kE(e.children[oe],n,o,i)}}function ed(e,n,t){return n.every((i,r)=>xE[t](e[r].parameters,i.parameters))}class hs{constructor(n=new ke([],{}),t={},i=null){this.root=n,this.queryParams=t,this.fragment=i}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=fs(this.queryParams)),this._queryParamMap}toString(){return o3.serialize(this)}}class ke{constructor(n,t){this.segments=n,this.children=t,this.parent=null,Object.values(t).forEach(i=>i.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return td(this)}}class il{constructor(n,t){this.path=n,this.parameters=t}get parameterMap(){return this._parameterMap||(this._parameterMap=fs(this.parameters)),this._parameterMap}toString(){return VE(this)}}function jr(e,n){return e.length===n.length&&e.every((t,i)=>t.path===n[i].path)}let rl=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:function(){return new nm},providedIn:"root"})}return e})();class nm{parse(n){const t=new m3(n);return new hs(t.parseRootSegment(),t.parseQueryParams(),t.parseFragment())}serialize(n){const t=`/${ol(n.root,!0)}`,i=function l3(e){const n=Object.keys(e).map(t=>{const i=e[t];return Array.isArray(i)?i.map(r=>`${nd(t)}=${nd(r)}`).join("&"):`${nd(t)}=${nd(i)}`}).filter(t=>!!t);return n.length?`?${n.join("&")}`:""}(n.queryParams);return`${t}${i}${"string"==typeof n.fragment?`#${function s3(e){return encodeURI(e)}(n.fragment)}`:""}`}}const o3=new nm;function td(e){return e.segments.map(n=>VE(n)).join("/")}function ol(e,n){if(!e.hasChildren())return td(e);if(n){const t=e.children[oe]?ol(e.children[oe],!1):"",i=[];return Object.entries(e.children).forEach(([r,o])=>{r!==oe&&i.push(`${r}:${ol(o,!1)}`)}),i.length>0?`${t}(${i.join("//")})`:t}{const t=function r3(e,n){let t=[];return Object.entries(e.children).forEach(([i,r])=>{i===oe&&(t=t.concat(n(r,i)))}),Object.entries(e.children).forEach(([i,r])=>{i!==oe&&(t=t.concat(n(r,i)))}),t}(e,(i,r)=>r===oe?[ol(e.children[oe],!1)]:[`${r}:${ol(i,!1)}`]);return 1===Object.keys(e.children).length&&null!=e.children[oe]?`${td(e)}/${t[0]}`:`${td(e)}/(${t.join("//")})`}}function FE(e){return encodeURIComponent(e).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function nd(e){return FE(e).replace(/%3B/gi,";")}function im(e){return FE(e).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function id(e){return decodeURIComponent(e)}function LE(e){return id(e.replace(/\+/g,"%20"))}function VE(e){return`${im(e.path)}${function a3(e){return Object.keys(e).map(n=>`;${im(n)}=${im(e[n])}`).join("")}(e.parameters)}`}const c3=/^[^\/()?;#]+/;function rm(e){const n=e.match(c3);return n?n[0]:""}const u3=/^[^\/()?;=#]+/,f3=/^[^=?&#]+/,p3=/^[^&#]+/;class m3{constructor(n){this.url=n,this.remaining=n}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new ke([],{}):new ke([],this.parseChildren())}parseQueryParams(){const n={};if(this.consumeOptional("?"))do{this.parseQueryParam(n)}while(this.consumeOptional("&"));return n}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const n=[];for(this.peekStartsWith("(")||n.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),n.push(this.parseSegment());let t={};this.peekStartsWith("/(")&&(this.capture("/"),t=this.parseParens(!0));let i={};return this.peekStartsWith("(")&&(i=this.parseParens(!1)),(n.length>0||Object.keys(t).length>0)&&(i[oe]=new ke(n,t)),i}parseSegment(){const n=rm(this.remaining);if(""===n&&this.peekStartsWith(";"))throw new R(4009,!1);return this.capture(n),new il(id(n),this.parseMatrixParams())}parseMatrixParams(){const n={};for(;this.consumeOptional(";");)this.parseParam(n);return n}parseParam(n){const t=function d3(e){const n=e.match(u3);return n?n[0]:""}(this.remaining);if(!t)return;this.capture(t);let i="";if(this.consumeOptional("=")){const r=rm(this.remaining);r&&(i=r,this.capture(i))}n[id(t)]=id(i)}parseQueryParam(n){const t=function h3(e){const n=e.match(f3);return n?n[0]:""}(this.remaining);if(!t)return;this.capture(t);let i="";if(this.consumeOptional("=")){const s=function g3(e){const n=e.match(p3);return n?n[0]:""}(this.remaining);s&&(i=s,this.capture(i))}const r=LE(t),o=LE(i);if(n.hasOwnProperty(r)){let s=n[r];Array.isArray(s)||(s=[s],n[r]=s),s.push(o)}else n[r]=o}parseParens(n){const t={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const i=rm(this.remaining),r=this.remaining[i.length];if("/"!==r&&")"!==r&&";"!==r)throw new R(4010,!1);let o;i.indexOf(":")>-1?(o=i.slice(0,i.indexOf(":")),this.capture(o),this.capture(":")):n&&(o=oe);const s=this.parseChildren();t[o]=1===Object.keys(s).length?s[oe]:new ke([],s),this.consumeOptional("//")}return t}peekStartsWith(n){return this.remaining.startsWith(n)}consumeOptional(n){return!!this.peekStartsWith(n)&&(this.remaining=this.remaining.substring(n.length),!0)}capture(n){if(!this.consumeOptional(n))throw new R(4011,!1)}}function BE(e){return e.segments.length>0?new ke([],{[oe]:e}):e}function jE(e){const n={};for(const i of Object.keys(e.children)){const o=jE(e.children[i]);if(i===oe&&0===o.segments.length&&o.hasChildren())for(const[s,a]of Object.entries(o.children))n[s]=a;else(o.segments.length>0||o.hasChildren())&&(n[i]=o)}return function _3(e){if(1===e.numberOfChildren&&e.children[oe]){const n=e.children[oe];return new ke(e.segments.concat(n.segments),n.children)}return e}(new ke(e.segments,n))}function Hr(e){return e instanceof hs}function HE(e){let n;const r=BE(function t(o){const s={};for(const l of o.children){const c=t(l);s[l.outlet]=c}const a=new ke(o.url,s);return o===e&&(n=a),a}(e.root));return n??r}function $E(e,n,t,i){let r=e;for(;r.parent;)r=r.parent;if(0===n.length)return om(r,r,r,t,i);const o=function y3(e){if("string"==typeof e[0]&&1===e.length&&"/"===e[0])return new GE(!0,0,e);let n=0,t=!1;const i=e.reduce((r,o,s)=>{if("object"==typeof o&&null!=o){if(o.outlets){const a={};return Object.entries(o.outlets).forEach(([l,c])=>{a[l]="string"==typeof c?c.split("/"):c}),[...r,{outlets:a}]}if(o.segmentPath)return[...r,o.segmentPath]}return"string"!=typeof o?[...r,o]:0===s?(o.split("/").forEach((a,l)=>{0==l&&"."===a||(0==l&&""===a?t=!0:".."===a?n++:""!=a&&r.push(a))}),r):[...r,o]},[]);return new GE(t,n,i)}(n);if(o.toRoot())return om(r,r,new ke([],{}),t,i);const s=function b3(e,n,t){if(e.isAbsolute)return new od(n,!0,0);if(!t)return new od(n,!1,NaN);if(null===t.parent)return new od(t,!0,0);const i=rd(e.commands[0])?0:1;return function D3(e,n,t){let i=e,r=n,o=t;for(;o>r;){if(o-=r,i=i.parent,!i)throw new R(4005,!1);r=i.segments.length}return new od(i,!1,r-o)}(t,t.segments.length-1+i,e.numberOfDoubleDots)}(o,r,e),a=s.processChildren?al(s.segmentGroup,s.index,o.commands):zE(s.segmentGroup,s.index,o.commands);return om(r,s.segmentGroup,a,t,i)}function rd(e){return"object"==typeof e&&null!=e&&!e.outlets&&!e.segmentPath}function sl(e){return"object"==typeof e&&null!=e&&e.outlets}function om(e,n,t,i,r){let s,o={};i&&Object.entries(i).forEach(([l,c])=>{o[l]=Array.isArray(c)?c.map(u=>`${u}`):`${c}`}),s=e===n?t:UE(e,n,t);const a=BE(jE(s));return new hs(a,o,r)}function UE(e,n,t){const i={};return Object.entries(e.children).forEach(([r,o])=>{i[r]=o===n?t:UE(o,n,t)}),new ke(e.segments,i)}class GE{constructor(n,t,i){if(this.isAbsolute=n,this.numberOfDoubleDots=t,this.commands=i,n&&i.length>0&&rd(i[0]))throw new R(4003,!1);const r=i.find(sl);if(r&&r!==OE(i))throw new R(4004,!1)}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class od{constructor(n,t,i){this.segmentGroup=n,this.processChildren=t,this.index=i}}function zE(e,n,t){if(e||(e=new ke([],{})),0===e.segments.length&&e.hasChildren())return al(e,n,t);const i=function C3(e,n,t){let i=0,r=n;const o={match:!1,pathIndex:0,commandIndex:0};for(;r=t.length)return o;const s=e.segments[r],a=t[i];if(sl(a))break;const l=`${a}`,c=i0&&void 0===l)break;if(l&&c&&"object"==typeof c&&void 0===c.outlets){if(!qE(l,c,s))return o;i+=2}else{if(!qE(l,{},s))return o;i++}r++}return{match:!0,pathIndex:r,commandIndex:i}}(e,n,t),r=t.slice(i.commandIndex);if(i.match&&i.pathIndexo!==oe)&&e.children[oe]&&1===e.numberOfChildren&&0===e.children[oe].segments.length){const o=al(e.children[oe],n,t);return new ke(e.segments,o.children)}return Object.entries(i).forEach(([o,s])=>{"string"==typeof s&&(s=[s]),null!==s&&(r[o]=zE(e.children[o],n,s))}),Object.entries(e.children).forEach(([o,s])=>{void 0===i[o]&&(r[o]=s)}),new ke(e.segments,r)}}function sm(e,n,t){const i=e.segments.slice(0,n);let r=0;for(;r{"string"==typeof i&&(i=[i]),null!==i&&(n[t]=sm(new ke([],{}),0,i))}),n}function WE(e){const n={};return Object.entries(e).forEach(([t,i])=>n[t]=`${i}`),n}function qE(e,n,t){return e==t.path&&gi(n,t.parameters)}const ll="imperative";class mi{constructor(n,t){this.id=n,this.url=t}}class sd extends mi{constructor(n,t,i="imperative",r=null){super(n,t),this.type=0,this.navigationTrigger=i,this.restoredState=r}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class lr extends mi{constructor(n,t,i){super(n,t),this.urlAfterRedirects=i,this.type=1}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class cl extends mi{constructor(n,t,i,r){super(n,t),this.reason=i,this.code=r,this.type=2}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class ps extends mi{constructor(n,t,i,r){super(n,t),this.reason=i,this.code=r,this.type=16}}class ad extends mi{constructor(n,t,i,r){super(n,t),this.error=i,this.target=r,this.type=3}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class YE extends mi{constructor(n,t,i,r){super(n,t),this.urlAfterRedirects=i,this.state=r,this.type=4}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class T3 extends mi{constructor(n,t,i,r){super(n,t),this.urlAfterRedirects=i,this.state=r,this.type=7}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class S3 extends mi{constructor(n,t,i,r,o){super(n,t),this.urlAfterRedirects=i,this.state=r,this.shouldActivate=o,this.type=8}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class M3 extends mi{constructor(n,t,i,r){super(n,t),this.urlAfterRedirects=i,this.state=r,this.type=5}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class I3 extends mi{constructor(n,t,i,r){super(n,t),this.urlAfterRedirects=i,this.state=r,this.type=6}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class N3{constructor(n){this.route=n,this.type=9}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class O3{constructor(n){this.route=n,this.type=10}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class x3{constructor(n){this.snapshot=n,this.type=11}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class A3{constructor(n){this.snapshot=n,this.type=12}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class R3{constructor(n){this.snapshot=n,this.type=13}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class P3{constructor(n){this.snapshot=n,this.type=14}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class ZE{constructor(n,t,i){this.routerEvent=n,this.position=t,this.anchor=i,this.type=15}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}class am{}class lm{constructor(n){this.url=n}}class k3{constructor(){this.outlet=null,this.route=null,this.injector=null,this.children=new ul,this.attachRef=null}}let ul=(()=>{class e{constructor(){this.contexts=new Map}onChildOutletCreated(t,i){const r=this.getOrCreateContext(t);r.outlet=i,this.contexts.set(t,r)}onChildOutletDestroyed(t){const i=this.getContext(t);i&&(i.outlet=null,i.attachRef=null)}onOutletDeactivated(){const t=this.contexts;return this.contexts=new Map,t}onOutletReAttached(t){this.contexts=t}getOrCreateContext(t){let i=this.getContext(t);return i||(i=new k3,this.contexts.set(t,i)),i}getContext(t){return this.contexts.get(t)||null}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();class JE{constructor(n){this._root=n}get root(){return this._root.value}parent(n){const t=this.pathFromRoot(n);return t.length>1?t[t.length-2]:null}children(n){const t=cm(n,this._root);return t?t.children.map(i=>i.value):[]}firstChild(n){const t=cm(n,this._root);return t&&t.children.length>0?t.children[0].value:null}siblings(n){const t=um(n,this._root);return t.length<2?[]:t[t.length-2].children.map(r=>r.value).filter(r=>r!==n)}pathFromRoot(n){return um(n,this._root).map(t=>t.value)}}function cm(e,n){if(e===n.value)return n;for(const t of n.children){const i=cm(e,t);if(i)return i}return null}function um(e,n){if(e===n.value)return[n];for(const t of n.children){const i=um(e,t);if(i.length)return i.unshift(n),i}return[]}class Pi{constructor(n,t){this.value=n,this.children=t}toString(){return`TreeNode(${this.value})`}}function gs(e){const n={};return e&&e.children.forEach(t=>n[t.value.outlet]=t),n}class XE extends JE{constructor(n,t){super(n),this.snapshot=t,dm(this,n)}toString(){return this.snapshot.toString()}}function QE(e,n){const t=function F3(e,n){const s=new ld([],{},{},"",{},oe,n,null,{});return new eT("",new Pi(s,[]))}(0,n),i=new Dn([new il("",{})]),r=new Dn({}),o=new Dn({}),s=new Dn({}),a=new Dn(""),l=new $r(i,r,s,a,o,oe,n,t.root);return l.snapshot=t.root,new XE(new Pi(l,[]),t)}class $r{constructor(n,t,i,r,o,s,a,l){this.urlSubject=n,this.paramsSubject=t,this.queryParamsSubject=i,this.fragmentSubject=r,this.dataSubject=o,this.outlet=s,this.component=a,this._futureSnapshot=l,this.title=this.dataSubject?.pipe(ae(c=>c[nl]))??J(void 0),this.url=n,this.params=t,this.queryParams=i,this.fragment=r,this.data=o}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=this.params.pipe(ae(n=>fs(n)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(ae(n=>fs(n)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function KE(e,n="emptyOnly"){const t=e.pathFromRoot;let i=0;if("always"!==n)for(i=t.length-1;i>=1;){const r=t[i],o=t[i-1];if(r.routeConfig&&""===r.routeConfig.path)i--;else{if(o.component)break;i--}}return function L3(e){return e.reduce((n,t)=>({params:{...n.params,...t.params},data:{...n.data,...t.data},resolve:{...t.data,...n.resolve,...t.routeConfig?.data,...t._resolvedData}}),{params:{},data:{},resolve:{}})}(t.slice(i))}class ld{get title(){return this.data?.[nl]}constructor(n,t,i,r,o,s,a,l,c){this.url=n,this.params=t,this.queryParams=i,this.fragment=r,this.data=o,this.outlet=s,this.component=a,this.routeConfig=l,this._resolve=c}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=fs(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=fs(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(i=>i.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class eT extends JE{constructor(n,t){super(t),this.url=n,dm(this,t)}toString(){return tT(this._root)}}function dm(e,n){n.value._routerState=e,n.children.forEach(t=>dm(e,t))}function tT(e){const n=e.children.length>0?` { ${e.children.map(tT).join(", ")} } `:"";return`${e.value}${n}`}function fm(e){if(e.snapshot){const n=e.snapshot,t=e._futureSnapshot;e.snapshot=t,gi(n.queryParams,t.queryParams)||e.queryParamsSubject.next(t.queryParams),n.fragment!==t.fragment&&e.fragmentSubject.next(t.fragment),gi(n.params,t.params)||e.paramsSubject.next(t.params),function Kj(e,n){if(e.length!==n.length)return!1;for(let t=0;tgi(t.parameters,n[i].parameters))}(e.url,n.url);return t&&!(!e.parent!=!n.parent)&&(!e.parent||hm(e.parent,n.parent))}let nT=(()=>{class e{constructor(){this.activated=null,this._activatedRoute=null,this.name=oe,this.activateEvents=new Y,this.deactivateEvents=new Y,this.attachEvents=new Y,this.detachEvents=new Y,this.parentContexts=F(ul),this.location=F(Nn),this.changeDetector=F(zn),this.environmentInjector=F(zt),this.inputBinder=F(cd,{optional:!0}),this.supportsBindingToComponentInputs=!0}get activatedComponentRef(){return this.activated}ngOnChanges(t){if(t.name){const{firstChange:i,previousValue:r}=t.name;if(i)return;this.isTrackedInParentContexts(r)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(r)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(t){return this.parentContexts.getContext(t)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;const t=this.parentContexts.getContext(this.name);t?.route&&(t.attachRef?this.attach(t.attachRef,t.route):this.activateWith(t.route,t.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new R(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new R(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new R(4012,!1);this.location.detach();const t=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(t.instance),t}attach(t,i){this.activated=t,this._activatedRoute=i,this.location.insert(t.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(t.instance)}deactivate(){if(this.activated){const t=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(t)}}activateWith(t,i){if(this.isActivated)throw new R(4013,!1);this._activatedRoute=t;const r=this.location,s=t.snapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,l=new V3(t,a,r.injector);this.activated=r.createComponent(s,{index:r.length,injector:l,environmentInjector:i??this.environmentInjector}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275dir=L({type:e,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[Mt]})}return e})();class V3{constructor(n,t,i){this.route=n,this.childContexts=t,this.parent=i}get(n,t){return n===$r?this.route:n===ul?this.childContexts:this.parent.get(n,t)}}const cd=new z("");let iT=(()=>{class e{constructor(){this.outletDataSubscriptions=new Map}bindActivatedRouteToOutletComponent(t){this.unsubscribeFromRouteData(t),this.subscribeToRouteData(t)}unsubscribeFromRouteData(t){this.outletDataSubscriptions.get(t)?.unsubscribe(),this.outletDataSubscriptions.delete(t)}subscribeToRouteData(t){const{activatedRoute:i}=t,r=Kg([i.queryParams,i.params,i.data]).pipe(wn(([o,s,a],l)=>(a={...o,...s,...a},0===l?J(a):Promise.resolve(a)))).subscribe(o=>{if(!t.isActivated||!t.activatedComponentRef||t.activatedRoute!==i||null===i.component)return void this.unsubscribeFromRouteData(t);const s=function UF(e){const n=he(e);if(!n)return null;const t=new ba(n);return{get selector(){return t.selector},get type(){return t.componentType},get inputs(){return t.inputs},get outputs(){return t.outputs},get ngContentSelectors(){return t.ngContentSelectors},get isStandalone(){return n.standalone},get isSignal(){return n.signals}}}(i.component);if(s)for(const{templateName:a}of s.inputs)t.activatedComponentRef.setInput(a,o[a]);else this.unsubscribeFromRouteData(t)});this.outletDataSubscriptions.set(t,r)}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();function dl(e,n,t){if(t&&e.shouldReuseRoute(n.value,t.value.snapshot)){const i=t.value;i._futureSnapshot=n.value;const r=function j3(e,n,t){return n.children.map(i=>{for(const r of t.children)if(e.shouldReuseRoute(i.value,r.value.snapshot))return dl(e,i,r);return dl(e,i)})}(e,n,t);return new Pi(i,r)}{if(e.shouldAttach(n.value)){const o=e.retrieve(n.value);if(null!==o){const s=o.route;return s.value._futureSnapshot=n.value,s.children=n.children.map(a=>dl(e,a)),s}}const i=function H3(e){return new $r(new Dn(e.url),new Dn(e.params),new Dn(e.queryParams),new Dn(e.fragment),new Dn(e.data),e.outlet,e.component,e)}(n.value),r=n.children.map(o=>dl(e,o));return new Pi(i,r)}}const pm="ngNavigationCancelingError";function rT(e,n){const{redirectTo:t,navigationBehaviorOptions:i}=Hr(n)?{redirectTo:n,navigationBehaviorOptions:void 0}:n,r=oT(!1,0,n);return r.url=t,r.navigationBehaviorOptions=i,r}function oT(e,n,t){const i=new Error("NavigationCancelingError: "+(e||""));return i[pm]=!0,i.cancellationCode=n,t&&(i.url=t),i}function sT(e){return e&&e[pm]}let aT=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275cmp=kt({type:e,selectors:[["ng-component"]],standalone:!0,features:[In],decls:1,vars:0,template:function(i,r){1&i&&Ae(0,"router-outlet")},dependencies:[nT],encapsulation:2})}return e})();function gm(e){const n=e.children&&e.children.map(gm),t=n?{...e,children:n}:{...e};return!t.component&&!t.loadComponent&&(n||t.loadChildren)&&t.outlet&&t.outlet!==oe&&(t.component=aT),t}function Jn(e){return e.outlet||oe}function fl(e){if(!e)return null;if(e.routeConfig?._injector)return e.routeConfig._injector;for(let n=e.parent;n;n=n.parent){const t=n.routeConfig;if(t?._loadedInjector)return t._loadedInjector;if(t?._injector)return t._injector}return null}class Z3{constructor(n,t,i,r,o){this.routeReuseStrategy=n,this.futureState=t,this.currState=i,this.forwardEvent=r,this.inputBindingEnabled=o}activate(n){const t=this.futureState._root,i=this.currState?this.currState._root:null;this.deactivateChildRoutes(t,i,n),fm(this.futureState.root),this.activateChildRoutes(t,i,n)}deactivateChildRoutes(n,t,i){const r=gs(t);n.children.forEach(o=>{const s=o.value.outlet;this.deactivateRoutes(o,r[s],i),delete r[s]}),Object.values(r).forEach(o=>{this.deactivateRouteAndItsChildren(o,i)})}deactivateRoutes(n,t,i){const r=n.value,o=t?t.value:null;if(r===o)if(r.component){const s=i.getContext(r.outlet);s&&this.deactivateChildRoutes(n,t,s.children)}else this.deactivateChildRoutes(n,t,i);else o&&this.deactivateRouteAndItsChildren(t,i)}deactivateRouteAndItsChildren(n,t){n.value.component&&this.routeReuseStrategy.shouldDetach(n.value.snapshot)?this.detachAndStoreRouteSubtree(n,t):this.deactivateRouteAndOutlet(n,t)}detachAndStoreRouteSubtree(n,t){const i=t.getContext(n.value.outlet),r=i&&n.value.component?i.children:t,o=gs(n);for(const s of Object.keys(o))this.deactivateRouteAndItsChildren(o[s],r);if(i&&i.outlet){const s=i.outlet.detach(),a=i.children.onOutletDeactivated();this.routeReuseStrategy.store(n.value.snapshot,{componentRef:s,route:n,contexts:a})}}deactivateRouteAndOutlet(n,t){const i=t.getContext(n.value.outlet),r=i&&n.value.component?i.children:t,o=gs(n);for(const s of Object.keys(o))this.deactivateRouteAndItsChildren(o[s],r);i&&(i.outlet&&(i.outlet.deactivate(),i.children.onOutletDeactivated()),i.attachRef=null,i.route=null)}activateChildRoutes(n,t,i){const r=gs(t);n.children.forEach(o=>{this.activateRoutes(o,r[o.value.outlet],i),this.forwardEvent(new P3(o.value.snapshot))}),n.children.length&&this.forwardEvent(new A3(n.value.snapshot))}activateRoutes(n,t,i){const r=n.value,o=t?t.value:null;if(fm(r),r===o)if(r.component){const s=i.getOrCreateContext(r.outlet);this.activateChildRoutes(n,t,s.children)}else this.activateChildRoutes(n,t,i);else if(r.component){const s=i.getOrCreateContext(r.outlet);if(this.routeReuseStrategy.shouldAttach(r.snapshot)){const a=this.routeReuseStrategy.retrieve(r.snapshot);this.routeReuseStrategy.store(r.snapshot,null),s.children.onOutletReAttached(a.contexts),s.attachRef=a.componentRef,s.route=a.route.value,s.outlet&&s.outlet.attach(a.componentRef,a.route.value),fm(a.route.value),this.activateChildRoutes(n,null,s.children)}else{const a=fl(r.snapshot);s.attachRef=null,s.route=r,s.injector=a,s.outlet&&s.outlet.activateWith(r,s.injector),this.activateChildRoutes(n,null,s.children)}}else this.activateChildRoutes(n,null,i)}}class lT{constructor(n){this.path=n,this.route=this.path[this.path.length-1]}}class ud{constructor(n,t){this.component=n,this.route=t}}function J3(e,n,t){const i=e._root;return hl(i,n?n._root:null,t,[i.value])}function ms(e,n){const t=Symbol(),i=n.get(e,t);return i===t?"function"!=typeof e||function aI(e){return null!==Wl(e)}(e)?n.get(e):e:i}function hl(e,n,t,i,r={canDeactivateChecks:[],canActivateChecks:[]}){const o=gs(n);return e.children.forEach(s=>{(function Q3(e,n,t,i,r={canDeactivateChecks:[],canActivateChecks:[]}){const o=e.value,s=n?n.value:null,a=t?t.getContext(e.value.outlet):null;if(s&&o.routeConfig===s.routeConfig){const l=function K3(e,n,t){if("function"==typeof t)return t(e,n);switch(t){case"pathParamsChange":return!jr(e.url,n.url);case"pathParamsOrQueryParamsChange":return!jr(e.url,n.url)||!gi(e.queryParams,n.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!hm(e,n)||!gi(e.queryParams,n.queryParams);default:return!hm(e,n)}}(s,o,o.routeConfig.runGuardsAndResolvers);l?r.canActivateChecks.push(new lT(i)):(o.data=s.data,o._resolvedData=s._resolvedData),hl(e,n,o.component?a?a.children:null:t,i,r),l&&a&&a.outlet&&a.outlet.isActivated&&r.canDeactivateChecks.push(new ud(a.outlet.component,s))}else s&&pl(n,a,r),r.canActivateChecks.push(new lT(i)),hl(e,null,o.component?a?a.children:null:t,i,r)})(s,o[s.value.outlet],t,i.concat([s.value]),r),delete o[s.value.outlet]}),Object.entries(o).forEach(([s,a])=>pl(a,t.getContext(s),r)),r}function pl(e,n,t){const i=gs(e),r=e.value;Object.entries(i).forEach(([o,s])=>{pl(s,r.component?n?n.children.getContext(o):null:n,t)}),t.canDeactivateChecks.push(new ud(r.component&&n&&n.outlet&&n.outlet.isActivated?n.outlet.component:null,r))}function gl(e){return"function"==typeof e}function cT(e){return e instanceof Qu||"EmptyError"===e?.name}const dd=Symbol("INITIAL_VALUE");function _s(){return wn(e=>Kg(e.map(n=>n.pipe(xt(1),function SE(...e){const n=Vs(e);return qe((t,i)=>{(n?el(e,t,n):el(e,t)).subscribe(i)})}(dd)))).pipe(ae(n=>{for(const t of n)if(!0!==t){if(t===dd)return dd;if(!1===t||t instanceof hs)return t}return!0}),vt(n=>n!==dd),xt(1)))}function uT(e){return function Fl(...e){return Ll(e)}(wt(n=>{if(Hr(n))throw rT(0,n)}),ae(n=>!0===n))}class fd{constructor(n){this.segmentGroup=n||null}}class dT{constructor(n){this.urlTree=n}}function vs(e){return tl(new fd(e))}function fT(e){return tl(new dT(e))}class yH{constructor(n,t){this.urlSerializer=n,this.urlTree=t}noMatchError(n){return new R(4002,!1)}lineralizeSegments(n,t){let i=[],r=t.root;for(;;){if(i=i.concat(r.segments),0===r.numberOfChildren)return J(i);if(r.numberOfChildren>1||!r.children[oe])return tl(new R(4e3,!1));r=r.children[oe]}}applyRedirectCommands(n,t,i){return this.applyRedirectCreateUrlTree(t,this.urlSerializer.parse(t),n,i)}applyRedirectCreateUrlTree(n,t,i,r){const o=this.createSegmentGroup(n,t.root,i,r);return new hs(o,this.createQueryParams(t.queryParams,this.urlTree.queryParams),t.fragment)}createQueryParams(n,t){const i={};return Object.entries(n).forEach(([r,o])=>{if("string"==typeof o&&o.startsWith(":")){const a=o.substring(1);i[r]=t[a]}else i[r]=o}),i}createSegmentGroup(n,t,i,r){const o=this.createSegments(n,t.segments,i,r);let s={};return Object.entries(t.children).forEach(([a,l])=>{s[a]=this.createSegmentGroup(n,l,i,r)}),new ke(o,s)}createSegments(n,t,i,r){return t.map(o=>o.path.startsWith(":")?this.findPosParam(n,o,r):this.findOrReturn(o,i))}findPosParam(n,t,i){const r=i[t.path.substring(1)];if(!r)throw new R(4001,!1);return r}findOrReturn(n,t){let i=0;for(const r of t){if(r.path===n.path)return t.splice(i),r;i++}return n}}const mm={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function bH(e,n,t,i,r){const o=_m(e,n,t);return o.matched?(i=function U3(e,n){return e.providers&&!e._injector&&(e._injector=yp(e.providers,n,`Route: ${e.path}`)),e._injector??n}(n,i),function mH(e,n,t,i){const r=n.canMatch;return r&&0!==r.length?J(r.map(s=>{const a=ms(s,e);return ar(function oH(e){return e&&gl(e.canMatch)}(a)?a.canMatch(n,t):e.runInContext(()=>a(n,t)))})).pipe(_s(),uT()):J(!0)}(i,n,t).pipe(ae(s=>!0===s?o:{...mm}))):J(o)}function _m(e,n,t){if(""===n.path)return"full"===n.pathMatch&&(e.hasChildren()||t.length>0)?{...mm}:{matched:!0,consumedSegments:[],remainingSegments:t,parameters:{},positionalParamSegments:{}};const r=(n.matcher||Qj)(t,e,n);if(!r)return{...mm};const o={};Object.entries(r.posParams??{}).forEach(([a,l])=>{o[a]=l.path});const s=r.consumed.length>0?{...o,...r.consumed[r.consumed.length-1].parameters}:o;return{matched:!0,consumedSegments:r.consumed,remainingSegments:t.slice(r.consumed.length),parameters:s,positionalParamSegments:r.posParams??{}}}function hT(e,n,t,i){return t.length>0&&function CH(e,n,t){return t.some(i=>hd(e,n,i)&&Jn(i)!==oe)}(e,t,i)?{segmentGroup:new ke(n,wH(i,new ke(t,e.children))),slicedSegments:[]}:0===t.length&&function EH(e,n,t){return t.some(i=>hd(e,n,i))}(e,t,i)?{segmentGroup:new ke(e.segments,DH(e,0,t,i,e.children)),slicedSegments:t}:{segmentGroup:new ke(e.segments,e.children),slicedSegments:t}}function DH(e,n,t,i,r){const o={};for(const s of i)if(hd(e,t,s)&&!r[Jn(s)]){const a=new ke([],{});o[Jn(s)]=a}return{...r,...o}}function wH(e,n){const t={};t[oe]=n;for(const i of e)if(""===i.path&&Jn(i)!==oe){const r=new ke([],{});t[Jn(i)]=r}return t}function hd(e,n,t){return(!(e.hasChildren()||n.length>0)||"full"!==t.pathMatch)&&""===t.path}class IH{constructor(n,t,i,r,o,s,a){this.injector=n,this.configLoader=t,this.rootComponentType=i,this.config=r,this.urlTree=o,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.allowRedirects=!0,this.applyRedirects=new yH(this.urlSerializer,this.urlTree)}noMatchError(n){return new R(4002,!1)}recognize(){const n=hT(this.urlTree.root,[],[],this.config).segmentGroup;return this.processSegmentGroup(this.injector,this.config,n,oe).pipe(Br(t=>{if(t instanceof dT)return this.allowRedirects=!1,this.urlTree=t.urlTree,this.match(t.urlTree);throw t instanceof fd?this.noMatchError(t):t}),ae(t=>{const i=new ld([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,{},oe,this.rootComponentType,null,{}),r=new Pi(i,t),o=new eT("",r),s=function v3(e,n,t=null,i=null){return $E(HE(e),n,t,i)}(i,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,o.url=this.urlSerializer.serialize(s),this.inheritParamsAndData(o._root),{state:o,tree:s}}))}match(n){return this.processSegmentGroup(this.injector,this.config,n.root,oe).pipe(Br(i=>{throw i instanceof fd?this.noMatchError(i):i}))}inheritParamsAndData(n){const t=n.value,i=KE(t,this.paramsInheritanceStrategy);t.params=Object.freeze(i.params),t.data=Object.freeze(i.data),n.children.forEach(r=>this.inheritParamsAndData(r))}processSegmentGroup(n,t,i,r){return 0===i.segments.length&&i.hasChildren()?this.processChildren(n,t,i):this.processSegment(n,t,i,i.segments,r,!0)}processChildren(n,t,i){const r=[];for(const o of Object.keys(i.children))"primary"===o?r.unshift(o):r.push(o);return pt(r).pipe(ls(o=>{const s=i.children[o],a=function q3(e,n){const t=e.filter(i=>Jn(i)===n);return t.push(...e.filter(i=>Jn(i)!==n)),t}(t,o);return this.processSegmentGroup(n,a,s,o)}),function Zj(e,n){return qe(function Yj(e,n,t,i,r){return(o,s)=>{let a=t,l=n,c=0;o.subscribe(Ve(s,u=>{const d=c++;l=a?e(l,u,d):(a=!0,u),i&&s.next(l)},r&&(()=>{a&&s.next(l),s.complete()})))}}(e,n,arguments.length>=2,!0))}((o,s)=>(o.push(...s),o)),Ku(null),function Jj(e,n){const t=arguments.length>=2;return i=>i.pipe(e?vt((r,o)=>e(r,o,i)):kn,tm(1),t?Ku(n):ME(()=>new Qu))}(),ht(o=>{if(null===o)return vs(i);const s=pT(o);return function NH(e){e.sort((n,t)=>n.value.outlet===oe?-1:t.value.outlet===oe?1:n.value.outlet.localeCompare(t.value.outlet))}(s),J(s)}))}processSegment(n,t,i,r,o,s){return pt(t).pipe(ls(a=>this.processSegmentAgainstRoute(a._injector??n,t,a,i,r,o,s).pipe(Br(l=>{if(l instanceof fd)return J(null);throw l}))),Vr(a=>!!a),Br(a=>{if(cT(a))return function SH(e,n,t){return 0===n.length&&!e.children[t]}(i,r,o)?J([]):vs(i);throw a}))}processSegmentAgainstRoute(n,t,i,r,o,s,a){return function TH(e,n,t,i){return!!(Jn(e)===i||i!==oe&&hd(n,t,e))&&("**"===e.path||_m(n,e,t).matched)}(i,r,o,s)?void 0===i.redirectTo?this.matchSegmentAgainstRoute(n,r,i,o,s,a):a&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(n,r,t,i,o,s):vs(r):vs(r)}expandSegmentAgainstRouteUsingRedirect(n,t,i,r,o,s){return"**"===r.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(n,i,r,s):this.expandRegularSegmentAgainstRouteUsingRedirect(n,t,i,r,o,s)}expandWildCardWithParamsAgainstRouteUsingRedirect(n,t,i,r){const o=this.applyRedirects.applyRedirectCommands([],i.redirectTo,{});return i.redirectTo.startsWith("/")?fT(o):this.applyRedirects.lineralizeSegments(i,o).pipe(ht(s=>{const a=new ke(s,{});return this.processSegment(n,t,a,s,r,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(n,t,i,r,o,s){const{matched:a,consumedSegments:l,remainingSegments:c,positionalParamSegments:u}=_m(t,r,o);if(!a)return vs(t);const d=this.applyRedirects.applyRedirectCommands(l,r.redirectTo,u);return r.redirectTo.startsWith("/")?fT(d):this.applyRedirects.lineralizeSegments(r,d).pipe(ht(h=>this.processSegment(n,i,t,h.concat(c),s,!1)))}matchSegmentAgainstRoute(n,t,i,r,o,s){let a;if("**"===i.path){const l=r.length>0?OE(r).parameters:{};a=J({snapshot:new ld(r,l,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,gT(i),Jn(i),i.component??i._loadedComponent??null,i,mT(i)),consumedSegments:[],remainingSegments:[]}),t.children={}}else a=bH(t,i,r,n).pipe(ae(({matched:l,consumedSegments:c,remainingSegments:u,parameters:d})=>l?{snapshot:new ld(c,d,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,gT(i),Jn(i),i.component??i._loadedComponent??null,i,mT(i)),consumedSegments:c,remainingSegments:u}:null));return a.pipe(wn(l=>null===l?vs(t):this.getChildConfig(n=i._injector??n,i,r).pipe(wn(({routes:c})=>{const u=i._loadedInjector??n,{snapshot:d,consumedSegments:h,remainingSegments:_}=l,{segmentGroup:v,slicedSegments:y}=hT(t,h,_,c);if(0===y.length&&v.hasChildren())return this.processChildren(u,c,v).pipe(ae(M=>null===M?null:[new Pi(d,M)]));if(0===c.length&&0===y.length)return J([new Pi(d,[])]);const D=Jn(i)===o;return this.processSegment(u,c,v,y,D?oe:o,!0).pipe(ae(M=>[new Pi(d,M)]))}))))}getChildConfig(n,t,i){return t.children?J({routes:t.children,injector:n}):t.loadChildren?void 0!==t._loadedRoutes?J({routes:t._loadedRoutes,injector:t._loadedInjector}):function gH(e,n,t,i){const r=n.canLoad;return void 0===r||0===r.length?J(!0):J(r.map(s=>{const a=ms(s,e);return ar(function tH(e){return e&&gl(e.canLoad)}(a)?a.canLoad(n,t):e.runInContext(()=>a(n,t)))})).pipe(_s(),uT())}(n,t,i).pipe(ht(r=>r?this.configLoader.loadChildren(n,t).pipe(wt(o=>{t._loadedRoutes=o.routes,t._loadedInjector=o.injector})):function vH(e){return tl(oT(!1,3))}())):J({routes:[],injector:n})}}function OH(e){const n=e.value.routeConfig;return n&&""===n.path}function pT(e){const n=[],t=new Set;for(const i of e){if(!OH(i)){n.push(i);continue}const r=n.find(o=>i.value.routeConfig===o.value.routeConfig);void 0!==r?(r.children.push(...i.children),t.add(r)):n.push(i)}for(const i of t){const r=pT(i.children);n.push(new Pi(i.value,r))}return n.filter(i=>!t.has(i))}function gT(e){return e.data||{}}function mT(e){return e.resolve||{}}function AH(e,n){return ht(t=>{const{targetSnapshot:i,guards:{canActivateChecks:r}}=t;if(!r.length)return J(t);let o=0;return pt(r).pipe(ls(s=>function RH(e,n,t,i){const r=e.routeConfig,o=e._resolve;return void 0!==r?.title&&!_T(r)&&(o[nl]=r.title),function PH(e,n,t,i){const r=function kH(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e)]}(e);if(0===r.length)return J({});const o={};return pt(r).pipe(ht(s=>function FH(e,n,t,i){const r=fl(n)??i,o=ms(e,r);return ar(o.resolve?o.resolve(n,t):r.runInContext(()=>o(n,t)))}(e[s],n,t,i).pipe(Vr(),wt(a=>{o[s]=a}))),tm(1),function IE(e){return ae(()=>e)}(o),Br(s=>cT(s)?bn:tl(s)))}(o,e,n,i).pipe(ae(s=>(e._resolvedData=s,e.data=KE(e,t).resolve,r&&_T(r)&&(e.data[nl]=r.title),null)))}(s.route,i,e,n)),wt(()=>o++),tm(1),ht(s=>o===r.length?J(t):bn))})}function _T(e){return"string"==typeof e.title||null===e.title}function vm(e){return wn(n=>{const t=e(n);return t?pt(t).pipe(ae(()=>n)):J(n)})}const ys=new z("ROUTES");let ym=(()=>{class e{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=F(xD)}loadComponent(t){if(this.componentLoaders.get(t))return this.componentLoaders.get(t);if(t._loadedComponent)return J(t._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(t);const i=ar(t.loadComponent()).pipe(ae(vT),wt(o=>{this.onLoadEndListener&&this.onLoadEndListener(t),t._loadedComponent=o}),Ga(()=>{this.componentLoaders.delete(t)})),r=new TE(i,()=>new Ee).pipe(em());return this.componentLoaders.set(t,r),r}loadChildren(t,i){if(this.childrenLoaders.get(i))return this.childrenLoaders.get(i);if(i._loadedRoutes)return J({routes:i._loadedRoutes,injector:i._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(i);const o=function LH(e,n,t,i){return ar(e.loadChildren()).pipe(ae(vT),ht(r=>r instanceof Hb||Array.isArray(r)?J(r):pt(n.compileModuleAsync(r))),ae(r=>{i&&i(e);let o,s,a=!1;return Array.isArray(r)?(s=r,!0):(o=r.create(t).injector,s=o.get(ys,[],{optional:!0,self:!0}).flat()),{routes:s.map(gm),injector:o}}))}(i,this.compiler,t,this.onLoadEndListener).pipe(Ga(()=>{this.childrenLoaders.delete(i)})),s=new TE(o,()=>new Ee).pipe(em());return this.childrenLoaders.set(i,s),s}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function vT(e){return function VH(e){return e&&"object"==typeof e&&"default"in e}(e)?e.default:e}let pd=(()=>{class e{get hasRequestedNavigation(){return 0!==this.navigationId}constructor(){this.currentNavigation=null,this.currentTransition=null,this.lastSuccessfulNavigation=null,this.events=new Ee,this.transitionAbortSubject=new Ee,this.configLoader=F(ym),this.environmentInjector=F(zt),this.urlSerializer=F(rl),this.rootContexts=F(ul),this.inputBindingEnabled=null!==F(cd,{optional:!0}),this.navigationId=0,this.afterPreactivation=()=>J(void 0),this.rootComponentType=null,this.configLoader.onLoadEndListener=r=>this.events.next(new O3(r)),this.configLoader.onLoadStartListener=r=>this.events.next(new N3(r))}complete(){this.transitions?.complete()}handleNavigationRequest(t){const i=++this.navigationId;this.transitions?.next({...this.transitions.value,...t,id:i})}setupNavigations(t,i,r){return this.transitions=new Dn({id:0,currentUrlTree:i,currentRawUrl:i,currentBrowserUrl:i,extractedUrl:t.urlHandlingStrategy.extract(i),urlAfterRedirects:t.urlHandlingStrategy.extract(i),rawUrl:i,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:ll,restoredState:null,currentSnapshot:r.snapshot,targetSnapshot:null,currentRouterState:r,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe(vt(o=>0!==o.id),ae(o=>({...o,extractedUrl:t.urlHandlingStrategy.extract(o.rawUrl)})),wn(o=>{this.currentTransition=o;let s=!1,a=!1;return J(o).pipe(wt(l=>{this.currentNavigation={id:l.id,initialUrl:l.rawUrl,extractedUrl:l.extractedUrl,trigger:l.source,extras:l.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null}}),wn(l=>{const c=l.currentBrowserUrl.toString(),u=!t.navigated||l.extractedUrl.toString()!==c||c!==l.currentUrlTree.toString();if(!u&&"reload"!==(l.extras.onSameUrlNavigation??t.onSameUrlNavigation)){const h="";return this.events.next(new ps(l.id,this.urlSerializer.serialize(l.rawUrl),h,0)),l.resolve(null),bn}if(t.urlHandlingStrategy.shouldProcessUrl(l.rawUrl))return J(l).pipe(wn(h=>{const _=this.transitions?.getValue();return this.events.next(new sd(h.id,this.urlSerializer.serialize(h.extractedUrl),h.source,h.restoredState)),_!==this.transitions?.getValue()?bn:Promise.resolve(h)}),function xH(e,n,t,i,r,o){return ht(s=>function MH(e,n,t,i,r,o,s="emptyOnly"){return new IH(e,n,t,i,r,s,o).recognize()}(e,n,t,i,s.extractedUrl,r,o).pipe(ae(({state:a,tree:l})=>({...s,targetSnapshot:a,urlAfterRedirects:l}))))}(this.environmentInjector,this.configLoader,this.rootComponentType,t.config,this.urlSerializer,t.paramsInheritanceStrategy),wt(h=>{o.targetSnapshot=h.targetSnapshot,o.urlAfterRedirects=h.urlAfterRedirects,this.currentNavigation={...this.currentNavigation,finalUrl:h.urlAfterRedirects};const _=new YE(h.id,this.urlSerializer.serialize(h.extractedUrl),this.urlSerializer.serialize(h.urlAfterRedirects),h.targetSnapshot);this.events.next(_)}));if(u&&t.urlHandlingStrategy.shouldProcessUrl(l.currentRawUrl)){const{id:h,extractedUrl:_,source:v,restoredState:y,extras:D}=l,M=new sd(h,this.urlSerializer.serialize(_),v,y);this.events.next(M);const C=QE(0,this.rootComponentType).snapshot;return this.currentTransition=o={...l,targetSnapshot:C,urlAfterRedirects:_,extras:{...D,skipLocationChange:!1,replaceUrl:!1}},J(o)}{const h="";return this.events.next(new ps(l.id,this.urlSerializer.serialize(l.extractedUrl),h,1)),l.resolve(null),bn}}),wt(l=>{const c=new T3(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects),l.targetSnapshot);this.events.next(c)}),ae(l=>(this.currentTransition=o={...l,guards:J3(l.targetSnapshot,l.currentSnapshot,this.rootContexts)},o)),function aH(e,n){return ht(t=>{const{targetSnapshot:i,currentSnapshot:r,guards:{canActivateChecks:o,canDeactivateChecks:s}}=t;return 0===s.length&&0===o.length?J({...t,guardsResult:!0}):function lH(e,n,t,i){return pt(e).pipe(ht(r=>function pH(e,n,t,i,r){const o=n&&n.routeConfig?n.routeConfig.canDeactivate:null;return o&&0!==o.length?J(o.map(a=>{const l=fl(n)??r,c=ms(a,l);return ar(function rH(e){return e&&gl(e.canDeactivate)}(c)?c.canDeactivate(e,n,t,i):l.runInContext(()=>c(e,n,t,i))).pipe(Vr())})).pipe(_s()):J(!0)}(r.component,r.route,t,n,i)),Vr(r=>!0!==r,!0))}(s,i,r,e).pipe(ht(a=>a&&function eH(e){return"boolean"==typeof e}(a)?function cH(e,n,t,i){return pt(n).pipe(ls(r=>el(function dH(e,n){return null!==e&&n&&n(new x3(e)),J(!0)}(r.route.parent,i),function uH(e,n){return null!==e&&n&&n(new R3(e)),J(!0)}(r.route,i),function hH(e,n,t){const i=n[n.length-1],o=n.slice(0,n.length-1).reverse().map(s=>function X3(e){const n=e.routeConfig?e.routeConfig.canActivateChild:null;return n&&0!==n.length?{node:e,guards:n}:null}(s)).filter(s=>null!==s).map(s=>EE(()=>J(s.guards.map(l=>{const c=fl(s.node)??t,u=ms(l,c);return ar(function iH(e){return e&&gl(e.canActivateChild)}(u)?u.canActivateChild(i,e):c.runInContext(()=>u(i,e))).pipe(Vr())})).pipe(_s())));return J(o).pipe(_s())}(e,r.path,t),function fH(e,n,t){const i=n.routeConfig?n.routeConfig.canActivate:null;if(!i||0===i.length)return J(!0);const r=i.map(o=>EE(()=>{const s=fl(n)??t,a=ms(o,s);return ar(function nH(e){return e&&gl(e.canActivate)}(a)?a.canActivate(n,e):s.runInContext(()=>a(n,e))).pipe(Vr())}));return J(r).pipe(_s())}(e,r.route,t))),Vr(r=>!0!==r,!0))}(i,o,e,n):J(a)),ae(a=>({...t,guardsResult:a})))})}(this.environmentInjector,l=>this.events.next(l)),wt(l=>{if(o.guardsResult=l.guardsResult,Hr(l.guardsResult))throw rT(0,l.guardsResult);const c=new S3(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects),l.targetSnapshot,!!l.guardsResult);this.events.next(c)}),vt(l=>!!l.guardsResult||(this.cancelNavigationTransition(l,"",3),!1)),vm(l=>{if(l.guards.canActivateChecks.length)return J(l).pipe(wt(c=>{const u=new M3(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(u)}),wn(c=>{let u=!1;return J(c).pipe(AH(t.paramsInheritanceStrategy,this.environmentInjector),wt({next:()=>u=!0,complete:()=>{u||this.cancelNavigationTransition(c,"",2)}}))}),wt(c=>{const u=new I3(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(u)}))}),vm(l=>{const c=u=>{const d=[];u.routeConfig?.loadComponent&&!u.routeConfig._loadedComponent&&d.push(this.configLoader.loadComponent(u.routeConfig).pipe(wt(h=>{u.component=h}),ae(()=>{})));for(const h of u.children)d.push(...c(h));return d};return Kg(c(l.targetSnapshot.root)).pipe(Ku(),xt(1))}),vm(()=>this.afterPreactivation()),ae(l=>{const c=function B3(e,n,t){const i=dl(e,n._root,t?t._root:void 0);return new XE(i,n)}(t.routeReuseStrategy,l.targetSnapshot,l.currentRouterState);return this.currentTransition=o={...l,targetRouterState:c},o}),wt(()=>{this.events.next(new am)}),((e,n,t,i)=>ae(r=>(new Z3(n,r.targetRouterState,r.currentRouterState,t,i).activate(e),r)))(this.rootContexts,t.routeReuseStrategy,l=>this.events.next(l),this.inputBindingEnabled),xt(1),wt({next:l=>{s=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new lr(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects))),t.titleStrategy?.updateTitle(l.targetRouterState.snapshot),l.resolve(!0)},complete:()=>{s=!0}}),et(this.transitionAbortSubject.pipe(wt(l=>{throw l}))),Ga(()=>{s||a||this.cancelNavigationTransition(o,"",1),this.currentNavigation?.id===o.id&&(this.currentNavigation=null)}),Br(l=>{if(a=!0,sT(l))this.events.next(new cl(o.id,this.urlSerializer.serialize(o.extractedUrl),l.message,l.cancellationCode)),function $3(e){return sT(e)&&Hr(e.url)}(l)?this.events.next(new lm(l.url)):o.resolve(!1);else{this.events.next(new ad(o.id,this.urlSerializer.serialize(o.extractedUrl),l,o.targetSnapshot??void 0));try{o.resolve(t.errorHandler(l))}catch(c){o.reject(c)}}return bn}))}))}cancelNavigationTransition(t,i,r){const o=new cl(t.id,this.urlSerializer.serialize(t.extractedUrl),i,r);this.events.next(o),t.resolve(!1)}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function yT(e){return e!==ll}let bT=(()=>{class e{buildTitle(t){let i,r=t.root;for(;void 0!==r;)i=this.getResolvedTitleForRoute(r)??i,r=r.children.find(o=>o.outlet===oe);return i}getResolvedTitleForRoute(t){return t.data[nl]}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:function(){return F(BH)},providedIn:"root"})}return e})(),BH=(()=>{class e extends bT{constructor(t){super(),this.title=t}updateTitle(t){const i=this.buildTitle(t);void 0!==i&&this.title.setTitle(i)}static#e=this.\u0275fac=function(i){return new(i||e)(H(Kw))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),jH=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:function(){return F($H)},providedIn:"root"})}return e})();class HH{shouldDetach(n){return!1}store(n,t){}shouldAttach(n){return!1}retrieve(n){return null}shouldReuseRoute(n,t){return n.routeConfig===t.routeConfig}}let $H=(()=>{class e extends HH{static#e=this.\u0275fac=function(){let t;return function(r){return(t||(t=st(e)))(r||e)}}();static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const gd=new z("",{providedIn:"root",factory:()=>({})});let UH=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:function(){return F(GH)},providedIn:"root"})}return e})(),GH=(()=>{class e{shouldProcessUrl(t){return!0}extract(t){return t}merge(t,i){return t}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var ml=function(e){return e[e.COMPLETE=0]="COMPLETE",e[e.FAILED=1]="FAILED",e[e.REDIRECTING=2]="REDIRECTING",e}(ml||{});function DT(e,n){e.events.pipe(vt(t=>t instanceof lr||t instanceof cl||t instanceof ad||t instanceof ps),ae(t=>t instanceof lr||t instanceof ps?ml.COMPLETE:t instanceof cl&&(0===t.code||1===t.code)?ml.REDIRECTING:ml.FAILED),vt(t=>t!==ml.REDIRECTING),xt(1)).subscribe(()=>{n()})}function zH(e){throw e}function WH(e,n,t){return n.parse("/")}const qH={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},YH={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let Rn=(()=>{class e{get navigationId(){return this.navigationTransitions.navigationId}get browserPageId(){return"computed"!==this.canceledNavigationResolution?this.currentPageId:this.location.getState()?.\u0275routerPageId??this.currentPageId}get events(){return this._events}constructor(){this.disposed=!1,this.currentPageId=0,this.console=F(OD),this.isNgZoneEnabled=!1,this._events=new Ee,this.options=F(gd,{optional:!0})||{},this.pendingTasks=F(hu),this.errorHandler=this.options.errorHandler||zH,this.malformedUriErrorHandler=this.options.malformedUriErrorHandler||WH,this.navigated=!1,this.lastSuccessfulId=-1,this.urlHandlingStrategy=F(UH),this.routeReuseStrategy=F(jH),this.titleStrategy=F(bT),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.config=F(ys,{optional:!0})?.flat()??[],this.navigationTransitions=F(pd),this.urlSerializer=F(rl),this.location=F(Kp),this.componentInputBindingEnabled=!!F(cd,{optional:!0}),this.eventsSubscription=new nt,this.isNgZoneEnabled=F(fe)instanceof fe&&fe.isInAngularZone(),this.resetConfig(this.config),this.currentUrlTree=new hs,this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.routerState=QE(0,null),this.navigationTransitions.setupNavigations(this,this.currentUrlTree,this.routerState).subscribe(t=>{this.lastSuccessfulId=t.id,this.currentPageId=this.browserPageId},t=>{this.console.warn(`Unhandled Navigation Error: ${t}`)}),this.subscribeToNavigationEvents()}subscribeToNavigationEvents(){const t=this.navigationTransitions.events.subscribe(i=>{try{const{currentTransition:r}=this.navigationTransitions;if(null===r)return void(wT(i)&&this._events.next(i));if(i instanceof sd)yT(r.source)&&(this.browserUrlTree=r.extractedUrl);else if(i instanceof ps)this.rawUrlTree=r.rawUrl;else if(i instanceof YE){if("eager"===this.urlUpdateStrategy){if(!r.extras.skipLocationChange){const o=this.urlHandlingStrategy.merge(r.urlAfterRedirects,r.rawUrl);this.setBrowserUrl(o,r)}this.browserUrlTree=r.urlAfterRedirects}}else if(i instanceof am)this.currentUrlTree=r.urlAfterRedirects,this.rawUrlTree=this.urlHandlingStrategy.merge(r.urlAfterRedirects,r.rawUrl),this.routerState=r.targetRouterState,"deferred"===this.urlUpdateStrategy&&(r.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,r),this.browserUrlTree=r.urlAfterRedirects);else if(i instanceof cl)0!==i.code&&1!==i.code&&(this.navigated=!0),(3===i.code||2===i.code)&&this.restoreHistory(r);else if(i instanceof lm){const o=this.urlHandlingStrategy.merge(i.url,r.currentRawUrl),s={skipLocationChange:r.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy||yT(r.source)};this.scheduleNavigation(o,ll,null,s,{resolve:r.resolve,reject:r.reject,promise:r.promise})}i instanceof ad&&this.restoreHistory(r,!0),i instanceof lr&&(this.navigated=!0),wT(i)&&this._events.next(i)}catch(r){this.navigationTransitions.transitionAbortSubject.next(r)}});this.eventsSubscription.add(t)}resetRootComponentType(t){this.routerState.root.component=t,this.navigationTransitions.rootComponentType=t}initialNavigation(){if(this.setUpLocationChangeListener(),!this.navigationTransitions.hasRequestedNavigation){const t=this.location.getState();this.navigateToSyncWithBrowser(this.location.path(!0),ll,t)}}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(t=>{const i="popstate"===t.type?"popstate":"hashchange";"popstate"===i&&setTimeout(()=>{this.navigateToSyncWithBrowser(t.url,i,t.state)},0)}))}navigateToSyncWithBrowser(t,i,r){const o={replaceUrl:!0},s=r?.navigationId?r:null;if(r){const l={...r};delete l.navigationId,delete l.\u0275routerPageId,0!==Object.keys(l).length&&(o.state=l)}const a=this.parseUrl(t);this.scheduleNavigation(a,i,s,o)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(t){this.config=t.map(gm),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(t,i={}){const{relativeTo:r,queryParams:o,fragment:s,queryParamsHandling:a,preserveFragment:l}=i,c=l?this.currentUrlTree.fragment:s;let d,u=null;switch(a){case"merge":u={...this.currentUrlTree.queryParams,...o};break;case"preserve":u=this.currentUrlTree.queryParams;break;default:u=o||null}null!==u&&(u=this.removeEmptyProps(u));try{d=HE(r?r.snapshot:this.routerState.snapshot.root)}catch{("string"!=typeof t[0]||!t[0].startsWith("/"))&&(t=[]),d=this.currentUrlTree.root}return $E(d,t,u,c??null)}navigateByUrl(t,i={skipLocationChange:!1}){const r=Hr(t)?t:this.parseUrl(t),o=this.urlHandlingStrategy.merge(r,this.rawUrlTree);return this.scheduleNavigation(o,ll,null,i)}navigate(t,i={skipLocationChange:!1}){return function ZH(e){for(let n=0;n{const o=t[r];return null!=o&&(i[r]=o),i},{})}scheduleNavigation(t,i,r,o,s){if(this.disposed)return Promise.resolve(!1);let a,l,c;s?(a=s.resolve,l=s.reject,c=s.promise):c=new Promise((d,h)=>{a=d,l=h});const u=this.pendingTasks.add();return DT(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(u))}),this.navigationTransitions.handleNavigationRequest({source:i,restoredState:r,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,currentBrowserUrl:this.browserUrlTree,rawUrl:t,extras:o,resolve:a,reject:l,promise:c,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),c.catch(d=>Promise.reject(d))}setBrowserUrl(t,i){const r=this.urlSerializer.serialize(t);if(this.location.isCurrentPathEqualTo(r)||i.extras.replaceUrl){const s={...i.extras.state,...this.generateNgRouterState(i.id,this.browserPageId)};this.location.replaceState(r,"",s)}else{const o={...i.extras.state,...this.generateNgRouterState(i.id,this.browserPageId+1)};this.location.go(r,"",o)}}restoreHistory(t,i=!1){if("computed"===this.canceledNavigationResolution){const o=this.currentPageId-this.browserPageId;0!==o?this.location.historyGo(o):this.currentUrlTree===this.getCurrentNavigation()?.finalUrl&&0===o&&(this.resetState(t),this.browserUrlTree=t.currentUrlTree,this.resetUrlToCurrentUrlTree())}else"replace"===this.canceledNavigationResolution&&(i&&this.resetState(t),this.resetUrlToCurrentUrlTree())}resetState(t){this.routerState=t.currentRouterState,this.currentUrlTree=t.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,t.rawUrl)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(t,i){return"computed"===this.canceledNavigationResolution?{navigationId:t,\u0275routerPageId:i}:{navigationId:t}}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function wT(e){return!(e instanceof am||e instanceof lm)}class CT{}let QH=(()=>{class e{constructor(t,i,r,o,s){this.router=t,this.injector=r,this.preloadingStrategy=o,this.loader=s}setUpPreloading(){this.subscription=this.router.events.pipe(vt(t=>t instanceof lr),ls(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(t,i){const r=[];for(const o of i){o.providers&&!o._injector&&(o._injector=yp(o.providers,t,`Route: ${o.path}`));const s=o._injector??t,a=o._loadedInjector??s;(o.loadChildren&&!o._loadedRoutes&&void 0===o.canLoad||o.loadComponent&&!o._loadedComponent)&&r.push(this.preloadConfig(s,o)),(o.children||o._loadedRoutes)&&r.push(this.processRoutes(a,o.children??o._loadedRoutes))}return pt(r).pipe(lo())}preloadConfig(t,i){return this.preloadingStrategy.preload(i,()=>{let r;r=i.loadChildren&&void 0===i.canLoad?this.loader.loadChildren(t,i):J(null);const o=r.pipe(ht(s=>null===s?J(void 0):(i._loadedRoutes=s.routes,i._loadedInjector=s.injector,this.processRoutes(s.injector??t,s.routes))));return i.loadComponent&&!i._loadedComponent?pt([o,this.loader.loadComponent(i)]).pipe(lo()):o})}static#e=this.\u0275fac=function(i){return new(i||e)(H(Rn),H(xD),H(zt),H(CT),H(ym))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const Dm=new z("");let ET=(()=>{class e{constructor(t,i,r,o,s={}){this.urlSerializer=t,this.transitions=i,this.viewportScroller=r,this.zone=o,this.options=s,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},s.scrollPositionRestoration=s.scrollPositionRestoration||"disabled",s.anchorScrolling=s.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(t=>{t instanceof sd?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=t.navigationTrigger,this.restoredId=t.restoredState?t.restoredState.navigationId:0):t instanceof lr?(this.lastId=t.id,this.scheduleScrollEvent(t,this.urlSerializer.parse(t.urlAfterRedirects).fragment)):t instanceof ps&&0===t.code&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(t,this.urlSerializer.parse(t.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(t=>{t instanceof ZE&&(t.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(t.position):t.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(t.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(t,i){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new ZE(t,"popstate"===this.lastSource?this.store[this.restoredId]:null,i))})},0)})}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}static#e=this.\u0275fac=function(i){!function I1(){throw new Error("invalid")}()};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac})}return e})();function ki(e,n){return{\u0275kind:e,\u0275providers:n}}function ST(){const e=F(Nt);return n=>{const t=e.get(Ki);if(n!==t.components[0])return;const i=e.get(Rn),r=e.get(MT);1===e.get(wm)&&i.initialNavigation(),e.get(IT,null,ce.Optional)?.setUpPreloading(),e.get(Dm,null,ce.Optional)?.init(),i.resetRootComponentType(t.componentTypes[0]),r.closed||(r.next(),r.complete(),r.unsubscribe())}}const MT=new z("",{factory:()=>new Ee}),wm=new z("",{providedIn:"root",factory:()=>1}),IT=new z("");function n$(e){return ki(0,[{provide:IT,useExisting:QH},{provide:CT,useExisting:e}])}const NT=new z("ROUTER_FORROOT_GUARD"),r$=[Kp,{provide:rl,useClass:nm},Rn,ul,{provide:$r,useFactory:function TT(e){return e.routerState.root},deps:[Rn]},ym,[]];function o$(){return new VD("Router",Rn)}let OT=(()=>{class e{constructor(t){}static forRoot(t,i){return{ngModule:e,providers:[r$,[],{provide:ys,multi:!0,useValue:t},{provide:NT,useFactory:c$,deps:[[Rn,new gc,new mc]]},{provide:gd,useValue:i||{}},i?.useHash?{provide:Rr,useClass:YF}:{provide:Rr,useClass:pw},{provide:Dm,useFactory:()=>{const e=F(dV),n=F(fe),t=F(gd),i=F(pd),r=F(rl);return t.scrollOffset&&e.setOffset(t.scrollOffset),new ET(r,i,e,n,t)}},i?.preloadingStrategy?n$(i.preloadingStrategy).\u0275providers:[],{provide:VD,multi:!0,useFactory:o$},i?.initialNavigation?u$(i):[],i?.bindToComponentInputs?ki(8,[iT,{provide:cd,useExisting:iT}]).\u0275providers:[],[{provide:xT,useFactory:ST},{provide:$p,multi:!0,useExisting:xT}]]}}static forChild(t){return{ngModule:e,providers:[{provide:ys,multi:!0,useValue:t}]}}static#e=this.\u0275fac=function(i){return new(i||e)(H(NT,8))};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})();function c$(e){return"guarded"}function u$(e){return["disabled"===e.initialNavigation?ki(3,[{provide:Pp,multi:!0,useFactory:()=>{const n=F(Rn);return()=>{n.setUpLocationChangeListener()}}},{provide:wm,useValue:2}]).\u0275providers:[],"enabledBlocking"===e.initialNavigation?ki(2,[{provide:wm,useValue:0},{provide:Pp,multi:!0,deps:[Nt],useFactory:n=>{const t=n.get(WF,Promise.resolve());return()=>t.then(()=>new Promise(i=>{const r=n.get(Rn),o=n.get(MT);DT(r,()=>{i(!0)}),n.get(pd).afterPreactivation=()=>(i(!0),o.closed?J(void 0):o),r.initialNavigation()}))}}]).\u0275providers:[]]}const xT=new z("");class AT{constructor(n={}){this.term=n.term||""}}function f$(e,n){if(1&e&&(p(0,"li")(1,"a",12),m(2),f()()),2&e){const t=n.$implicit;g(1),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id)}}function h$(e,n){if(1&e&&(p(0,"div",25)(1,"ul"),I(2,f$,3,2,"li",4),f()()),2&e){const t=T(3).$implicit;g(2),S("ngForOf",t.inputs)}}function p$(e,n){if(1&e&&(p(0,"div")(1,"div",26)(2,"p",21)(3,"a",12),m(4),f(),p(5,"button",22),m(6),f()()()()),2&e){const t=n.$implicit;g(3),U("href","/explorer?term=",t.to,"",W),g(1),A(t.to),g(2),V("",t.value.toFixed(6)," YDA")}}function g$(e,n){if(1&e){const t=Ze();p(0,"div")(1,"div",11)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",12),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",12),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Fee: "),f(),m(15),f(),p(16,"div",13)(17,"div",14)(18,"p")(19,"strong"),m(20,"Inputs:"),f(),m(21),f(),p(22,"div",15)(23,"button",16),Z("click",function(){return Ue(t),Ge(T(3).toggleAccordion("inputsAccordion"))}),m(24,"Show Inputs"),f(),I(25,h$,3,1,"div",17),f(),p(26,"p")(27,"strong"),m(28,"Outputs:"),f(),m(29),f()()(),p(30,"div",18)(31,"div",19)(32,"div",20)(33,"p",21)(34,"a",12),m(35),f(),p(36,"button",22),m(37),f()()()(),p(38,"div",23),Ae(39,"img",24),f(),p(40,"div",19),I(41,p$,7,3,"div",4),f()()()()}if(2&e){const t=T(2).$implicit,i=T();g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V("",t.fee," YDA"),g(6),V(" ",t.inputs.length,""),g(4),S("ngIf","inputsAccordion"===i.showAccordion),g(4),V(" ",t.outputs.length,""),g(5),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to),g(2),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function m$(e,n){if(1&e&&(p(0,"div")(1,"div",11)(2,"p",27)(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",12),m(6),f()(),p(7,"p",27)(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",12),m(11),f()(),p(12,"p",27)(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",28)(17,"h4",29),m(18,"Relationship DATA:"),f(),p(19,"textarea",30),m(20),f()(),p(21,"div",31)(22,"div",26)(23,"button",32),m(24,"Newly created Address"),f(),p(25,"p",33)(26,"a",12),m(27),f()()()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship),g(6),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function _$(e,n){if(1&e&&(p(0,"div")(1,"div",11)(2,"p",27)(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",12),m(6),f()(),p(7,"p",27)(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",12),m(11),f()(),p(12,"p",27)(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",28)(17,"h4",29),m(18,"Relationship DATA:"),f(),p(19,"textarea",30),m(20),f()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship)}}function v$(e,n){if(1&e&&(p(0,"div")(1,"div",11)(2,"p",27)(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",12),m(6),f()(),p(7,"p",27)(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",12),m(11),f()(),p(12,"p",27)(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",28)(17,"h4",29),m(18,"Relationship DATA:"),f(),p(19,"textarea",30),m(20),f()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship)}}function y$(e,n){if(1&e&&(p(0,"tr",8)(1,"td",9),I(2,g$,42,12,"div",10),I(3,m$,28,8,"div",10),I(4,_$,21,6,"div",10),I(5,v$,21,6,"div",10),f()()),2&e){const t=T().$implicit,i=T();g(2),S("ngIf",i.transactionUtilsService.isTransferTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCreateIdentityTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isEncryptedMessageTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isMessageTransaction(t))}}const b$=function(e,n,t,i,r){return{coinbase:e,transfer:n,"create-identity":t,"encrypted-message":i,message:r}};function D$(e,n){if(1&e){const t=Ze();Zi(0),p(1,"tr",5),Z("click",function(){const o=Ue(t).$implicit;return Ge(T().toggleDetails(o))}),p(2,"td"),m(3),f(),p(4,"td",3),m(5),f(),p(6,"td"),m(7),f(),p(8,"td")(9,"button",6),m(10),f()()(),I(11,y$,6,4,"tr",7),Ji()}if(2&e){const t=n.$implicit,i=T();g(3),A(i.dateFormatService.formatTransactionTime(t.time)),g(2),A(t.hash),g(2),up("",t.inputs.length," / ",t.outputs.length,""),g(2),S("ngClass",ns(7,b$,i.transactionUtilsService.isCoinbaseTransaction(t),i.transactionUtilsService.isTransferTransaction(t),i.transactionUtilsService.isCreateIdentityTransaction(t),i.transactionUtilsService.isEncryptedMessageTransaction(t),i.transactionUtilsService.isMessageTransaction(t))),g(1),V(" ",i.transactionUtilsService.getTransactionType(t)," "),g(1),S("ngIf",i.expandedTransaction&&i.expandedTransaction.id===t.id)}}let RT=(()=>{class e{constructor(t,i,r){this.httpClient=t,this.dateFormatService=i,this.transactionUtilsService=r,this.mempoolData=[],this.expandedTransaction=null,this.showAccordion=null}ngOnInit(){this.httpClient.get("/explorer-mempool").subscribe(t=>{this.mempoolData=t.result||[]},t=>{console.error("Error fetching mempool data:",t)})}toggleDetails(t){this.expandedTransaction=this.expandedTransaction===t?null:t}toggleAccordion(t){this.showAccordion=this.showAccordion===t?null:t}getTotalValue(t){return t.reduce((i,r)=>i+r.value,0)}static#e=this.\u0275fac=function(i){return new(i||e)(b(Wa),b(Ju),b(Xu))};static#t=this.\u0275cmp=kt({type:e,selectors:[["app-mempool"]],decls:16,vars:1,consts:[[2,"text-transform","uppercase","margin","10px","margin-top","20px"],[1,"blocks-container"],[1,"blocks-table"],[1,"hash-column"],[4,"ngFor","ngForOf"],[3,"click"],[1,"transaction-type-button",3,"ngClass"],["class","expanded-row",4,"ngIf"],[1,"expanded-row"],["colspan","4"],[4,"ngIf"],[1,"transaction-details"],[3,"href"],[1,"row"],[1,"col-md-12"],[1,"input-section",2,"width","100%","display","inline-block","margin-top","5px"],[1,"accordion",3,"click"],["class","panel",4,"ngIf"],[1,"row","in-section",2,"margin-top","5px"],[1,"col-md-5"],[1,"transfer-in-info-box"],[2,"margin-left","10px"],[1,"transaction-value-button"],[1,"col-md-2","text-center"],["src","yadacoinstatic/explorer/assets/arrow-right.png","alt","Arrow Right",1,"arrow-icon"],[1,"panel"],[1,"transfer-out-info-box"],[1,"col-12"],[1,"relationship-data-box"],[2,"text-transform","uppercase","margin","10px"],["rows","4","readonly","",2,"width","98%"],[1,"in-section","col-md-5",2,"margin-top","5px"],[1,"transaction-type-button","create-identity"],[2,"margin-left","15px"]],template:function(i,r){1&i&&(p(0,"h2",0),m(1,"Mempool"),f(),p(2,"div",1)(3,"table",2)(4,"thead")(5,"tr")(6,"th"),m(7,"Time"),f(),p(8,"th",3),m(9,"Transaction Hash"),f(),p(10,"th"),m(11,"in/out"),f(),p(12,"th"),m(13,"Type"),f()()(),p(14,"tbody"),I(15,D$,12,13,"ng-container",4),f()()()),2&i&&(g(15),S("ngForOf",r.mempoolData))},dependencies:[xu,qn,Yn]})}return e})();function w$(e,n){1&e&&(p(0,"div",9)(1,"strong"),m(2,"Loading..."),f()())}function C$(e,n){if(1&e&&(p(0,"div",10)(1,"strong"),m(2,"Your Balance:"),f(),m(3),f()),2&e){const t=T();g(3),V(" ",t.balance," ")}}let PT=(()=>{class e{constructor(t){this.httpClient=t,this.address="",this.balance=0,this.loading=!1}getBalance(){this.address&&(this.loading=!0,this.httpClient.get(`/explorer-get-balance?address=${this.address}`).subscribe(t=>{this.balance=t.balance,this.loading=!1},t=>{alert("Something went wrong while fetching the balance."),this.loading=!1}))}static#e=this.\u0275fac=function(i){return new(i||e)(b(Wa))};static#t=this.\u0275cmp=kt({type:e,selectors:[["app-address-balance"]],decls:15,vars:5,consts:[[1,"button",2,"text-transform","uppercase","margin","10px","margin-top","20px"],[1,"address-balance-container"],["for","addressInput"],[2,"display","flex"],["id","addressInput","type","text",1,"search-container",3,"ngModel","ngModelChange"],[1,"button","btn-success",3,"disabled","click"],[2,"margin-top","10px"],["class","loading-message",4,"ngIf"],["class","result",4,"ngIf"],[1,"loading-message"],[1,"result"]],template:function(i,r){1&i&&(p(0,"h2",0),m(1,"Address Balance"),f(),p(2,"div",1)(3,"label",2),m(4,"Enter Your Wallet Address:"),f(),p(5,"div",3)(6,"input",4),Z("ngModelChange",function(s){return r.address=s}),f(),p(7,"button",5),Z("click",function(){return r.getBalance()}),m(8,"Get balance"),f()(),p(9,"div",6)(10,"strong"),m(11,"Your Address:"),f(),m(12),f(),I(13,w$,3,0,"div",7),I(14,C$,4,1,"div",8),f()),2&i&&(g(6),S("ngModel",r.address),g(1),S("disabled",r.loading),g(5),V(" ",r.address," "),g(1),S("ngIf",r.loading),g(1),S("ngIf",!r.loading&&null!==r.balance))},dependencies:[Yn,Ya,Rg,Zu],styles:[".address-balance-container[_ngcontent-%COMP%]{margin:10px;padding:20px;background-color:#424242;border-radius:5px;color:#fff}label[_ngcontent-%COMP%]{display:block;margin-bottom:10px}input[_ngcontent-%COMP%]{flex:1;padding:10px;margin-bottom:10px;margin-right:10px}button.btn-success[_ngcontent-%COMP%]{background-color:green;color:#fff;padding:8px 20px;border:none;cursor:pointer;transition:background .3s ease;border-radius:5px;height:40px}.loading-message[_ngcontent-%COMP%], .result[_ngcontent-%COMP%]{margin-top:10px}"]})}return e})();function E$(e,n){if(1&e&&(p(0,"li")(1,"a",11),m(2),f()()),2&e){const t=n.$implicit;g(1),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id)}}function T$(e,n){if(1&e&&(p(0,"div",27)(1,"ul"),I(2,E$,3,2,"li",4),f()()),2&e){const t=T(3).$implicit;g(2),S("ngForOf",t.inputs)}}function S$(e,n){if(1&e&&(p(0,"div")(1,"div",28)(2,"p",22)(3,"a",11),m(4),f(),p(5,"button",23),m(6),f()()()()),2&e){const t=n.$implicit;g(3),U("href","/explorer?term=",t.to,"",W),g(1),A(t.to),g(2),V("",t.value.toFixed(6)," YDA")}}function M$(e,n){if(1&e){const t=Ze();p(0,"div")(1,"div",15)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",11),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",11),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Fee: "),f(),m(15),f(),p(16,"p")(17,"strong"),m(18,"Inputs:"),f(),m(19),f(),p(20,"div",16)(21,"button",17),Z("click",function(){return Ue(t),Ge(T(5).toggleAccordion("inputsAccordion"))}),m(22,"Show Inputs"),f(),I(23,T$,3,1,"div",18),f(),p(24,"p")(25,"strong"),m(26,"Outputs:"),f(),m(27),f(),p(28,"div",19)(29,"div",20)(30,"div",21)(31,"p",22)(32,"a",11),m(33),f(),p(34,"button",23),m(35),f()()()(),p(36,"div",24),Ae(37,"img",25),f(),p(38,"div",26),I(39,S$,7,3,"div",4),f()()()()}if(2&e){const t=T(2).$implicit,i=T(3);g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.fee," YDA"),g(4),V(" ",t.inputs.length,""),g(4),S("ngIf","inputsAccordion"===i.showAccordion),g(4),V(" ",t.outputs.length,""),g(5),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to),g(2),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function I$(e,n){if(1&e&&(p(0,"div"),I(1,M$,40,12,"div",14),f()),2&e){const t=T().index,i=T(2).index,r=T();g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function N$(e,n){if(1&e&&(p(0,"div")(1,"div",28)(2,"p",22)(3,"a",11),m(4),f(),p(5,"button",23),m(6),f()()()()),2&e){const t=n.$implicit;g(3),U("href","/explorer?term=",t.to,"",W),g(1),A(t.to),g(2),V("",t.value.toFixed(6)," YDA")}}function O$(e,n){if(1&e&&(p(0,"div")(1,"div",15)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",11),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",11),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Outputs:"),f(),m(15),f(),p(16,"div",19)(17,"div",20)(18,"div",21)(19,"p",22),m(20," (Newly Generated Coins) "),p(21,"button",23),m(22),f()()()(),p(23,"div",24),Ae(24,"img",25),f(),p(25,"div",26),I(26,N$,7,3,"div",4),f()()()()),2&e){const t=T(2).$implicit,i=T(3);g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.outputs.length,""),g(7),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function x$(e,n){if(1&e&&(p(0,"div"),I(1,O$,27,7,"div",14),f()),2&e){const t=T().index,i=T(2).index,r=T();g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function A$(e,n){if(1&e&&(p(0,"div")(1,"div",15)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",11),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",11),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",29)(17,"h4",30),m(18,"Relationship DATA:"),f(),p(19,"textarea",31),m(20),f()(),p(21,"div",20)(22,"div",28)(23,"button",32),m(24,"Newly created Address"),f(),p(25,"p",33)(26,"a",11),m(27),f()()()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship),g(6),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function R$(e,n){if(1&e&&(p(0,"div"),I(1,A$,28,8,"div",14),f()),2&e){const t=T().index,i=T(2).index,r=T();g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function P$(e,n){if(1&e&&(p(0,"div")(1,"div",15)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",11),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",11),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",29)(17,"h4",30),m(18,"Relationship DATA:"),f(),p(19,"textarea",31),m(20),f()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship)}}function k$(e,n){if(1&e&&(p(0,"div"),I(1,P$,21,6,"div",14),f()),2&e){const t=T().index,i=T(2).index,r=T();g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function F$(e,n){if(1&e&&(p(0,"div")(1,"div",15)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",11),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",11),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",29)(17,"h4",30),m(18,"Relationship DATA:"),f(),p(19,"textarea",31),m(20),f()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship)}}function L$(e,n){if(1&e&&(p(0,"div"),I(1,F$,21,6,"div",14),f()),2&e){const t=T().index,i=T(2).index,r=T();g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}const V$=function(e,n,t,i,r){return{coinbase:e,transfer:n,"create-identity":t,"encrypted-message":i,message:r}};function B$(e,n){if(1&e){const t=Ze();p(0,"li")(1,"button",13),Z("click",function(){const o=Ue(t).index,s=T(2).index;return Ge(T().showTransactionDetails(s,o))}),m(2),f(),I(3,I$,2,1,"div",14),I(4,x$,2,1,"div",14),I(5,R$,2,1,"div",14),I(6,k$,2,1,"div",14),I(7,L$,2,1,"div",14),f()}if(2&e){const t=n.$implicit,i=T(3);g(1),S("ngClass",ns(7,V$,i.transactionUtilsService.isCoinbaseTransaction(t),i.transactionUtilsService.isTransferTransaction(t),i.transactionUtilsService.isCreateIdentityTransaction(t),i.transactionUtilsService.isEncryptedMessageTransaction(t),i.transactionUtilsService.isMessageTransaction(t))),g(1),V(" ",i.transactionUtilsService.getTransactionType(t)," "),g(1),S("ngIf",i.transactionUtilsService.isTransferTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCoinbaseTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCreateIdentityTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isEncryptedMessageTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isMessageTransaction(t))}}function j$(e,n){if(1&e&&(p(0,"tr",7)(1,"td",8)(2,"div",9)(3,"h2",10),m(4,"Block Details"),f(),p(5,"p")(6,"strong"),m(7,"Index: "),f(),p(8,"a",11),m(9),f()(),p(10,"p")(11,"strong"),m(12,"Time:"),f(),m(13),f(),p(14,"p")(15,"strong"),m(16,"Hash: "),f(),p(17,"a",11),m(18),f()(),p(19,"p")(20,"strong"),m(21,"Previous Hash: "),f(),p(22,"a",11),m(23),f()(),p(24,"p")(25,"strong"),m(26,"Nonce:"),f(),m(27),f(),p(28,"p")(29,"strong"),m(30,"Target:"),f(),m(31),f(),p(32,"p")(33,"strong"),m(34,"ID: "),f(),p(35,"a",11),m(36),f()(),p(37,"h3",12),m(38,"Transactions"),f(),p(39,"ul"),I(40,B$,8,13,"li",4),f()()()()),2&e){const t=T().$implicit,i=T();g(8),U("href","/explorer?term=",t.index,"",W),g(1),A(t.index),g(4),V(" ",i.dateFormatService.formatTransactionTime(t.time),""),g(4),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.prevHash,"",W),g(1),A(t.prevHash),g(4),V(" ",t.nonce,""),g(4),V(" ",t.target,""),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),S("ngForOf",t.transactions)}}function H$(e,n){if(1&e){const t=Ze();Zi(0),p(1,"tr",5),Z("click",function(){const o=Ue(t).$implicit;return Ge(T().toggleDetails(o))}),p(2,"td"),m(3),f(),p(4,"td"),m(5),f(),p(6,"td"),m(7),f(),p(8,"td",3),m(9),f(),p(10,"td"),m(11),f()(),I(12,j$,41,12,"tr",6),Ji()}if(2&e){const t=n.$implicit,i=T();g(3),A(t.index),g(2),A(i.dateFormatService.formatTransactionTime(t.time)),g(2),A(i.calculateAge(t.time)),g(2),A(t.hash),g(2),A(t.transactions.length),g(1),S("ngIf",t.expanded)}}let $$=(()=>{class e{constructor(t,i,r){this.httpClient=t,this.dateFormatService=i,this.transactionUtilsService=r,this.blocks=[],this.showBlockTransactions=!1,this.showBlockTransactionDetails=[],this.searching=!1,this.showAccordion=null}ngOnInit(){this.loadLatestBlocks()}loadLatestBlocks(){this.httpClient.get("/explorer-latest").subscribe(t=>{this.blocks=t.result||[],this.searching=!1},t=>{console.error("Error fetching latest blocks:",t),alert("Something went wrong while fetching latest blocks!")})}showBlockDetails(t){console.log("Clicked block:",t),this.selectedBlock=t}toggleDetails(t){if(t.expanded)t.expanded=!1;else{this.blocks.forEach(r=>r.expanded=!1),t.expanded=!0;const i=this.blocks.indexOf(t);this.showBlockTransactionDetails[i]=[],this.selectedBlock=t}}showTransactions(){this.showBlockTransactions=!this.showBlockTransactions,this.showBlockTransactionDetails=[]}showTransactionDetails(t,i){console.log("Clicked transaction:",t,i),this.showBlockTransactionDetails[t][i]=!this.showBlockTransactionDetails[t][i]}numberWithCommas(t){return t.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")}formatHashrate(t){return t<1e3?`${t.toFixed(0)} h/s`:t<1e6?`${(t/1e3).toFixed(2)} kh/s`:`${(t/1e6).toFixed(2)} mh/s`}calculateAge(t){const i=(new Date).getTime(),r=new Date(1e3*t).getTime();console.log("Current Time:",new Date(i)),console.log("Block Time:",new Date(r));const o=i-r,s=Math.floor(o/6e4);return console.log("Difference:",o),console.log("Age in Minutes:",s),s<60?`${s} minutes ago`:`${Math.floor(s/60)} hours ago`}getTotalValue(t){return t.reduce((i,r)=>i+r.value,0)}toggleAccordion(t){this.showAccordion=this.showAccordion===t?null:t}static#e=this.\u0275fac=function(i){return new(i||e)(b(Wa),b(Ju),b(Xu))};static#t=this.\u0275cmp=kt({type:e,selectors:[["app-latest-blocks"]],decls:18,vars:1,consts:[[2,"text-transform","uppercase","margin","10px","margin-top","20px"],[1,"blocks-container"],[1,"blocks-table"],[1,"hash-column"],[4,"ngFor","ngForOf"],[3,"click"],["class","expanded-row",4,"ngIf"],[1,"expanded-row"],["colspan","5"],[2,"word-break","break-word"],[2,"text-transform","uppercase","margin","20px","margin-top","10px"],[3,"href"],[2,"text-transform","uppercase","margin","20px","margin-top","20px"],[1,"transaction-type-button",3,"ngClass","click"],[4,"ngIf"],[1,"transaction-details"],[1,"input-section",2,"margin-top","5px"],[1,"accordion",3,"click"],["class","panel",4,"ngIf"],[1,"row","in-section"],[1,"in-section","col-md-5",2,"margin-top","5px"],[1,"transfer-in-info-box"],[2,"margin-left","10px"],[1,"transaction-value-button"],[1,"col-md-2","text-center"],["src","yadacoinstatic/explorer/assets/arrow-right.png","alt","Arrow Right",1,"arrow-icon"],[1,"out-section","col-md-5",2,"margin-top","5px"],[1,"panel"],[1,"transfer-out-info-box"],[1,"relationship-data-box"],[2,"text-transform","uppercase","margin","10px"],["rows","4","readonly","",2,"width","98%"],[1,"transaction-type-button","create-identity"],[2,"margin-left","15px"]],template:function(i,r){1&i&&(p(0,"h2",0),m(1,"Latest 10 Blocks"),f(),p(2,"div",1)(3,"table",2)(4,"thead")(5,"tr")(6,"th"),m(7,"Index"),f(),p(8,"th"),m(9,"Time"),f(),p(10,"th"),m(11,"Age"),f(),p(12,"th",3),m(13,"Hash"),f(),p(14,"th"),m(15,"Transactions"),f()()(),p(16,"tbody"),I(17,H$,13,6,"ng-container",4),f()()()),2&i&&(g(17),S("ngForOf",r.blocks))},dependencies:[xu,qn,Yn]})}return e})(),U$=(()=>{class e{transform(t){return"string"==typeof t?t.replace(/,/g," "):t.toString().replace(/,/g," ")}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275pipe=Bt({name:"replaceComma",type:e,pure:!0})}return e})();function G$(e,n){1&e&&(p(0,"div")(1,"h1",24),m(2,"This is the alpha version of the Yadacoin block explorer."),f(),p(3,"h1",24),m(4,"Most functions should be operational. Please feel free to report any bugs or provide suggestions."),f(),p(5,"h1",24),m(6,"Thank you!"),f()())}function z$(e,n){1&e&&(Zi(0),p(1,"div",25)(2,"h2",26),m(3,"No results for searched phrase"),f()(),Ji())}function W$(e,n){1&e&&(p(0,"a",37),Ae(1,"i",38),m(2," Previous Block "),f()),2&e&&U("href","/explorer?term=",T().$implicit.index-1,"",W)}function q$(e,n){1&e&&(p(0,"a",39),m(1," Next Block "),Ae(2,"i",40),f()),2&e&&U("href","/explorer?term=",T().$implicit.index+1,"",W)}function Y$(e,n){if(1&e&&(p(0,"li")(1,"a",35),m(2),f()()),2&e){const t=n.$implicit;g(1),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id)}}function Z$(e,n){if(1&e&&(p(0,"div",55)(1,"ul"),I(2,Y$,3,2,"li",30),f()()),2&e){const t=T(3).$implicit;g(2),S("ngForOf",t.inputs)}}function J$(e,n){if(1&e&&(p(0,"div")(1,"div",56)(2,"p",51)(3,"a",35),m(4),f(),p(5,"button",52),m(6),f()()()()),2&e){const t=n.$implicit;g(3),U("href","/explorer?term=",t.to,"",W),g(1),A(t.to),g(2),V("",t.value.toFixed(6)," YDA")}}function X$(e,n){if(1&e){const t=Ze();p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",35),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",35),m(11),f()(),p(12,"div",15)(13,"div",44)(14,"p")(15,"strong"),m(16,"Inputs:"),f(),m(17),f(),p(18,"div",45)(19,"button",46),Z("click",function(){return Ue(t),Ge(T(6).toggleAccordion("inputsAccordion"))}),m(20,"Show Inputs"),f(),I(21,Z$,3,1,"div",47),f(),p(22,"p")(23,"strong"),m(24,"Outputs:"),f(),m(25),f()()(),p(26,"div",48)(27,"div",49)(28,"div",50)(29,"p",51)(30,"a",35),m(31),f(),p(32,"button",52),m(33),f()()()(),p(34,"div",53),Ae(35,"img",54),f(),p(36,"div",49),I(37,J$,7,3,"div",30),f()()()()}if(2&e){const t=T(2).$implicit,i=T(4);g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(6),V(" ",t.inputs.length,""),g(4),S("ngIf","inputsAccordion"===i.showAccordion),g(4),V(" ",t.outputs.length,""),g(5),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to),g(2),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function Q$(e,n){if(1&e&&(p(0,"div"),I(1,X$,38,11,"div",22),f()),2&e){const t=T().index,i=T().index,r=T(3);g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function K$(e,n){if(1&e&&(p(0,"div")(1,"div",56)(2,"p",51)(3,"a",35),m(4),f(),p(5,"button",52),m(6),f()()()()),2&e){const t=n.$implicit;g(3),U("href","/explorer?term=",t.to,"",W),g(1),A(t.to),g(2),V("",t.value.toFixed(6)," YDA")}}function e4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",35),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",35),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Outputs:"),f(),m(15),f(),p(16,"div",48)(17,"div",49)(18,"div",50)(19,"p",51),m(20," (Newly Generated Coins) "),p(21,"button",52),m(22),f()()()(),p(23,"div",53),Ae(24,"img",54),f(),p(25,"div",49),I(26,K$,7,3,"div",30),f()()()()),2&e){const t=T(2).$implicit,i=T(4);g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.outputs.length,""),g(7),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function t4(e,n){if(1&e&&(p(0,"div"),I(1,e4,27,7,"div",22),f()),2&e){const t=T().index,i=T().index,r=T(3);g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function n4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",35),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",35),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",57)(17,"h4",58),m(18,"Relationship DATA:"),f(),p(19,"textarea",59),m(20),f()(),p(21,"div",48)(22,"div",60)(23,"div",56)(24,"button",61),m(25,"Newly created Address"),f(),p(26,"p",62)(27,"a",35),m(28),f()()()()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship),g(7),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function i4(e,n){if(1&e&&(p(0,"div"),I(1,n4,29,8,"div",22),f()),2&e){const t=T().index,i=T().index,r=T(3);g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function r4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",35),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",35),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",57)(17,"h4",58),m(18,"Relationship DATA:"),f(),p(19,"textarea",59),m(20),f()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship)}}function o4(e,n){if(1&e&&(p(0,"div"),I(1,r4,21,6,"div",22),f()),2&e){const t=T().index,i=T().index,r=T(3);g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}function s4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Transaction Hash: "),f(),p(5,"a",35),m(6),f()(),p(7,"p")(8,"strong"),m(9,"Transaction ID: "),f(),p(10,"a",35),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Relationship Identifier:"),f(),m(15),f(),p(16,"div",57)(17,"h4",58),m(18,"Relationship DATA:"),f(),p(19,"textarea",59),m(20),f()()()()),2&e){const t=T(2).$implicit;g(5),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",t.rid,""),g(5),A(t.relationship)}}function a4(e,n){if(1&e&&(p(0,"div"),I(1,s4,21,6,"div",22),f()),2&e){const t=T().index,i=T().index,r=T(3);g(1),S("ngIf",null==r.showBlockTransactionDetails||null==r.showBlockTransactionDetails[i]?null:r.showBlockTransactionDetails[i][t])}}const Cm=function(e,n,t,i,r){return{coinbase:e,transfer:n,"create-identity":t,"encrypted-message":i,message:r}};function l4(e,n){if(1&e){const t=Ze();p(0,"li")(1,"div",41)(2,"button",42),Z("click",function(){const o=Ue(t).index,s=T().index;return Ge(T(3).showTransactionDetails(s,o))}),m(3),f(),I(4,Q$,2,1,"div",22),I(5,t4,2,1,"div",22),I(6,i4,2,1,"div",22),I(7,o4,2,1,"div",22),I(8,a4,2,1,"div",22),f()()}if(2&e){const t=n.$implicit,i=T(4);g(2),S("ngClass",ns(7,Cm,i.transactionUtilsService.isCoinbaseTransaction(t),i.transactionUtilsService.isTransferTransaction(t),i.transactionUtilsService.isCreateIdentityTransaction(t),i.transactionUtilsService.isEncryptedMessageTransaction(t),i.transactionUtilsService.isMessageTransaction(t))),g(1),V(" ",i.transactionUtilsService.getTransactionType(t)," "),g(1),S("ngIf",i.transactionUtilsService.isTransferTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCoinbaseTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCreateIdentityTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isEncryptedMessageTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isMessageTransaction(t))}}function c4(e,n){if(1&e&&(p(0,"li")(1,"div",31),I(2,W$,3,1,"a",32),I(3,q$,3,1,"a",33),f(),p(4,"div",25)(5,"h2",34),m(6,"Block Details"),f(),p(7,"p")(8,"strong"),m(9,"Index: "),f(),p(10,"a",35),m(11),f()(),p(12,"p")(13,"strong"),m(14,"Time:"),f(),m(15),f(),p(16,"p")(17,"strong"),m(18,"Hash: "),f(),p(19,"a",35),m(20),f()(),p(21,"p")(22,"strong"),m(23,"Previous Hash: "),f(),p(24,"a",35),m(25),f()(),p(26,"p")(27,"strong"),m(28,"Nonce:"),f(),m(29),f(),p(30,"p")(31,"strong"),m(32,"Target:"),f(),m(33),f(),p(34,"p")(35,"strong"),m(36,"ID: "),f(),p(37,"a",35),m(38),f()(),p(39,"h3",36),m(40,"Transactions"),f(),p(41,"ul"),I(42,l4,9,13,"li",30),f()()()),2&e){const t=n.$implicit,i=T(3);g(2),S("ngIf",0!==t.index),g(1),S("ngIf",t.index!==i.current_height),g(7),U("href","/explorer?term=",t.index,"",W),g(1),A(t.index),g(4),V(" ",t.time,""),g(4),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.prevHash,"",W),g(1),A(t.prevHash),g(4),V(" ",t.nonce,""),g(4),V(" ",t.target,""),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),S("ngForOf",t.transactions)}}function u4(e,n){if(1&e&&(p(0,"div")(1,"div",25)(2,"h3",27),m(3),f(),p(4,"h2",28),m(5),f()(),p(6,"ul",29),I(7,c4,43,14,"li",30),f()()),2&e){const t=T(2);g(3),V(" search result for ","block_height"===t.resultType?"block index":"block_hash"===t.resultType?"block hash":"block_id"===t.resultType?"block id":"",": "),g(2),V(" ","block_height"===t.resultType?t.result[0].index:"block_hash"===t.resultType?t.result[0].hash:"block_id"===t.resultType?t.result[0].id:""," "),g(2),S("ngForOf",t.result)}}const bs=function(e){return{"searched-item":e}};function d4(e,n){if(1&e&&(p(0,"li")(1,"a",71),m(2),f()()),2&e){const t=n.$implicit,i=T(7);g(1),U("href","/explorer?term=",t.id,"",W),S("ngClass",$n(3,bs,i.isSearchedItem(t.id))),g(1),A(t.id)}}function f4(e,n){if(1&e&&(p(0,"div",55)(1,"ul"),I(2,d4,3,5,"li",30),f()()),2&e){const t=T(3).$implicit;g(2),S("ngForOf",t.inputs)}}function h4(e,n){if(1&e&&(p(0,"div")(1,"div",56)(2,"p",51)(3,"a",35),m(4),f(),p(5,"button",52),m(6),f()()()()),2&e){const t=n.$implicit;g(3),U("href","/explorer?term=",t.to,"",W),g(1),A(t.to),g(2),V("",t.value.toFixed(6)," YDA")}}function p4(e,n){if(1&e){const t=Ze();p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Inputs:"),f(),m(5),f(),p(6,"div",72)(7,"button",46),Z("click",function(){return Ue(t),Ge(T(5).toggleAccordion("inputsAccordion"))}),m(8,"Show Inputs"),f(),I(9,f4,3,1,"div",47),f(),p(10,"p")(11,"strong"),m(12,"Outputs:"),f(),m(13),f(),p(14,"div",73)(15,"div",49)(16,"div",50)(17,"p",51)(18,"a",35),m(19),f(),p(20,"button",52),m(21),f()()()(),p(22,"div",53),Ae(23,"img",54),f(),p(24,"div",49),I(25,h4,7,3,"div",30),f()()()()}if(2&e){const t=T(2).$implicit,i=T(3);g(5),V(" ",t.inputs.length,""),g(4),S("ngIf","inputsAccordion"===i.showAccordion),g(4),V(" ",t.outputs.length,""),g(5),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to),g(2),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function g4(e,n){if(1&e&&(p(0,"div")(1,"div",56)(2,"p",51)(3,"a",35),m(4),f(),p(5,"button",52),m(6),f()()()()),2&e){const t=n.$implicit;g(3),U("href","/explorer?term=",t.to,"",W),g(1),A(t.to),g(2),V("",t.value.toFixed(6)," YDA")}}function m4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Outputs:"),f(),m(5),f(),p(6,"div",73)(7,"div",49)(8,"div",50)(9,"p",51),m(10," (Newly Generated Coins) "),p(11,"button",52),m(12),f()()()(),p(13,"div",53),Ae(14,"img",54),f(),p(15,"div",49),I(16,g4,7,3,"div",30),f()()()()),2&e){const t=T(2).$implicit,i=T(3);g(5),V(" ",t.outputs.length,""),g(7),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function _4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Relationship Identifier:"),f(),m(5),f(),p(6,"div",57)(7,"h4",58),m(8,"Relationship DATA:"),f(),p(9,"textarea",59),m(10),f()(),p(11,"div",73)(12,"div",60)(13,"div",56)(14,"button",74),m(15,"Newly created Address"),f(),p(16,"p",62)(17,"a",35),m(18),f()()()()()()()),2&e){const t=T(2).$implicit;g(5),V(" ",t.rid,""),g(5),A(t.relationship),g(7),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function v4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Relationship Identifier:"),f(),m(5),f(),p(6,"div",57)(7,"h4",58),m(8,"Relationship DATA:"),f(),p(9,"textarea",59),m(10),f()()()()),2&e){const t=T(2).$implicit;g(5),V(" ",t.rid,""),g(5),A(t.relationship)}}function y4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Relationship Identifier:"),f(),m(5),f(),p(6,"div",57)(7,"h4",58),m(8,"Relationship DATA:"),f(),p(9,"textarea",59),m(10),f()()()()),2&e){const t=T(2).$implicit;g(5),V(" ",t.rid,""),g(5),A(t.relationship)}}function b4(e,n){if(1&e&&(p(0,"tr",68)(1,"td",69)(2,"div")(3,"h3",70),m(4,"included in the block"),f(),p(5,"p")(6,"strong"),m(7,"Index: "),f(),p(8,"a",35),m(9),f()(),p(10,"p")(11,"strong"),m(12,"Hash: "),f(),p(13,"a",35),m(14),f()(),p(15,"div",43)(16,"p")(17,"strong"),m(18,"Transaction Hash: "),f(),p(19,"a",71),m(20),f()(),p(21,"p")(22,"strong"),m(23,"Transaction ID: "),f(),p(24,"a",71),m(25),f()(),p(26,"p")(27,"strong"),m(28,"Time: "),f(),m(29),f(),p(30,"p")(31,"strong"),m(32,"Fee: "),f(),m(33),f(),I(34,p4,26,7,"div",22),I(35,m4,17,3,"div",22),I(36,_4,19,4,"div",22),I(37,v4,11,2,"div",22),I(38,y4,11,2,"div",22),f()()()()),2&e){const t=T().$implicit,i=T(3);g(8),U("href","/explorer?term=",t.blockIndex,"",W),g(1),A(t.blockIndex),g(4),U("href","/explorer?term=",t.blockHash,"",W),g(1),A(t.blockHash),g(5),U("href","/explorer?term=",t.hash,"",W),S("ngClass",$n(17,bs,i.isSearchedItem(t.hash))),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),S("ngClass",$n(19,bs,i.isSearchedItem(t.id))),g(1),A(t.id),g(4),V(" ",i.dateFormatService.formatTransactionTime(t.time),""),g(4),V(" ",t.fee," YDA"),g(1),S("ngIf",i.transactionUtilsService.isTransferTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCoinbaseTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCreateIdentityTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isEncryptedMessageTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isMessageTransaction(t))}}function D4(e,n){if(1&e){const t=Ze();Zi(0),p(1,"tr",65),Z("click",function(){const o=Ue(t).$implicit;return Ge(T(3).toggleDetails(o))}),p(2,"td"),m(3),f(),p(4,"td",64),m(5),f(),p(6,"td"),m(7),f(),p(8,"td"),m(9),f(),p(10,"td")(11,"button",66),m(12),f()()(),I(13,b4,39,21,"tr",67),Ji()}if(2&e){const t=n.$implicit,i=T(3);g(3),A(i.dateFormatService.formatTransactionTime(t.time)),g(2),A(t.hash),g(2),A(t.inputs.length),g(2),A(t.outputs.length),g(2),S("ngClass",ns(7,Cm,i.transactionUtilsService.isCoinbaseTransaction(t),i.transactionUtilsService.isTransferTransaction(t),i.transactionUtilsService.isCreateIdentityTransaction(t),i.transactionUtilsService.isEncryptedMessageTransaction(t),i.transactionUtilsService.isMessageTransaction(t))),g(1),V(" ",i.transactionUtilsService.getTransactionType(t)," "),g(1),S("ngIf",t.expanded)}}function w4(e,n){if(1&e&&(p(0,"div")(1,"div",25)(2,"h3",27),m(3),f(),p(4,"h2",28),m(5),f()(),p(6,"div",25)(7,"table",63)(8,"thead")(9,"tr")(10,"th"),m(11,"Time"),f(),p(12,"th",64),m(13,"Hash"),f(),p(14,"th"),m(15,"Inputs"),f(),p(16,"th"),m(17,"Outputs"),f(),p(18,"th"),m(19,"Type"),f()()(),p(20,"tbody"),I(21,D4,14,13,"ng-container",30),f()()()()),2&e){const t=T(2);g(3),V(" search result for ","txn_id"===t.resultType?"transaction id":"txn_hash"===t.resultType?"transaction hash":"",": "),g(2),V(" ",t.searchedId," "),g(16),S("ngForOf",t.result)}}function C4(e,n){if(1&e&&(p(0,"li")(1,"a",35),m(2),f()()),2&e){const t=n.$implicit;g(1),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id)}}function E4(e,n){if(1&e&&(p(0,"div",55)(1,"ul"),I(2,C4,3,2,"li",30),f()()),2&e){const t=T(2).$implicit;g(2),S("ngForOf",t.inputs)}}function T4(e,n){if(1&e&&(p(0,"div")(1,"div",56)(2,"p",51)(3,"a",71),m(4),f(),p(5,"button",52),m(6),f()()()()),2&e){const t=n.$implicit,i=T(7);g(3),U("href","/explorer?term=",t.to,"",W),S("ngClass",$n(4,bs,i.isSearchedItem(t.to))),g(1),V(" ",t.to," "),g(2),V("",t.value.toFixed(6)," YDA")}}function S4(e,n){if(1&e){const t=Ze();p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Inputs:"),f(),m(5),f(),p(6,"div",72)(7,"button",46),Z("click",function(){return Ue(t),Ge(T(6).toggleAccordion("inputsAccordion"))}),m(8,"Show Inputs"),f(),I(9,E4,3,1,"div",47),f(),p(10,"p")(11,"strong"),m(12,"Outputs:"),f(),m(13),f(),p(14,"div",73)(15,"div",49)(16,"div",50)(17,"p",51)(18,"a",71),m(19),f(),p(20,"button",52),m(21),f()()()(),p(22,"div",53),Ae(23,"img",54),f(),p(24,"div",49),I(25,T4,7,6,"div",30),f()()()()}if(2&e){const t=T().$implicit,i=T(5);g(5),V(" ",t.inputs.length,""),g(4),S("ngIf","inputsAccordion"===i.showAccordion),g(4),V(" ",t.outputs.length,""),g(5),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),S("ngClass",$n(8,bs,i.isSearchedItem(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to))),g(1),V(" ",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to," "),g(2),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function M4(e,n){if(1&e&&(p(0,"div")(1,"div",56)(2,"p",51)(3,"a",71),m(4),f(),p(5,"button",52),m(6),f()()()()),2&e){const t=n.$implicit,i=T(7);g(3),U("href","/explorer?term=",t.to,"",W),S("ngClass",$n(4,bs,i.isSearchedItem(t.to))),g(1),V(" ",t.to," "),g(2),V("",t.value.toFixed(6)," YDA")}}function I4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Outputs:"),f(),m(5),f(),p(6,"div",73)(7,"div",49)(8,"div",50)(9,"p",51),m(10," (Newly Generated Coins) "),p(11,"button",52),m(12),f()()()(),p(13,"div",53),Ae(14,"img",54),f(),p(15,"div",49),I(16,M4,7,6,"div",30),f()()()()),2&e){const t=T().$implicit,i=T(5);g(5),V(" ",t.outputs.length,""),g(7),V("",i.getTotalValue(t.outputs).toFixed(6)," YDA"),g(4),S("ngForOf",t.outputs)}}function N4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Relationship Identifier:"),f(),m(5),f(),p(6,"div",57)(7,"h4",58),m(8,"Relationship DATA:"),f(),p(9,"textarea",59),m(10),f()(),p(11,"div",73)(12,"div",82)(13,"div",56)(14,"button",74),m(15,"Newly created Address"),f(),p(16,"p",62)(17,"a",35),m(18),f()()()()()()()),2&e){const t=T().$implicit;g(5),V(" ",t.rid,""),g(5),A(t.relationship),g(7),U("href","/explorer?term=",null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to,"",W),g(1),A(null==t.outputs.slice(-1)[0]?null:t.outputs.slice(-1)[0].to)}}function O4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Relationship Identifier:"),f(),m(5),f(),p(6,"div",57)(7,"h4",58),m(8,"Relationship DATA:"),f(),p(9,"textarea",59),m(10),f()()()()),2&e){const t=T().$implicit;g(5),V(" ",t.rid,""),g(5),A(t.relationship)}}function x4(e,n){if(1&e&&(p(0,"div")(1,"div",43)(2,"p")(3,"strong"),m(4,"Relationship Identifier:"),f(),m(5),f(),p(6,"div",57)(7,"h4",58),m(8,"Relationship DATA:"),f(),p(9,"textarea",59),m(10),f()()()()),2&e){const t=T().$implicit;g(5),V(" ",t.rid,""),g(5),A(t.relationship)}}function A4(e,n){if(1&e&&(p(0,"div",43)(1,"p")(2,"strong"),m(3,"Transaction Hash: "),f(),p(4,"a",35),m(5),f()(),p(6,"p")(7,"strong"),m(8,"Transaction ID: "),f(),p(9,"a",35),m(10),f()(),p(11,"p")(12,"strong"),m(13,"Time: "),f(),m(14),f(),p(15,"p")(16,"strong"),m(17,"Fee: "),f(),m(18),f(),I(19,S4,26,10,"div",22),I(20,I4,17,3,"div",22),I(21,N4,19,4,"div",22),I(22,O4,11,2,"div",22),I(23,x4,11,2,"div",22),f()),2&e){const t=n.$implicit,i=T(5);g(4),U("href","/explorer?term=",t.hash,"",W),g(1),A(t.hash),g(4),U("href","/explorer?term=",t.id,"",W),g(1),A(t.id),g(4),V(" ",i.dateFormatService.formatTransactionTime(t.time),""),g(4),V(" ",t.fee," YDA"),g(1),S("ngIf",i.transactionUtilsService.isTransferTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCoinbaseTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isCreateIdentityTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isEncryptedMessageTransaction(t)),g(1),S("ngIf",i.transactionUtilsService.isMessageTransaction(t))}}function R4(e,n){if(1&e&&(p(0,"tr",68)(1,"td",80)(2,"h2",34),m(3,"Transactions in Block "),p(4,"a",35),m(5),f()(),I(6,A4,24,11,"div",81),f()()),2&e){const t=T().$implicit;g(4),U("href","/explorer?term=",t.index,"",W),g(1),A(t.index),g(1),S("ngForOf",t.transactions)}}function P4(e,n){if(1&e){const t=Ze();Zi(0),p(1,"tr",65),Z("click",function(){const o=Ue(t).$implicit;return Ge(T(3).toggleDetails(o))}),p(2,"td"),m(3),f(),p(4,"td"),m(5),f(),p(6,"td",64),m(7),f(),p(8,"td")(9,"button",66),m(10),f()()(),I(11,R4,7,3,"tr",67),Ji()}if(2&e){const t=n.$implicit,i=T(3);g(3),A(t.index),g(2),A(i.dateFormatService.formatTransactionTime(t.time)),g(2),A(t.hash),g(2),S("ngClass",ns(6,Cm,i.transactionUtilsService.isCoinbaseTransaction(t.transactions[0]),i.transactionUtilsService.isTransferTransaction(t.transactions[0]),i.transactionUtilsService.isCreateIdentityTransaction(t.transactions[0]),i.transactionUtilsService.isEncryptedMessageTransaction(t.transactions[0]),i.transactionUtilsService.isMessageTransaction(t.transactions[0]))),g(1),V(" ",i.transactionUtilsService.getTransactionType(t.transactions[0])," "),g(1),S("ngIf",t.expanded)}}function k4(e,n){if(1&e){const t=Ze();p(0,"li",83)(1,"a",84),Z("click",function(){const o=Ue(t).$implicit;return Ge(T(3).changePage(o))}),m(2),f()()}if(2&e){const t=n.$implicit;me("active",t===T(3).currentPage),g(2),A(t)}}function F4(e,n){if(1&e){const t=Ze();p(0,"div")(1,"div",25)(2,"h3",27),m(3),f(),p(4,"h2",28),m(5),f()(),p(6,"div",25)(7,"table",63)(8,"thead")(9,"tr")(10,"th"),m(11,"Block Index"),f(),p(12,"th"),m(13,"Time"),f(),p(14,"th",64),m(15,"Hash"),f(),p(16,"th"),m(17,"Type"),f()()(),p(18,"tbody"),I(19,P4,12,12,"ng-container",30),f()(),p(20,"ul",75),I(21,k4,3,3,"li",76),f(),p(22,"div",77)(23,"input",78),Z("ngModelChange",function(r){return Ue(t),Ge(T(2).targetPage=r)}),f(),p(24,"button",79),Z("click",function(){return Ue(t),Ge(T(2).goToPage())}),m(25,"Go"),f()()()()}if(2&e){const t=T(2);g(3),V(" Search result for ","txn_outputs_to"===t.resultType?"transaction outputs to":"",": "),g(2),V(" ",t.searchedId," "),g(14),S("ngForOf",t.paginatedResult),g(2),S("ngForOf",t.visiblePages),g(2),tu("max",t.calculateTotalPages.length),S("ngModel",t.targetPage)}}function L4(e,n){if(1&e&&(p(0,"div"),I(1,z$,4,0,"ng-container",22),I(2,u4,8,3,"div",22),I(3,w4,22,3,"div",22),I(4,F4,26,6,"div",22),f()),2&e){const t=T();g(1),S("ngIf",!t.result||t.result&&0===t.result.length),g(1),S("ngIf",("block_height"===t.resultType||"block_hash"===t.resultType||"block_id"===t.resultType)&&t.result&&t.result.length>0),g(1),S("ngIf",("txn_id"===t.resultType||"txn_hash"===t.resultType)&&t.result&&t.result.length>0),g(1),S("ngIf","txn_outputs_to"===t.resultType&&t.result&&t.result.length>0)}}function V4(e,n){1&e&&Ae(0,"app-latest-blocks")}function B4(e,n){1&e&&Ae(0,"app-address-balance")}function j4(e,n){1&e&&Ae(0,"app-mempool")}let kT=(()=>{class e{constructor(t,i,r,o){this.httpClient=t,this.route=i,this.dateFormatService=r,this.transactionUtilsService=o,this.title="explorer",this.model=new AT,this.result=[],this.searchedId="",this.searchedHash="",this.blocks=[],this.showBlockTransactions=!1,this.showBlockTransactionDetails=[[]],this.resultType="",this.balance=0,this.searching=!1,this.submitted=!1,this.current_height="",this.circulating="",this.hashrate="",this.difficulty="",this.selectedOption="Main Page",this.showAccordion=null,this.isCollapsed=!0,this.paginatedResult=[],this.currentPage=1,this.itemsPerPage=10,this.maxVisiblePages=10,this.visiblePages=[],this.prevResultLength=0,this.prevCurrentPage=0,this.targetPage=1,this.isCalculatingTotalPages=!1,this.httpClient.get("/api-stats").subscribe(s=>{this.difficulty=this.numberWithCommas(s.stats.difficulty),this.hashrate=this.formatHashrate(s.stats.network_hash_rate),this.current_height=this.numberWithCommas(s.stats.height),this.circulating=this.numberWithCommas(s.stats.circulating)},s=>{console.error("Error fetching API stats:",s),alert("Something went wrong while fetching API stats!")}),this.route.queryParams.subscribe(s=>{const a=s.term;a&&(this.model=new AT({term:a}),this.onSubmit(),this.selectedOption="SearchResults")}),window.location.search&&(this.searching=!0,this.submitted=!0,this.httpClient.get("/explorer-search"+window.location.search).subscribe(s=>{this.result=s.result||[],this.resultType=s.resultType,this.balance=s.balance,this.searchedId=s.searchedId,this.searchedHash=s.searchedHash,this.searching=!1,this.selectedOption="SearchResults",this.paginate(),this.updateVisiblePages()},s=>{console.error("Error fetching explorer search:",s),alert("Something went wrong while fetching explorer search results!")}))}ngOnInit(){}onSubmit(){this.searching=!0,this.submitted=!0;const i=`/explorer-search?term=${encodeURIComponent(this.model.term)}`;this.httpClient.get(i).subscribe(r=>{this.result=r.result||[],this.resultType=r.resultType,this.balance=r.balance,this.searchedId=r.searchedId,this.searchedHash=r.searchedHash,this.searching=!1,this.selectedOption="SearchResults",this.paginate(),this.updateVisiblePages(),this.selectedOption="SearchResults"},r=>{console.error("Error fetching explorer search:",r),alert("Something went wrong while fetching explorer search results!"),this.searching=!1})}showBlockDetails(t){console.log("Clicked block:",t),this.selectedBlock=t}toggleAccordion(t){this.showAccordion=this.showAccordion===t?null:t}toggleDetails(t){if(t.expanded)t.expanded=!1;else{this.blocks.forEach(r=>r.expanded=!1),t.expanded=!0;const i=this.blocks.indexOf(t);this.showBlockTransactionDetails[i]=this.showBlockTransactionDetails[i]||[],this.selectedBlock=t}}showTransactions(){this.showBlockTransactions=!this.showBlockTransactions,this.showBlockTransactionDetails=[]}showTransactionDetails(t,i){console.log("Clicked transaction:",t,i),this.showBlockTransactionDetails[t]||(this.showBlockTransactionDetails[t]=[]),this.showBlockTransactionDetails[t][i]=!this.showBlockTransactionDetails[t][i]}numberWithCommas(t){return t.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")}formatHashrate(t){return t<1e3?`${t.toFixed(0)} h/s`:t<1e6?`${(t/1e3).toFixed(2)} kh/s`:`${(t/1e6).toFixed(2)} mh/s`}calculateAge(t){const i=(new Date).getTime(),r=new Date(1e3*t).getTime();console.log("Current Time:",new Date(i)),console.log("Block Time:",new Date(r));const o=i-r,s=Math.floor(o/6e4);return console.log("Difference:",o),console.log("Age in Minutes:",s),s<60?`${s} minutes ago`:`${Math.floor(s/60)} hours ago`}getTotalValue(t){return t.reduce((i,r)=>i+r.value,0)}selectOption(t){this.selectedOption=t}logButtonClick(){console.log("Button clicked!")}isSearchedItem(t){return t.toLowerCase()===this.searchedId.toLowerCase()}paginate(){const t=(this.currentPage-1)*this.itemsPerPage;this.paginatedResult=this.result.slice(t,t+this.itemsPerPage)}changePage(t){this.currentPage=+t,this.paginate(),(this.result.length!==this.prevResultLength||this.currentPage!==this.prevCurrentPage)&&(this.updateVisiblePages(),this.prevResultLength=this.result.length,this.prevCurrentPage=this.currentPage)}get calculateTotalPages(){const t=Math.ceil(this.result.length/this.itemsPerPage);return Array.from({length:t},(i,r)=>r+1)}updateVisiblePages(){console.log("Entering updateVisiblePages");const t=this.calculateTotalPages.length;let i=[1];if(t<=this.maxVisiblePages)i=i.concat(this.calculateTotalPages.slice(1));else{const r=Math.floor((this.maxVisiblePages-3)/2);let o=Math.max(2,this.currentPage-r),s=Math.min(o+this.maxVisiblePages-4,t-1);s===t-1&&(o=Math.max(2,t-this.maxVisiblePages+3)),o>2&&i.push("..."),i=i.concat(Array.from({length:s-o+1},(a,l)=>o+l)),s=1&&this.targetPage<=this.calculateTotalPages.length&&(this.changePage(this.targetPage),this.targetPage=this.currentPage)}static#e=this.\u0275fac=function(i){return new(i||e)(b(Wa),b($r),b(Ju),b(Xu))};static#t=this.\u0275cmp=kt({type:e,selectors:[["app-root"]],decls:67,vars:16,consts:[[1,"content"],[1,"navbar","navbar-expand-lg","navbar-dark","bg-dark"],["src","yadacoinstatic/explorer/assets/yadalogo.png","alt","Yadacoin Logo",1,"logo"],["href","#",1,"navbar-brand",3,"click"],["type","button","data-toggle","collapse","data-target","#navbarNav","aria-controls","navbarNav","aria-expanded","false","aria-label","Toggle navigation",1,"navbar-toggler",3,"click"],[1,"navbar-toggler-icon"],["id","navbarNav",1,"collapse","navbar-collapse"],[1,"navbar-nav"],[1,"nav-item"],["href","#",1,"nav-link",3,"click"],[1,"form-inline","ml-auto",3,"ngSubmit"],["searchForm","ngForm"],["name","term","placeholder","Wallet address, Transaction Id, Block height, Block hash...",1,"form-control",3,"ngModel","ngModelChange"],["type","submit",1,"btn","btn-success"],[1,"container-fluid"],[1,"row"],[1,"col-12","col-md-6","col-lg-3"],[1,"result-box"],["src","yadacoinstatic/explorer/assets/network-height.png","alt","Network Height",1,"watermark"],["src","yadacoinstatic/explorer/assets/hashrate.png","alt","Network Hashrate",1,"watermark"],["src","yadacoinstatic/explorer/assets/difficulty.png","alt","Network Difficulty",1,"watermark"],["src","yadacoinstatic/explorer/assets/circulating-supply.png","alt","Circulating Supply",1,"watermark"],[4,"ngIf"],[1,"footer","fixed-bottom"],[2,"text-transform","uppercase","margin","20px","margin-top","25px","text-align","center"],[1,"blocks-container"],[2,"text-transform","uppercase","margin","20px","margin-top","25px","color","red"],[2,"text-transform","uppercase","margin","20px","margin-top","25px"],[2,"margin","20px","margin-top","10px","word-break","break-word"],[2,"list-style-type","none","padding","0","margin","0"],[4,"ngFor","ngForOf"],[1,"block-details"],["class","previous-button",3,"href",4,"ngIf"],["class","next-button",3,"href",4,"ngIf"],[2,"text-transform","uppercase","margin","20px","margin-top","10px"],[3,"href"],[2,"text-transform","uppercase","margin","20px","margin-top","20px"],[1,"previous-button",3,"href"],[1,"bi","bi-arrow-left"],[1,"next-button",3,"href"],[1,"bi","bi-arrow-right"],[1,"transaction-container"],[1,"transaction-type-button",3,"ngClass","click"],[1,"transaction-details"],[1,"col-md-12"],[1,"input-section",2,"width","100%","display","inline-block","margin-top","5px"],[1,"accordion",3,"click"],["class","panel",4,"ngIf"],[1,"row","in-section",2,"margin-top","5px"],[1,"col-md-5"],[1,"transfer-in-info-box"],[2,"margin-left","10px"],[1,"transaction-value-button"],[1,"col-md-2","text-center"],["src","yadacoinstatic/explorer/assets/arrow-right.png","alt","Arrow Right",1,"arrow-icon"],[1,"panel"],[1,"transfer-out-info-box"],[1,"relationship-data-box"],[2,"text-transform","uppercase","margin","10px"],["rows","4","readonly","",2,"width","98%"],[1,"col-md-6"],[1,"transaction-type-button","create-identity"],[2,"margin-left","15px"],[1,"blocks-table"],[1,"hash-column"],[3,"click"],[1,"transaction-type-button",3,"ngClass"],["class","expanded-row",4,"ngIf"],[1,"expanded-row"],["colspan","5"],[2,"text-transform","uppercase","margin-top","10px"],[3,"ngClass","href"],[1,"input-section"],[1,"row","in-section"],[1,"transaction-type-button","create-identity",2,"margin-bottom","10px","margin-left","10px"],[1,"pagination"],["class","page-item",3,"active",4,"ngFor","ngForOf"],[1,"page-input"],["type","number","placeholder","Go to page","min","1",3,"ngModel","max","ngModelChange"],[1,"go-button",3,"click"],["colspan","4"],["class","transaction-details",4,"ngFor","ngForOf"],[1,"col-md-4"],[1,"page-item"],[1,"page-link",3,"click"]],template:function(i,r){1&i&&(p(0,"body")(1,"div",0)(2,"nav",1),Ae(3,"img",2),p(4,"a",3),Z("click",function(){return r.selectOption("Main Page")}),m(5,"Yadacoin Explorer"),f(),p(6,"button",4),Z("click",function(){return r.logButtonClick()}),Ae(7,"span",5),f(),p(8,"div",6)(9,"ul",7)(10,"li",8)(11,"a",9),Z("click",function(){return r.selectOption("Latest Blocks")}),m(12,"Latest Blocks"),f()(),p(13,"li",8)(14,"a",9),Z("click",function(){return r.selectOption("Mempool")}),m(15,"Mempool"),f()(),p(16,"li",8)(17,"a",9),Z("click",function(){return r.selectOption("Address Balance")}),m(18,"Address Balance"),f()()(),p(19,"form",10,11),Z("ngSubmit",function(){return r.onSubmit()}),p(21,"input",12),Z("ngModelChange",function(s){return r.model.term=s}),f(),p(22,"button",13),m(23,"Search"),f()()()(),p(24,"div",14)(25,"div",15)(26,"div",16)(27,"div",17),Ae(28,"img",18),p(29,"h5"),m(30,"Network Height"),f(),p(31,"h3"),m(32),lu(33,"replaceComma"),f()()(),p(34,"div",16)(35,"div",17),Ae(36,"img",19),p(37,"h5"),m(38,"Network Hashrate"),f(),p(39,"h3"),m(40),f()()(),p(41,"div",16)(42,"div",17),Ae(43,"img",20),p(44,"h5"),m(45,"Network Difficulty"),f(),p(46,"h3"),m(47),lu(48,"replaceComma"),f()()(),p(49,"div",16)(50,"div",17),Ae(51,"img",21),p(52,"h5"),m(53,"Circulating Supply"),f(),p(54,"h3"),m(55),lu(56,"replaceComma"),f()()()()(),I(57,G$,7,0,"div",22),I(58,L4,5,4,"div",22),I(59,V4,1,0,"app-latest-blocks",22),I(60,B4,1,0,"app-address-balance",22),I(61,j4,1,0,"app-mempool",22),f(),p(62,"footer",23)(63,"p"),m(64,"YdaCoin Explorer v0.2.0 dev | by Rakni for YadaCoin 2024"),f(),p(65,"p"),m(66,"Donation Address YADA: 1Hx9hETwiuwFnXQ715bMBTahcjgF6DNhHL"),f()()()),2&i&&(g(21),S("ngModel",r.model.term),g(11),A(cu(33,10,r.current_height)),g(8),A(r.hashrate),g(7),A(cu(48,12,r.difficulty)),g(8),V("",cu(56,14,r.circulating)," YDA"),g(2),S("ngIf","Main Page"===r.selectedOption),g(1),S("ngIf","SearchResults"===r.selectedOption),g(1),S("ngIf","Latest Blocks"===r.selectedOption),g(1),S("ngIf","Address Balance"===r.selectedOption),g(1),S("ngIf","Mempool"===r.selectedOption))},dependencies:[xu,qn,Yn,sE,Ya,Ug,Rg,WC,Xg,Jg,Zu,Yu,RT,PT,$$,U$],styles:["body[_ngcontent-%COMP%]{background-color:silver;margin:30px 5%;color:#303030}.content[_ngcontent-%COMP%]{margin-bottom:5%}.logo[_ngcontent-%COMP%]{width:50px;height:auto;margin-right:10px;margin-left:10px}.form-inline[_ngcontent-%COMP%]{width:100%;display:flex;justify-content:space-between;margin-left:10px;margin-top:5px}.form-control[_ngcontent-%COMP%]{flex:1}.btn[_ngcontent-%COMP%]{margin-left:10px;margin-right:20px}.navbar-nav[_ngcontent-%COMP%] .nav-item[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}.navbar-nav[_ngcontent-%COMP%]{margin-left:auto}.navbar-nav[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]{padding:.5rem 1rem}.navbar-nav[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]:hover{background-color:#ffffff1a}.navbar-toggler[_ngcontent-%COMP%]{margin-right:15px}.result-box[_ngcontent-%COMP%]{padding:10px;margin-right:10px;margin-top:20px;border-radius:5px;color:#fff;text-align:left;position:relative;background-color:#343a40}.result-box[_ngcontent-%COMP%] h5[_ngcontent-%COMP%], .result-box[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:10px;text-transform:uppercase;position:relative;z-index:1}.result-box[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-size:24px;font-weight:700}.watermark[_ngcontent-%COMP%]{width:auto;height:95%;object-fit:contain;position:absolute;top:0;right:0;z-index:0}.footer[_ngcontent-%COMP%]{background-color:#1f2428;color:#fff;padding:2px;text-align:center;position:fixed;bottom:0;font-size:12px}.pagination[_ngcontent-%COMP%]{margin-top:20px;cursor:pointer}.go-button[_ngcontent-%COMP%]{margin-left:5px;border:none;border-radius:3px;cursor:pointer;opacity:.7;transition:background-color .3s;background-color:#1e87cf}.footer[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:2px 0}"]})}return e})();const H4=[{path:"",component:kT},{path:"mempool",component:RT},{path:"address-balance",component:PT},{path:"**",redirectTo:"/"}];let $4=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({imports:[OT.forRoot(H4),OT]})}return e})();const U4=["addListener","removeListener"],G4=["addEventListener","removeEventListener"],z4=["on","off"];function At(e,n,t,i){if(se(t)&&(i=t,t=void 0),i)return At(e,n,t).pipe(Ng(i));const[r,o]=function Y4(e){return se(e.addEventListener)&&se(e.removeEventListener)}(e)?G4.map(s=>a=>e[s](n,a,t)):function W4(e){return se(e.addListener)&&se(e.removeListener)}(e)?U4.map(FT(e,n)):function q4(e){return se(e.on)&&se(e.off)}(e)?z4.map(FT(e,n)):[];if(!r&&nf(e))return ht(s=>At(s,n,t))(ft(e));if(!r)throw new TypeError("Invalid event target");return new Ce(s=>{const a=(...l)=>s.next(1o(a)})}function FT(e,n){return t=>i=>e[t](n,i)}class Z4 extends nt{constructor(n,t){super()}schedule(n,t=0){return this}}const md={setInterval(e,n,...t){const{delegate:i}=md;return i?.setInterval?i.setInterval(e,n,...t):setInterval(e,n,...t)},clearInterval(e){const{delegate:n}=md;return(n?.clearInterval||clearInterval)(e)},delegate:void 0},LT={now:()=>(LT.delegate||Date).now(),delegate:void 0};class _l{constructor(n,t=_l.now){this.schedulerActionCtor=n,this.now=t}schedule(n,t=0,i){return new this.schedulerActionCtor(this,n).schedule(i,t)}}_l.now=LT.now;const Q4=new class X4 extends _l{constructor(n,t=_l.now){super(n,t),this.actions=[],this._active=!1}flush(n){const{actions:t}=this;if(this._active)return void t.push(n);let i;this._active=!0;do{if(i=n.execute(n.state,n.delay))break}while(n=t.shift());if(this._active=!1,i){for(;n=t.shift();)n.unsubscribe();throw i}}}(class J4 extends Z4{constructor(n,t){super(n,t),this.scheduler=n,this.work=t,this.pending=!1}schedule(n,t=0){var i;if(this.closed)return this;this.state=n;const r=this.id,o=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(o,r,t)),this.pending=!0,this.delay=t,this.id=null!==(i=this.id)&&void 0!==i?i:this.requestAsyncId(o,this.id,t),this}requestAsyncId(n,t,i=0){return md.setInterval(n.flush.bind(n,this),i)}recycleAsyncId(n,t,i=0){if(null!=i&&this.delay===i&&!1===this.pending)return t;null!=t&&md.clearInterval(t)}execute(n,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(n,t);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(n,t){let r,i=!1;try{this.work(n)}catch(o){i=!0,r=o||new Error("Scheduled action threw falsy error")}if(i)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){const{id:n,scheduler:t}=this,{actions:i}=t;this.work=this.state=this.scheduler=null,this.pending=!1,Vi(i,this),null!=n&&(this.id=this.recycleAsyncId(t,n,null)),this.delay=null,super.unsubscribe()}}});const{isArray:e5}=Array;function jT(e){return 1===e.length&&e5(e[0])?e[0]:e}function Em(...e){const n=Ul(e),t=jT(e);return t.length?new Ce(i=>{let r=t.map(()=>[]),o=t.map(()=>!1);i.add(()=>{r=o=null});for(let s=0;!i.closed&&s{if(r[s].push(a),r.every(l=>l.length)){const l=r.map(c=>c.shift());i.next(n?n(...l):l),r.some((c,u)=>!c.length&&o[u])&&i.complete()}},()=>{o[s]=!0,!r[s].length&&i.complete()}));return()=>{r=o=null}}):bn}function Tm(...e){const n=Ul(e);return qe((t,i)=>{const r=e.length,o=new Array(r);let s=e.map(()=>!1),a=!1;for(let l=0;l{o[l]=c,!a&&!s[l]&&(s[l]=!0,(a=s.every(kn))&&(s=null))},pr));t.subscribe(Ve(i,l=>{if(a){const c=[l,...o];i.next(n?n(...c):c)}}))})}Math,Math,Math;const A8=["*"],lU=["dialog"];function zr(e){return"string"==typeof e}function Wr(e){return null!=e}function Ss(e){return(e||document.body).getBoundingClientRect()}const yS={animation:!0,transitionTimerDelayMs:5},eG=()=>{},{transitionTimerDelayMs:tG}=yS,Tl=new Map,an=(e,n,t,i)=>{let r=i.context||{};const o=Tl.get(n);if(o)switch(i.runningTransition){case"continue":return bn;case"stop":e.run(()=>o.transition$.complete()),r=Object.assign(o.context,r),Tl.delete(n)}const s=t(n,i.animation,r)||eG;if(!i.animation||"none"===window.getComputedStyle(n).transitionProperty)return e.run(()=>s()),J(void 0).pipe(function QU(e){return n=>new Ce(t=>n.subscribe({next:s=>e.run(()=>t.next(s)),error:s=>e.run(()=>t.error(s)),complete:()=>e.run(()=>t.complete())}))}(e));const a=new Ee,l=new Ee,c=a.pipe(function n5(...e){return n=>el(n,J(...e))}(!0));Tl.set(n,{transition$:a,complete:()=>{l.next(),l.complete()},context:r});const u=function KU(e){const{transitionDelay:n,transitionDuration:t}=window.getComputedStyle(e);return 1e3*(parseFloat(n)+parseFloat(t))}(n);return e.runOutsideAngular(()=>{const d=At(n,"transitionend").pipe(et(c),vt(({target:_})=>_===n));(function HT(...e){return 1===(e=jT(e)).length?ft(e[0]):new Ce(function t5(e){return n=>{let t=[];for(let i=0;t&&!n.closed&&i{if(t){for(let o=0;o{let o=function K4(e){return e instanceof Date&&!isNaN(e)}(e)?+e-t.now():e;o<0&&(o=0);let s=0;return t.schedule(function(){r.closed||(r.next(s++),0<=i?this.schedule(void 0,i):r.complete())},o)})}(u+tG).pipe(et(c)),d,l).pipe(et(c)).subscribe(()=>{Tl.delete(n),e.run(()=>{s(),a.next(),a.complete()})})}),a.asObservable()};let Ed=(()=>{class e{constructor(){this.animation=yS.animation}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),IS=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),NS=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),AS=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),zm=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})();var Le=function(e){return e[e.Tab=9]="Tab",e[e.Enter=13]="Enter",e[e.Escape=27]="Escape",e[e.Space=32]="Space",e[e.PageUp=33]="PageUp",e[e.PageDown=34]="PageDown",e[e.End=35]="End",e[e.Home=36]="Home",e[e.ArrowLeft=37]="ArrowLeft",e[e.ArrowUp=38]="ArrowUp",e[e.ArrowRight=39]="ArrowRight",e[e.ArrowDown=40]="ArrowDown",e}(Le||{});typeof navigator<"u"&&navigator.userAgent&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||/Macintosh/.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2||/Android/.test(navigator.userAgent));const BS=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");function jS(e){const n=Array.from(e.querySelectorAll(BS)).filter(t=>-1!==t.tabIndex);return[n[0],n[n.length-1]]}new Date(1882,10,12),new Date(2174,10,25);let KS=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),nM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})();class Xr{constructor(n,t,i){this.nodes=n,this.viewRef=t,this.componentRef=i}}let e6=(()=>{class e{constructor(t,i){this._el=t,this._zone=i}ngOnInit(){this._zone.onStable.asObservable().pipe(xt(1)).subscribe(()=>{an(this._zone,this._el.nativeElement,(t,i)=>{i&&Ss(t),t.classList.add("show")},{animation:this.animation,runningTransition:"continue"})})}hide(){return an(this._zone,this._el.nativeElement,({classList:t})=>t.remove("show"),{animation:this.animation,runningTransition:"stop"})}static#e=this.\u0275fac=function(i){return new(i||e)(b(Se),b(fe))};static#t=this.\u0275cmp=kt({type:e,selectors:[["ngb-modal-backdrop"]],hostAttrs:[2,"z-index","1055"],hostVars:6,hostBindings:function(i,r){2&i&&(Ir("modal-backdrop"+(r.backdropClass?" "+r.backdropClass:"")),me("show",!r.animation)("fade",r.animation))},inputs:{animation:"animation",backdropClass:"backdropClass"},standalone:!0,features:[In],decls:0,vars:0,template:function(i,r){},encapsulation:2})}return e})();class iM{update(n){}close(n){}dismiss(n){}}const t6=["animation","ariaLabelledBy","ariaDescribedBy","backdrop","centered","fullscreen","keyboard","scrollable","size","windowClass","modalDialogClass"],n6=["animation","backdropClass"];class i6{_applyWindowOptions(n,t){t6.forEach(i=>{Wr(t[i])&&(n[i]=t[i])})}_applyBackdropOptions(n,t){n6.forEach(i=>{Wr(t[i])&&(n[i]=t[i])})}update(n){this._applyWindowOptions(this._windowCmptRef.instance,n),this._backdropCmptRef&&this._backdropCmptRef.instance&&this._applyBackdropOptions(this._backdropCmptRef.instance,n)}get componentInstance(){if(this._contentRef&&this._contentRef.componentRef)return this._contentRef.componentRef.instance}get closed(){return this._closed.asObservable().pipe(et(this._hidden))}get dismissed(){return this._dismissed.asObservable().pipe(et(this._hidden))}get hidden(){return this._hidden.asObservable()}get shown(){return this._windowCmptRef.instance.shown.asObservable()}constructor(n,t,i,r){this._windowCmptRef=n,this._contentRef=t,this._backdropCmptRef=i,this._beforeDismiss=r,this._closed=new Ee,this._dismissed=new Ee,this._hidden=new Ee,n.instance.dismissEvent.subscribe(o=>{this.dismiss(o)}),this.result=new Promise((o,s)=>{this._resolve=o,this._reject=s}),this.result.then(null,()=>{})}close(n){this._windowCmptRef&&(this._closed.next(n),this._resolve(n),this._removeModalElements())}_dismiss(n){this._dismissed.next(n),this._reject(n),this._removeModalElements()}dismiss(n){if(this._windowCmptRef)if(this._beforeDismiss){const t=this._beforeDismiss();!function mS(e){return e&&e.then}(t)?!1!==t&&this._dismiss(n):t.then(i=>{!1!==i&&this._dismiss(n)},()=>{})}else this._dismiss(n)}_removeModalElements(){const n=this._windowCmptRef.instance.hide(),t=this._backdropCmptRef?this._backdropCmptRef.instance.hide():J(void 0);n.subscribe(()=>{const{nativeElement:i}=this._windowCmptRef.location;i.parentNode.removeChild(i),this._windowCmptRef.destroy(),this._contentRef&&this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._windowCmptRef=null,this._contentRef=null}),t.subscribe(()=>{if(this._backdropCmptRef){const{nativeElement:i}=this._backdropCmptRef.location;i.parentNode.removeChild(i),this._backdropCmptRef.destroy(),this._backdropCmptRef=null}}),Em(n,t).subscribe(()=>{this._hidden.next(),this._hidden.complete()})}}var e_=function(e){return e[e.BACKDROP_CLICK=0]="BACKDROP_CLICK",e[e.ESC=1]="ESC",e}(e_||{});let r6=(()=>{class e{constructor(t,i,r){this._document=t,this._elRef=i,this._zone=r,this._closed$=new Ee,this._elWithFocus=null,this.backdrop=!0,this.keyboard=!0,this.dismissEvent=new Y,this.shown=new Ee,this.hidden=new Ee}get fullscreenClass(){return!0===this.fullscreen?" modal-fullscreen":zr(this.fullscreen)?` modal-fullscreen-${this.fullscreen}-down`:""}dismiss(t){this.dismissEvent.emit(t)}ngOnInit(){this._elWithFocus=this._document.activeElement,this._zone.onStable.asObservable().pipe(xt(1)).subscribe(()=>{this._show()})}ngOnDestroy(){this._disableEventHandling()}hide(){const{nativeElement:t}=this._elRef,i={animation:this.animation,runningTransition:"stop"},s=Em(an(this._zone,t,()=>t.classList.remove("show"),i),an(this._zone,this._dialogEl.nativeElement,()=>{},i));return s.subscribe(()=>{this.hidden.next(),this.hidden.complete()}),this._disableEventHandling(),this._restoreFocus(),s}_show(){const t={animation:this.animation,runningTransition:"continue"};Em(an(this._zone,this._elRef.nativeElement,(o,s)=>{s&&Ss(o),o.classList.add("show")},t),an(this._zone,this._dialogEl.nativeElement,()=>{},t)).subscribe(()=>{this.shown.next(),this.shown.complete()}),this._enableEventHandling(),this._setFocus()}_enableEventHandling(){const{nativeElement:t}=this._elRef;this._zone.runOutsideAngular(()=>{At(t,"keydown").pipe(et(this._closed$),vt(r=>r.which===Le.Escape)).subscribe(r=>{this.keyboard?requestAnimationFrame(()=>{r.defaultPrevented||this._zone.run(()=>this.dismiss(e_.ESC))}):"static"===this.backdrop&&this._bumpBackdrop()});let i=!1;At(this._dialogEl.nativeElement,"mousedown").pipe(et(this._closed$),wt(()=>i=!1),wn(()=>At(t,"mouseup").pipe(et(this._closed$),xt(1))),vt(({target:r})=>t===r)).subscribe(()=>{i=!0}),At(t,"click").pipe(et(this._closed$)).subscribe(({target:r})=>{t===r&&("static"===this.backdrop?this._bumpBackdrop():!0===this.backdrop&&!i&&this._zone.run(()=>this.dismiss(e_.BACKDROP_CLICK))),i=!1})})}_disableEventHandling(){this._closed$.next()}_setFocus(){const{nativeElement:t}=this._elRef;if(!t.contains(document.activeElement)){const i=t.querySelector("[ngbAutofocus]"),r=jS(t)[0];(i||r||t).focus()}}_restoreFocus(){const t=this._document.body,i=this._elWithFocus;let r;r=i&&i.focus&&t.contains(i)?i:t,this._zone.runOutsideAngular(()=>{setTimeout(()=>r.focus()),this._elWithFocus=null})}_bumpBackdrop(){"static"===this.backdrop&&an(this._zone,this._elRef.nativeElement,({classList:t})=>(t.add("modal-static"),()=>t.remove("modal-static")),{animation:this.animation,runningTransition:"continue"})}static#e=this.\u0275fac=function(i){return new(i||e)(b(ut),b(Se),b(fe))};static#t=this.\u0275cmp=kt({type:e,selectors:[["ngb-modal-window"]],viewQuery:function(i,r){if(1&i&&xr(lU,7),2&i){let o;Re(o=function Pe(){return function hk(e,n){return e[ri].queries[n].queryList}(O(),Mv())}())&&(r._dialogEl=o.first)}},hostAttrs:["role","dialog","tabindex","-1"],hostVars:7,hostBindings:function(i,r){2&i&&(Ie("aria-modal",!0)("aria-labelledby",r.ariaLabelledBy)("aria-describedby",r.ariaDescribedBy),Ir("modal d-block"+(r.windowClass?" "+r.windowClass:"")),me("fade",r.animation))},inputs:{animation:"animation",ariaLabelledBy:"ariaLabelledBy",ariaDescribedBy:"ariaDescribedBy",backdrop:"backdrop",centered:"centered",fullscreen:"fullscreen",keyboard:"keyboard",scrollable:"scrollable",size:"size",windowClass:"windowClass",modalDialogClass:"modalDialogClass"},outputs:{dismissEvent:"dismiss"},standalone:!0,features:[In],ngContentSelectors:A8,decls:4,vars:2,consts:[["role","document"],["dialog",""],[1,"modal-content"]],template:function(i,r){1&i&&(function T0(e){const n=O()[ot][Ft];if(!n.projection){const i=n.projection=ia(e?e.length:1,null),r=i.slice();let o=n.child;for(;null!==o;){const s=e?LR(o,e):0;null!==s&&(r[s]?r[s].projectionNext=o:i[s]=o,r[s]=o),o=o.next}}}(),p(0,"div",0,1)(2,"div",2),function S0(e,n=0,t){const i=O(),r=pe(),o=Uo(r,ue+e,16,null,t||null);null===o.projection&&(o.projection=n),Rf(),(!i[Ei]||yo())&&32!=(32&o.flags)&&function VO(e,n,t){Ny(n[ne],0,n,t,sh(e,t,n),Cy(t.parent||n[Ft],t,n))}(r,i,o)}(3),f()()),2&i&&Ir("modal-dialog"+(r.size?" modal-"+r.size:"")+(r.centered?" modal-dialog-centered":"")+r.fullscreenClass+(r.scrollable?" modal-dialog-scrollable":"")+(r.modalDialogClass?" "+r.modalDialogClass:""))},styles:["ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}\n"],encapsulation:2})}return e})(),o6=(()=>{class e{constructor(t){this._document=t}hide(){const t=Math.abs(window.innerWidth-this._document.documentElement.clientWidth),i=this._document.body,r=i.style,{overflow:o,paddingRight:s}=r;if(t>0){const a=parseFloat(window.getComputedStyle(i).paddingRight);r.paddingRight=`${a+t}px`}return r.overflow="hidden",()=>{t>0&&(r.paddingRight=s),r.overflow=o}}static#e=this.\u0275fac=function(i){return new(i||e)(H(ut))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),s6=(()=>{class e{constructor(t,i,r,o,s,a,l){this._applicationRef=t,this._injector=i,this._environmentInjector=r,this._document=o,this._scrollBar=s,this._rendererFactory=a,this._ngZone=l,this._activeWindowCmptHasChanged=new Ee,this._ariaHiddenValues=new Map,this._scrollBarRestoreFn=null,this._modalRefs=[],this._windowCmpts=[],this._activeInstances=new Y,this._activeWindowCmptHasChanged.subscribe(()=>{if(this._windowCmpts.length){const c=this._windowCmpts[this._windowCmpts.length-1];((e,n,t,i=!1)=>{e.runOutsideAngular(()=>{const r=At(n,"focusin").pipe(et(t),ae(o=>o.target));At(n,"keydown").pipe(et(t),vt(o=>o.which===Le.Tab),Tm(r)).subscribe(([o,s])=>{const[a,l]=jS(n);(s===a||s===n)&&o.shiftKey&&(l.focus(),o.preventDefault()),s===l&&!o.shiftKey&&(a.focus(),o.preventDefault())}),i&&At(n,"click").pipe(et(t),Tm(r),ae(o=>o[1])).subscribe(o=>o.focus())})})(this._ngZone,c.location.nativeElement,this._activeWindowCmptHasChanged),this._revertAriaHidden(),this._setAriaHidden(c.location.nativeElement)}})}_restoreScrollBar(){const t=this._scrollBarRestoreFn;t&&(this._scrollBarRestoreFn=null,t())}_hideScrollBar(){this._scrollBarRestoreFn||(this._scrollBarRestoreFn=this._scrollBar.hide())}open(t,i,r){const o=r.container instanceof HTMLElement?r.container:Wr(r.container)?this._document.querySelector(r.container):this._document.body,s=this._rendererFactory.createRenderer(null,null);if(!o)throw new Error(`The specified modal container "${r.container||"body"}" was not found in the DOM.`);this._hideScrollBar();const a=new iM,l=(t=r.injector||t).get(zt,null)||this._environmentInjector,c=this._getContentRef(t,l,i,a,r);let u=!1!==r.backdrop?this._attachBackdrop(o):void 0,d=this._attachWindowComponent(o,c.nodes),h=new i6(d,c,u,r.beforeDismiss);return this._registerModalRef(h),this._registerWindowCmpt(d),h.hidden.pipe(xt(1)).subscribe(()=>Promise.resolve(!0).then(()=>{this._modalRefs.length||(s.removeClass(this._document.body,"modal-open"),this._restoreScrollBar(),this._revertAriaHidden())})),a.close=_=>{h.close(_)},a.dismiss=_=>{h.dismiss(_)},a.update=_=>{h.update(_)},h.update(r),1===this._modalRefs.length&&s.addClass(this._document.body,"modal-open"),u&&u.instance&&u.changeDetectorRef.detectChanges(),d.changeDetectorRef.detectChanges(),h}get activeInstances(){return this._activeInstances}dismissAll(t){this._modalRefs.forEach(i=>i.dismiss(t))}hasOpenModals(){return this._modalRefs.length>0}_attachBackdrop(t){let i=Zp(e6,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector});return this._applicationRef.attachView(i.hostView),t.appendChild(i.location.nativeElement),i}_attachWindowComponent(t,i){let r=Zp(r6,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector,projectableNodes:i});return this._applicationRef.attachView(r.hostView),t.appendChild(r.location.nativeElement),r}_getContentRef(t,i,r,o,s){return r?r instanceof Je?this._createFromTemplateRef(r,o):zr(r)?this._createFromString(r):this._createFromComponent(t,i,r,o,s):new Xr([])}_createFromTemplateRef(t,i){const o=t.createEmbeddedView({$implicit:i,close(s){i.close(s)},dismiss(s){i.dismiss(s)}});return this._applicationRef.attachView(o),new Xr([o.rootNodes],o)}_createFromString(t){const i=this._document.createTextNode(`${t}`);return new Xr([[i]])}_createFromComponent(t,i,r,o,s){const l=Zp(r,{environmentInjector:i,elementInjector:Nt.create({providers:[{provide:iM,useValue:o}],parent:t})}),c=l.location.nativeElement;return s.scrollable&&c.classList.add("component-host-scrollable"),this._applicationRef.attachView(l.hostView),new Xr([[c]],l.hostView,l)}_setAriaHidden(t){const i=t.parentElement;i&&t!==this._document.body&&(Array.from(i.children).forEach(r=>{r!==t&&"SCRIPT"!==r.nodeName&&(this._ariaHiddenValues.set(r,r.getAttribute("aria-hidden")),r.setAttribute("aria-hidden","true"))}),this._setAriaHidden(i))}_revertAriaHidden(){this._ariaHiddenValues.forEach((t,i)=>{t?i.setAttribute("aria-hidden",t):i.removeAttribute("aria-hidden")}),this._ariaHiddenValues.clear()}_registerModalRef(t){const i=()=>{const r=this._modalRefs.indexOf(t);r>-1&&(this._modalRefs.splice(r,1),this._activeInstances.emit(this._modalRefs))};this._modalRefs.push(t),this._activeInstances.emit(this._modalRefs),t.result.then(i,i)}_registerWindowCmpt(t){this._windowCmpts.push(t),this._activeWindowCmptHasChanged.next(),t.onDestroy(()=>{const i=this._windowCmpts.indexOf(t);i>-1&&(this._windowCmpts.splice(i,1),this._activeWindowCmptHasChanged.next())})}static#e=this.\u0275fac=function(i){return new(i||e)(H(Ki),H(Nt),H(zt),H(ut),H(o6),H(kh),H(fe))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),a6=(()=>{class e{constructor(t){this._ngbConfig=t,this.backdrop=!0,this.fullscreen=!1,this.keyboard=!0}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(t){this._animation=t}static#e=this.\u0275fac=function(i){return new(i||e)(H(Ed))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),l6=(()=>{class e{constructor(t,i,r){this._injector=t,this._modalStack=i,this._config=r}open(t,i={}){const r={...this._config,animation:this._config.animation,...i};return this._modalStack.open(this._injector,t,r)}get activeInstances(){return this._modalStack.activeInstances}dismissAll(t){this._modalStack.dismissAll(t)}hasOpenModals(){return this._modalStack.hasOpenModals()}static#e=this.\u0275fac=function(i){return new(i||e)(H(Nt),H(s6),H(a6))};static#t=this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),rM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({providers:[l6]})}return e})(),aM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),gM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),mM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),_M=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),vM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),yM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),bM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),DM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),wM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})();new z("live announcer delay",{providedIn:"root",factory:function C6(){return 100}});let CM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})(),EM=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({})}return e})();const T6=[IS,NS,AS,zm,KS,nM,rM,aM,EM,gM,mM,_M,vM,yM,bM,DM,wM,CM];let S6=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e});static#n=this.\u0275inj=ve({imports:[T6,IS,NS,AS,zm,KS,nM,rM,aM,EM,gM,mM,_M,vM,yM,bM,DM,wM,CM]})}return e})(),M6=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=be({type:e,bootstrap:[kT]});static#n=this.\u0275inj=ve({providers:[Ju,Xu],imports:[rB,PB,$j,$4,Uj,S6,zm]})}return e})();nB().bootstrapModule(M6).catch(e=>console.error(e))},614:()=>{const se=":";const $l=function(E,...w){if($l.translate){const x=$l.translate(E,w);E=x[0],w=x[1]}let N=Qd(E[0],E.raw[0]);for(let x=1;x{var Li=Vi=>se(se.s=Vi);Li(614),Li(75)}]); \ No newline at end of file From af7bbb653ea6163d56bee77816f7ed20c7f939cb Mon Sep 17 00:00:00 2001 From: Rakni1988 Date: Sat, 30 Mar 2024 08:25:14 +0100 Subject: [PATCH 72/94] add: manual combine oldest transactions --- yadacoin/app.py | 3 +- yadacoin/core/blockchainutils.py | 2 +- yadacoin/core/transactionutils.py | 54 +++++++++++++++++++++++++++++++ yadacoin/http/pool.py | 34 +++++++++++++++++-- 4 files changed, 88 insertions(+), 5 deletions(-) diff --git a/yadacoin/app.py b/yadacoin/app.py index 39b57bb3..7cdd80a1 100644 --- a/yadacoin/app.py +++ b/yadacoin/app.py @@ -1,6 +1,7 @@ """ Async Yadacoin node poc """ +import asyncio import binascii import importlib import json @@ -10,7 +11,6 @@ import pkgutil import ssl import sys -import asyncio currentdir = os.path.dirname(os.path.realpath(__file__)) parentdir = os.path.dirname(currentdir) @@ -694,6 +694,7 @@ async def background_mempool_cleaner(self): self.config.background_mempool_cleaner.busy = True try: await self.config.TU.clean_mempool(self.config) + #await self.config.TU.combine_oldest_transactions(self.config) await self.config.mp.clean_pool_info() await self.config.mp.clean_shares() self.config.health.mempool_cleaner.last_activity = int(time()) diff --git a/yadacoin/core/blockchainutils.py b/yadacoin/core/blockchainutils.py index dc96e919..4a850190 100644 --- a/yadacoin/core/blockchainutils.py +++ b/yadacoin/core/blockchainutils.py @@ -188,7 +188,7 @@ async def get_wallet_unspent_transactions(self, address, ids=None, no_zeros=Fals unspent_txns_query.extend( [ {"$match": {"transactions.id": {"$nin": list(spent_ids)}}}, - {"$sort": {"transactions.outputs.value": 1}}, + {"$sort": {"transactions.time": 1}}, # Change sorting on time ] ) diff --git a/yadacoin/core/transactionutils.py b/yadacoin/core/transactionutils.py index 52654255..2da7140f 100644 --- a/yadacoin/core/transactionutils.py +++ b/yadacoin/core/transactionutils.py @@ -305,3 +305,57 @@ async def get_trigger_txns( @classmethod def get_transaction_objs_list(cls, transaction_objs): return [y for x in list(transaction_objs.values()) for y in x] + + @classmethod + async def combine_oldest_transactions(cls, config): + address = config.address + config.app_log.info("Combining oldest transactions process started.") + total_value = 0 + oldest_transactions = [] + pending_used_inputs = {} + + # Check for transactions already in mempool + mempool_txns = await config.mongo.async_db.miner_transactions.find( + {"outputs.to": address} + ).to_list(None) + + for txn in mempool_txns: + for input_tx in txn["inputs"]: + pending_used_inputs[input_tx["id"]] = txn["_id"] + + # Retrieve oldest transactions + async for txn in config.BU.get_wallet_unspent_transactions(address, no_zeros=True): + if txn["id"] not in pending_used_inputs: + oldest_transactions.append(txn) + if len(oldest_transactions) >= 100: + break + + config.app_log.info("Found {} oldest transactions for combination.".format(len(oldest_transactions))) + + # Additional check: if the number of transactions is less than 99, do not generate a transaction + if len(oldest_transactions) < 99: + config.app_log.info("Insufficient number of transactions to combine.") + return + + for txn in oldest_transactions: + for output in txn["outputs"]: + if output["to"] == address: + total_value += float(output["value"]) + + config.app_log.info("Total value of oldest transactions: {}.".format(total_value)) + + try: + result = await cls.send( + config=config, + to=address, + value=total_value, + from_address=address, + inputs=oldest_transactions, + exact_match=False, + ) + if "status" in result and result["status"] == "error": + config.app_log.error("Error combining oldest transactions: {}".format(result["message"])) + else: + config.app_log.info("Successfully combined oldest transactions.") + except Exception as e: + config.app_log.error("Error combining oldest transactions: {}".format(str(e))) diff --git a/yadacoin/http/pool.py b/yadacoin/http/pool.py index bf2b7160..40491bf6 100644 --- a/yadacoin/http/pool.py +++ b/yadacoin/http/pool.py @@ -222,9 +222,25 @@ async def get(self): class PoolScanMissedPayoutsHandler(BaseHandler): async def get(self): - start_index = self.get_query_argument("start_index") - await self.config.pp.do_payout({"index": int(start_index)}) - self.render_as_json({"status": True}) + start_index = self.get_query_argument("start_index", None) + index = self.get_query_argument("index", None) + + if start_index is not None: + start_index = int(start_index) + start_index_info = {"start_index": start_index, "info": "This range starts from the specified index."} + else: + start_index_info = {"info": "No start index provided. The range starts from the beginning of the blockchain."} + + if index is not None: + index = int(index) + index_info = {"index": index, "info": "This payout is specifically for the block at the specified index."} + else: + index_info = {"info": "No index provided. The payout is for the latest block in the blockchain."} + + await self.config.pp.do_payout(start_index=start_index, index=index) + + response_info = {"status": True, "start_index_info": start_index_info, "index_info": index_info} + self.render_as_json(response_info) class PoolScanMissingTxnHandler(BaseHandler): @@ -316,10 +332,22 @@ async def already_used(self, txn_id, pool_public_key): ) return [x async for x in results] +class CombineOldestTransactionsHandler(BaseHandler): + async def get(self): + try: + await self.config.TU.combine_oldest_transactions(self.config) + self.set_status(200) + self.write("Combine oldest transactions process started.") + except Exception as e: + self.set_status(500) + self.write("Error combining oldest transactions: {}".format(str(e))) + + POOL_HANDLERS = [ (r"/miner-stats-for-address", MinerStatsHandler), (r"/payouts-for-address", PoolPayoutsHandler), (r"/pool-blocks", PoolBlocksHandler), (r"/scan-missed-payouts", PoolScanMissedPayoutsHandler), (r"/scan-missed-txn", PoolScanMissingTxnHandler), + (r"/combine-oldest-transactions", CombineOldestTransactionsHandler), ] From 25e419723a830c1b3a3321149e096e1767d8cbf3 Mon Sep 17 00:00:00 2001 From: Rakni1988 Date: Tue, 9 Apr 2024 17:24:15 +0200 Subject: [PATCH 73/94] unique extra nonce --- yadacoin/core/miningpool.py | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/yadacoin/core/miningpool.py b/yadacoin/core/miningpool.py index 0a61540b..06846a8b 100644 --- a/yadacoin/core/miningpool.py +++ b/yadacoin/core/miningpool.py @@ -26,6 +26,9 @@ class MiningPool(object): + def __init__(self): + self.used_extra_nonces = set() + self.last_header = None @classmethod async def init_async(cls): @@ -339,10 +342,16 @@ async def generate_job(self, agent, custom_diff, peer_id, miner_diff): difficulty = int(self.max_target / self.block_factory.target) seed_hash = "4181a493b397a733b083639334bc32b407915b9a82b7917ac361816f0a1f5d4d" # sha256(yadacoin65000) job_id = str(uuid.uuid4()) - #extra_nonce = str(random.randrange(100000, 999999)) - extra_nonce = secrets.token_hex(2) header = self.block_factory.header - self.config.app_log.debug(f"Job header: {header}") + + # Check if header has changed + if header != self.last_header: + self.last_header = header + self.used_extra_nonces.clear() # Reset used extra nonces + + self.config.app_log.info(f"Job header: {header}") + + extra_nonce = self.generate_unique_extra_nonce() blob = header.encode().hex().replace("7b6e6f6e63657d", "00000000" + extra_nonce) miner_diff = max(int(custom_diff), 70000) if custom_diff is not None else miner_diff @@ -365,8 +374,7 @@ async def generate_job(self, agent, custom_diff, peer_id, miner_diff): "target": target, # can only be 16 characters long "blob": blob, "seed_hash": seed_hash, - "height": self.config.LatestBlock.block.index - + 1, # This is the height of the one we are mining + "height": self.config.LatestBlock.block.index + 1, # This is the height of the one we are mining "extra_nonce": extra_nonce, "algo": "rx/yada", "miner_diff": miner_diff, @@ -374,9 +382,17 @@ async def generate_job(self, agent, custom_diff, peer_id, miner_diff): } self.config.app_log.debug(f"Generated job: {res}") + self.config.app_log.info(f"Used extra nonces: {self.used_extra_nonces}") return await Job.from_dict(res) + def generate_unique_extra_nonce(self): + extra_nonce = random.randint(0, 99) + while extra_nonce in self.used_extra_nonces: + extra_nonce = random.randint(0, 99) + self.used_extra_nonces.add(extra_nonce) + return str(extra_nonce).zfill(2) + async def set_target_as_previous_non_special_min(self): """TODO: this is not correct, should use a cached version of the current target somewhere, and recalc on new block event if we cross a boundary (% 2016 currently). Beware, at boundary we need to recalc the new diff one block ahead From 43ef731f6f27a676ee625230de91ee94b309b2c8 Mon Sep 17 00:00:00 2001 From: Rakni1988 Date: Tue, 9 Apr 2024 18:09:27 +0200 Subject: [PATCH 74/94] change extra nonce to hex --- yadacoin/core/miningpool.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yadacoin/core/miningpool.py b/yadacoin/core/miningpool.py index 06846a8b..21a1ac23 100644 --- a/yadacoin/core/miningpool.py +++ b/yadacoin/core/miningpool.py @@ -387,11 +387,11 @@ async def generate_job(self, agent, custom_diff, peer_id, miner_diff): return await Job.from_dict(res) def generate_unique_extra_nonce(self): - extra_nonce = random.randint(0, 99) + extra_nonce = secrets.token_hex(1) while extra_nonce in self.used_extra_nonces: - extra_nonce = random.randint(0, 99) + extra_nonce = secrets.token_hex(1) self.used_extra_nonces.add(extra_nonce) - return str(extra_nonce).zfill(2) + return extra_nonce async def set_target_as_previous_non_special_min(self): """TODO: this is not correct, should use a cached version of the current target somewhere, and recalc on From ccce18f9a993983ff8357d504b1803fd8303de66 Mon Sep 17 00:00:00 2001 From: Rakni1988 Date: Thu, 29 Aug 2024 17:25:48 +0200 Subject: [PATCH 75/94] add getblocktemplate and submitblock --- yadacoin/core/block.py | 2 + yadacoin/http/node.py | 83 +++++++++++++++++++++++++++++++++----- yadacoin/tcpsocket/node.py | 2 + 3 files changed, 78 insertions(+), 9 deletions(-) diff --git a/yadacoin/core/block.py b/yadacoin/core/block.py index cbd66678..0dc2446c 100644 --- a/yadacoin/core/block.py +++ b/yadacoin/core/block.py @@ -81,6 +81,7 @@ class UnknownOutputAddressException(Exception): class Block(object): + last_generated_block = None # Memory optimization __slots__ = ( "app_log", @@ -307,6 +308,7 @@ async def generate( public_key=public_key, target=target, ) + cls.last_generated_block = block txn_hashes = block.get_transaction_hashes() block.set_merkle_root(txn_hashes) block.header = block.generate_header() diff --git a/yadacoin/http/node.py b/yadacoin/http/node.py index 2ecadcc8..7d35a0b8 100644 --- a/yadacoin/http/node.py +++ b/yadacoin/http/node.py @@ -4,6 +4,7 @@ import json import time +import tornado.web from tornado import escape @@ -11,6 +12,10 @@ from yadacoin.core.transaction import Transaction from yadacoin.core.transactionutils import TU from yadacoin.http.base import BaseHandler +from yadacoin.core.blockchain import Blockchain +from yadacoin.core.processingqueue import BlockProcessingQueueItem +from yadacoin.core.block import Block +from yadacoin.core.latestblock import LatestBlock class GetLatestBlockHandler(BaseHandler): @@ -21,6 +26,14 @@ async def get(self): block = await self.config.LatestBlock.block.copy() self.render_as_json(block.to_dict()) +class GetCurrentBlockHandler(BaseHandler): + async def get(self): + from yadacoin.core.block import Block + try: + latest_block = Block.last_generated_block + self.render_as_json(latest_block.to_dict()) + except Exception as e: + self.render_as_json({"status": "error", "message": str(e)}) class GetBlocksHandler(BaseHandler): async def get(self): @@ -202,6 +215,13 @@ async def get(self): ) return self.render_as_json({"txn_ids": [x["id"] for x in txns]}) +class GetMempoolTransactionsHandler(BaseHandler): + async def get(self): + try: + transactions = await self.config.mongo.async_db.miner_transactions.find({}).to_list(length=None) + self.render_as_json({"transactions": transactions}) + except Exception as e: + self.render_as_json({"error": str(e)}, status=500) class RebroadcastTransactions(BaseHandler): async def get(self): @@ -302,17 +322,20 @@ async def get(self): if hasattr(self.config, "pool_public_key") else self.config.public_key ) - - latest_pool_info = await self.config.mongo.async_db.pool_info.find_one( - filter={}, - sort=[("time", -1)] + mining_time_interval = 600 + shares_count = await self.config.mongo.async_db.shares.count_documents( + {"time": {"$gte": time.time() - mining_time_interval}} ) - - pool_hash_rate = latest_pool_info.get("pool_hash_rate", 0) + if shares_count > 0: + pool_hash_rate = ( + shares_count * self.config.pool_diff + ) / mining_time_interval + else: + pool_hash_rate = 0 pool_blocks_found_list = ( - await self.config.mongo.async_db.pool_blocks.find( - {"public_key": pool_public_key}, {"_id": 0, "found_time": 1, "index": 1} + await self.config.mongo.async_db.blocks.find( + {"public_key": pool_public_key}, {"_id": 0, "time": 1, "index": 1} ) .sort([("index", -1)]) .to_list(5) @@ -321,7 +344,7 @@ async def get(self): lbt = 0 lbh = 0 if pool_blocks_found_list: - lbt = pool_blocks_found_list[0]["found_time"] + lbt = pool_blocks_found_list[0]["time"] lbh = pool_blocks_found_list[0]["index"] pool_data = { @@ -341,9 +364,48 @@ async def get(self): } self.render_as_json(op_data, indent=4) +class GetBlockTemplateHandler(BaseHandler): + async def get(self): + try: + block_template = await LatestBlock.get_block_template() + if block_template: + self.write(block_template) + else: + self.config.app_log.error("Failed to retrieve block template: block_template is None.") + self.set_status(500) + self.write({"error": "Failed to retrieve block template."}) + except Exception as e: + self.config.app_log.error(f"Exception occurred in GetBlockTemplateHandler: {str(e)}") + self.set_status(500) + self.write({"error": str(e)}) + +class SubmitBlockHandler(BaseHandler): + async def post(self): + try: + block_data = escape.json_decode(self.request.body) + block = await Block.from_dict(block_data) + self.config.app_log.info(f"Received block data: {block_data}") + + await self.config.consensus.insert_consensus_block(block, self.config.peer) + + self.config.processing_queues.block_queue.add( + BlockProcessingQueueItem(Blockchain(block.to_dict())) + ) + + await self.config.nodeShared.send_block_to_peers(block) + await self.config.websocketServer.send_block(block) + + self.write({"status": "success", "message": "Block accepted"}) + self.config.app_log.info(f"Block accepted: {block.hash}") + + except Exception as e: + self.write({"status": "error", "message": str(e)}) + self.config.app_log.info(f"Failed to submit block: {e}") + NODE_HANDLERS = [ (r"/get-latest-block", GetLatestBlockHandler), + (r"/get-current-block", GetCurrentBlockHandler), (r"/get-blocks", GetBlocksHandler), (r"/get-block", GetBlockHandler), (r"/get-height|/getheight", GetBlockHeightHandler), @@ -352,6 +414,7 @@ async def get(self): (r"/get-status", GetStatusHandler), (r"/get-pending-transaction", GetPendingTransactionHandler), (r"/get-pending-transaction-ids", GetPendingTransactionIdsHandler), + (r"/get-mempool-transactions", GetMempoolTransactionsHandler), (r"/rebroadcast-transactions", RebroadcastTransactions), (r"/rebroadcast-failed-transaction", RebroadcastFailedTransactions), (r"/get-current-smart-contract-transactions", GetCurrentSmartContractTransactions), @@ -360,4 +423,6 @@ async def get(self): (r"/get-expired-smart-contract-transaction", GetExpiredSmartContractTransaction), (r"/get-trigger-transactions", GetSmartContractTriggerTransaction), (r"/get-monitoring", GetMonitoringHandler), + (r"/get-block-template", GetBlockTemplateHandler), + (r"/submitblock", SubmitBlockHandler), ] diff --git a/yadacoin/tcpsocket/node.py b/yadacoin/tcpsocket/node.py index 02bfdb99..b6ef182c 100644 --- a/yadacoin/tcpsocket/node.py +++ b/yadacoin/tcpsocket/node.py @@ -340,6 +340,8 @@ async def fill_gap(self, end_index, stream): start_block = await self.config.mongo.async_db.blocks.find_one( {"index": {"$lt": end_index}}, sort=[("index", -1)] ) + if end_index - 1 <= start_block["index"] + 1: + return await self.config.nodeShared.write_params( stream, "getblocks", From c025e45cbf4b684d7c4d441241b6f5b2bb82fb88 Mon Sep 17 00:00:00 2001 From: Rakni1988 Date: Thu, 29 Aug 2024 17:36:04 +0200 Subject: [PATCH 76/94] add getblocktemplate function in latestblock --- yadacoin/core/latestblock.py | 52 ++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/yadacoin/core/latestblock.py b/yadacoin/core/latestblock.py index 25271474..ace66abe 100644 --- a/yadacoin/core/latestblock.py +++ b/yadacoin/core/latestblock.py @@ -1,9 +1,16 @@ +import time + from yadacoin.core.config import Config +from yadacoin.core.chain import CHAIN class LatestBlock: config = None block = None + blocktemplate_target = None + blocktemplate_time = None + blocktemplate_index = None + blocktemplate_hash = None @classmethod async def set_config(cls): @@ -38,3 +45,48 @@ async def get_latest_block(cls): return await Block.from_dict(block) else: cls.block = None + + @classmethod + async def get_block_template(cls): + from yadacoin.core.block import Block + if not cls.block: + await cls.update_latest_block() + + if cls.block: + try: + #cls.config.app_log.info(f"Block version: {cls.block.version}") + #cls.config.app_log.info(f"Block hash: {cls.block.hash}") + #cls.config.app_log.info(f"Block index: {cls.block.index}") + #cls.config.app_log.info(f"Block time: {cls.block.time}") + #cls.config.app_log.info(f"Block transactions: {cls.block.transactions}") + + if (cls.block.hash != cls.blocktemplate_hash or cls.block.index != cls.blocktemplate_index): + cls.blocktemplate_time = int(time.time()) + + new_block = await Block.init_async( + version=cls.block.version, + block_time=cls.blocktemplate_time, + block_index=cls.block.index + 1, + prev_hash=cls.block.hash, + ) + + cls.blocktemplate_target = await CHAIN.get_target_10min(cls.block, new_block) + + cls.blocktemplate_index = cls.block.index + cls.blocktemplate_hash = cls.block.hash + + target_hex = hex(cls.blocktemplate_target)[2:].rjust(64, '0') + + return { + "version": cls.block.version, + "prev_hash": cls.block.hash, + "index": cls.block.index, + "target": target_hex, + "time": cls.blocktemplate_time + } + except Exception as e: + cls.config.app_log.error(f"Error calculating block template: {e}") + raise e + else: + cls.config.app_log.error("No block found when trying to get block template.") + return None \ No newline at end of file From 7a801cd05943d250b22e237be75d5a31b973a33e Mon Sep 17 00:00:00 2001 From: Rakni1988 <67603180+Rakni1988@users.noreply.github.com> Date: Wed, 4 Sep 2024 08:03:14 +0200 Subject: [PATCH 77/94] Update nodes.py --- yadacoin/core/nodes.py | 46 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/yadacoin/core/nodes.py b/yadacoin/core/nodes.py index 8f9d5d1d..e75c7362 100644 --- a/yadacoin/core/nodes.py +++ b/yadacoin/core/nodes.py @@ -308,6 +308,21 @@ def __init__(self): } ), }, + { + "ranges": [(505600, None)], + "node": Seed.from_dict( + { + "host": "seed.rogue-miner.com", + "port": 8000, + "identity": { + "username": "", + "username_signature": "MEUCIQD0MsT34TkNpYL5kOhLA/4E4YY+SzFhHtIPWPzHCShVGwIgYlzAQeujWvesmU6ZWrTMRwtLFFtjePZjLJDJjTMEQlc=", + "public_key": "03c815e3160b72c0fdd98f5b9fcca5a5ead09163272bc01e4be6397d1d3dbda9b3", + }, + "seed_gateway": "MEUCIQC/PWvXpjny1yDGDPRtBzl6g7Lb9lcUuI0v0Kf6wxYi4AIgeRb5PtNhO2Eks6iiPEBuebKuXSeTM9euU9sWqOZYUec=", + } + ), + }, ] Seeds.set_fork_points() @@ -552,6 +567,21 @@ def __init__(self): } ), }, + { + "ranges": [(505600, None)], + "node": SeedGateway.from_dict( + { + "host": "seedgateway.rogue-miner.com", + "port": 8002, + "identity": { + "username": "", + "username_signature": "MEUCIQC/PWvXpjny1yDGDPRtBzl6g7Lb9lcUuI0v0Kf6wxYi4AIgeRb5PtNhO2Eks6iiPEBuebKuXSeTM9euU9sWqOZYUec=", + "public_key": "020ce4988acc611e651d539cc2064ec12e04f22b0f95f54cbdfb223174c0d6ee7f", + }, + "seed": "MEUCIQD0MsT34TkNpYL5kOhLA/4E4YY+SzFhHtIPWPzHCShVGwIgYlzAQeujWvesmU6ZWrTMRwtLFFtjePZjLJDJjTMEQlc=", + } + ), + }, ] SeedGateways.set_fork_points() @@ -811,6 +841,22 @@ def __init__(self): } ), }, + { + "ranges": [(505600, None)], + "node": ServiceProvider.from_dict( + { + "host": "serviceprovider.rogue-miner.com", + "port": 8003, + "identity": { + "username": "", + "username_signature": "MEUCIQDgXK4dHUpOAiqfaItWyweWijHRGez+k071wEvqSKm9rgIgZA7MJEjvHSN1FDrnMVsSKx2j74q4gaUiYcs+WYW261M=", + "public_key": "024321b0dc01c7d200e2d2f5b4f0a15883fb3dc91f7ff1df36daa7a195defcd171", + }, + "seed_gateway": "MEUCIQC/PWvXpjny1yDGDPRtBzl6g7Lb9lcUuI0v0Kf6wxYi4AIgeRb5PtNhO2Eks6iiPEBuebKuXSeTM9euU9sWqOZYUec=", + "seed": "MEUCIQD0MsT34TkNpYL5kOhLA/4E4YY+SzFhHtIPWPzHCShVGwIgYlzAQeujWvesmU6ZWrTMRwtLFFtjePZjLJDJjTMEQlc==", + } + ), + }, ] ServiceProviders.set_fork_points() ServiceProviders.set_nodes() From 4c259504d2b16eec8983f1394a2df6b8b764eb91 Mon Sep 17 00:00:00 2001 From: Rakni1988 <67603180+Rakni1988@users.noreply.github.com> Date: Mon, 16 Sep 2024 20:32:43 +0200 Subject: [PATCH 78/94] add masternode fee to generate coinbase --- yadacoin/core/block.py | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/yadacoin/core/block.py b/yadacoin/core/block.py index 0dc2446c..fade9a10 100644 --- a/yadacoin/core/block.py +++ b/yadacoin/core/block.py @@ -198,10 +198,12 @@ async def generate( transaction_objs = [] fee_sum = 0.0 + masternode_fee_sum = 0.0 used_sigs = [] used_inputs = {} regular_txns = [] generated_txns = [] + for x in transactions: x = Transaction.ensure_instance(x) if await x.is_contract_generated(): @@ -220,6 +222,11 @@ async def generate( fee_sum = sum( [float(transaction_obj.fee) for transaction_obj in transaction_objs] ) + + masternode_fee_sum = sum( + float(transaction_obj.masternode_fee) for transaction_obj in transaction_objs + ) + block_reward = CHAIN.get_block_reward(index) if index >= CHAIN.PAY_MASTER_NODES_FORK: @@ -234,13 +241,14 @@ async def generate( } ) ] - masternode_reward_total = block_reward * 0.1 + masternode_reward_total = (block_reward * 0.1) + float(masternode_fee_sum) successful_nodes = cache.get("successful_nodes") if successful_nodes is None: config.app_log.info("Cache is empty, perform the testing of nodes and save the result in the cache.") successful_nodes = [] + for node in nodes: from tornado.tcpclient import TCPClient @@ -258,10 +266,15 @@ async def generate( config.app_log.warning( f"Timeout exception in block generate: testing masternode {node.host}:{node.port}" ) - except Exception: + except Exception as e: config.app_log.warning( - f"Unhandled exception in block generate: testing masternode {node.host}:{node.port}" + f"Unhandled exception in block generate: testing masternode {node.host}:{node.port} - {str(e)}" ) + + if not successful_nodes: + config.app_log.info("No successful nodes found, using full list of nodes.") + successful_nodes = nodes + config.app_log.info("Save the result in cache.") cache["successful_nodes"] = successful_nodes From 502f793de61d12bb76dcd3a15bcb71f852b469db Mon Sep 17 00:00:00 2001 From: Rakni1988 <67603180+Rakni1988@users.noreply.github.com> Date: Tue, 17 Sep 2024 10:15:29 +0200 Subject: [PATCH 79/94] add masternode fee to verify reaward --- yadacoin/core/block.py | 38 ++++++++++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/yadacoin/core/block.py b/yadacoin/core/block.py index fade9a10..9373807f 100644 --- a/yadacoin/core/block.py +++ b/yadacoin/core/block.py @@ -23,6 +23,7 @@ from yadacoin.core.transaction import ( InvalidTransactionException, Output, + TotalValueMismatchException, Transaction, TransactionAddressInvalidException, ) @@ -348,7 +349,15 @@ async def validate_transactions( check_max_inputs = False if index > CHAIN.CHECK_MAX_INPUTS_FORK: check_max_inputs = True - await transaction_obj.verify(check_max_inputs=check_max_inputs) + + check_masternode_fee = False + if index >= CHAIN.CHECK_MASTERNODE_FEE_FORK: + check_masternode_fee = True + + await transaction_obj.verify( + check_max_inputs=check_max_inputs, + check_masternode_fee=check_masternode_fee, + ) for output in transaction_obj.outputs: if not config.address_is_valid(output.to): @@ -569,6 +578,7 @@ async def verify(self): # verify reward coinbase_sum = 0 fee_sum = 0.0 + masternode_fee_sum = 0.0 masternode_sums = {} for txn in self.transactions: if int(self.index) >= CHAIN.TXN_V3_FORK and int(txn.version) < 3: @@ -622,8 +632,12 @@ async def verify(self): ], ) fee_sum += float(txn.fee) + if self.index >= CHAIN.CHECK_MASTERNODE_FEE_FORK: + masternode_fee_sum += float(txn.masternode_fee) else: fee_sum += float(txn.fee) + if self.index >= CHAIN.CHECK_MASTERNODE_FEE_FORK: + masternode_fee_sum += float(txn.masternode_fee) reward = CHAIN.get_block_reward(self.index) @@ -634,13 +648,29 @@ async def verify(self): Integrate block error 1 ('Coinbase output total does not equal block reward + transaction fees', 0.020999999999999998, 0.021000000000000796) """ - if self.index >= CHAIN.PAY_MASTER_NODES_FORK: + if self.index >= CHAIN.CHECK_MASTERNODE_FEE_FORK: + masternode_sum = sum(x for x in masternode_sums.values()) + print( + f"here6.1 - {quantize_eight(fee_sum + masternode_fee_sum)} - {quantize_eight((coinbase_sum + masternode_sum) - reward)}" + ) + if quantize_eight(fee_sum + masternode_fee_sum) != quantize_eight( + (coinbase_sum + masternode_sum) - reward + ): + print(f"here6.2 - {self.index}") + print(fee_sum, masternode_fee_sum, masternode_sum, coinbase_sum, reward) + raise TotalValueMismatchException( + "Masternode output totals do not equal block reward + masternode transaction fees", + masternode_fee_sum, + (masternode_sum - reward), + ) + + elif self.index >= CHAIN.PAY_MASTER_NODES_FORK: masternode_sum = sum(x for x in masternode_sums.values()) if quantize_eight(fee_sum) != quantize_eight( (coinbase_sum + masternode_sum) - reward ): print(fee_sum, coinbase_sum, reward) - raise Exception( + raise TotalValueMismatchException( "Coinbase output total does not equal block reward + transaction fees", fee_sum, (coinbase_sum - reward), @@ -649,7 +679,7 @@ async def verify(self): else: if quantize_eight(fee_sum) != quantize_eight(coinbase_sum - reward): print(fee_sum, coinbase_sum, reward) - raise Exception( + raise TotalValueMismatchException( "Coinbase output total does not equal block reward + transaction fees", fee_sum, (coinbase_sum - reward), From 6f2b15cf8190dd3c12bdee3c44fe1b1ba8b73eb9 Mon Sep 17 00:00:00 2001 From: Rakni1988 <67603180+Rakni1988@users.noreply.github.com> Date: Tue, 17 Sep 2024 10:18:45 +0200 Subject: [PATCH 80/94] add fork point --- yadacoin/core/chain.py | 1 + 1 file changed, 1 insertion(+) diff --git a/yadacoin/core/chain.py b/yadacoin/core/chain.py index b89fbf34..78b614af 100644 --- a/yadacoin/core/chain.py +++ b/yadacoin/core/chain.py @@ -75,6 +75,7 @@ class CHAIN(object): MAX_INPUTS = 100 CHECK_MAX_INPUTS_FORK = 463590 + CHECK_MASTERNODE_FEE_FORK = 507500 @classmethod def target_block_time(cls, network: str): From 891f9e26c018b70d40d27deb8ff24b89006b7419 Mon Sep 17 00:00:00 2001 From: Rakni1988 <67603180+Rakni1988@users.noreply.github.com> Date: Tue, 17 Sep 2024 10:25:23 +0200 Subject: [PATCH 81/94] add masternode support --- yadacoin/core/blockchainutils.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/yadacoin/core/blockchainutils.py b/yadacoin/core/blockchainutils.py index 4a850190..0c9417a5 100644 --- a/yadacoin/core/blockchainutils.py +++ b/yadacoin/core/blockchainutils.py @@ -201,6 +201,38 @@ async def get_wallet_unspent_transactions(self, address, ids=None, no_zeros=Fals ] yield unspent_txn["transactions"] + async def get_wallet_masternode_fees_paid_transactions( + self, public_key, from_block + ): + query = [ + { + "$match": { + "index": {"$gte": from_block}, + "transactions.public_key": public_key, + }, + }, + {"$unwind": "$transactions"}, + { + "$match": { + "transactions.public_key": public_key, + "transactions.masternode_fee": {"$gt": 0}, + }, + }, + ] + # Return the cursor directly without awaiting it + + txns = self.config.mongo.async_db.blocks.aggregate(query) + async for txn in txns: + yield txn + + async def get_masternode_fees_paid_sum(self, public_key, from_block): + sum = 0 + async for txn in self.get_wallet_masternode_fees_paid_transactions( + public_key, from_block + ): + sum += txn["transactions"]["masternode_fee"] + return sum + async def get_transactions( self, wif, query, queryType, raw=False, both=True, skip=None ): From c5b1a3c0db4b76c0cd66d53d7e1e7ba272dd97ad Mon Sep 17 00:00:00 2001 From: Rakni1988 <67603180+Rakni1988@users.noreply.github.com> Date: Tue, 17 Sep 2024 10:29:57 +0200 Subject: [PATCH 82/94] add masternode support --- yadacoin/core/blockchain.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/yadacoin/core/blockchain.py b/yadacoin/core/blockchain.py index 01b365b0..0bffcbad 100644 --- a/yadacoin/core/blockchain.py +++ b/yadacoin/core/blockchain.py @@ -175,6 +175,10 @@ async def test_block(block, extra_blocks=[], simulate_last_block=None): if block.index > CHAIN.CHECK_MAX_INPUTS_FORK: check_max_inputs = True + check_masternode_fee = False + if block.index >= CHAIN.CHECK_MASTERNODE_FEE_FORK: + check_masternode_fee = True + used_inputs = {} i = 0 async for transaction in Blockchain.get_txns(block.transactions): @@ -183,7 +187,10 @@ async def test_block(block, extra_blocks=[], simulate_last_block=None): config.app_log.info("verifying txn: {} block: {}".format(i, block.index)) i += 1 try: - await transaction.verify(check_max_inputs=check_max_inputs) + await transaction.verify( + check_max_inputs=check_max_inputs, + check_masternode_fee=check_masternode_fee, + ) except InvalidTransactionException as e: config.app_log.warning(e) return False @@ -328,8 +335,15 @@ async def find_error_block(self): if block.index > CHAIN.CHECK_MAX_INPUTS_FORK: check_max_inputs = True + check_masternode_fee = False + if block.index >= CHAIN.CHECK_MASTERNODE_FEE_FORK: + check_masternode_fee = True + for txn in block.transactions: - await txn.verify(check_max_inputs=check_max_inputs) + await txn.verify( + check_max_inputs=check_max_inputs, + check_masternode_fee=check_masternode_fee, + ) if last_block: if int(block.index) - int(last_block.index) > 1: return last_block.index + 1 From 4977e6ce54eea3127bc5ac0aeaa1e5fedfd6f3bf Mon Sep 17 00:00:00 2001 From: Rakni1988 <67603180+Rakni1988@users.noreply.github.com> Date: Tue, 17 Sep 2024 10:31:28 +0200 Subject: [PATCH 83/94] add masternode fee config --- yadacoin/core/config.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/yadacoin/core/config.py b/yadacoin/core/config.py index 6929f416..ba72f60b 100644 --- a/yadacoin/core/config.py +++ b/yadacoin/core/config.py @@ -157,6 +157,7 @@ def __init__(self, config=None): self.mongo_query_timeout = config.get("mongo_query_timeout", 30000) self.http_request_timeout = config.get("http_request_timeout", 60) + self.masternode_fee_minimum = config.get("masternode_fee_minimum", 1) for key, val in config.items(): if not hasattr(self, key): @@ -437,6 +438,7 @@ def from_dict(cls, config): cls.mongo_query_timeout = config.get("mongo_query_timeout", 3000) cls.http_request_timeout = config.get("http_request_timeout", 60) + cls.masternode_fee_minimum = config.get("masternode_fee_minimum", 1) @staticmethod def address_is_valid(address): From 24bcac29312f639f9deeea8bf54ec02de8c721fd Mon Sep 17 00:00:00 2001 From: Rakni1988 <67603180+Rakni1988@users.noreply.github.com> Date: Tue, 17 Sep 2024 10:41:45 +0200 Subject: [PATCH 84/94] add masternode support --- yadacoin/core/miningpool.py | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/yadacoin/core/miningpool.py b/yadacoin/core/miningpool.py index 21a1ac23..aa085cd9 100644 --- a/yadacoin/core/miningpool.py +++ b/yadacoin/core/miningpool.py @@ -430,10 +430,19 @@ async def get_pending_transactions(self): mempool_smart_contract_objs = {} transaction_objs = {} used_sigs = [] + + check_masternode_fee = False + if self.config.LatestBlock.block.index + 1 >= CHAIN.CHECK_MASTERNODE_FEE_FORK: + check_masternode_fee = True + async for txn in self.mongo.async_db.miner_transactions.find( {"relationship.smart_contract": {"$exists": True}} ).sort([("fee", -1), ("time", 1)]): - transaction_obj = await self.verify_pending_transaction(txn, used_sigs) + transaction_obj = await self.verify_pending_transaction( + txn, + used_sigs, + check_masternode_fee=check_masternode_fee, + ) if not isinstance(transaction_obj, Transaction): continue @@ -455,7 +464,11 @@ async def get_pending_transactions(self): async for txn in self.mongo.async_db.miner_transactions.find( {"relationship.smart_contract": {"$exists": False}} ).sort([("fee", -1), ("time", 1)]): - transaction_obj = await self.verify_pending_transaction(txn, used_sigs) + transaction_obj = await self.verify_pending_transaction( + txn, + used_sigs, + check_masternode_fee=check_masternode_fee, + ) if not isinstance(transaction_obj, Transaction): continue if transaction_obj.private == True: @@ -521,7 +534,9 @@ async def get_pending_transactions(self): + generated_txns ) - async def verify_pending_transaction(self, txn, used_sigs): + async def verify_pending_transaction( + self, txn, used_sigs, check_masternode_fee=False + ): try: if isinstance(txn, Transaction): transaction_obj = txn @@ -542,7 +557,9 @@ async def verify_pending_transaction(self, txn, used_sigs): await transaction_obj.is_contract_generated() ) - await transaction_obj.verify() + await transaction_obj.verify( + check_masternode_fee=check_masternode_fee, + ) if transaction_obj.transaction_signature in used_sigs: self.config.app_log.warning("duplicate transaction found and removed") From ea933c1da97ed4043b428aa8dc30a777a59bb93f Mon Sep 17 00:00:00 2001 From: Rakni1988 <67603180+Rakni1988@users.noreply.github.com> Date: Tue, 17 Sep 2024 10:48:34 +0200 Subject: [PATCH 85/94] add masternode support --- yadacoin/core/transaction.py | 117 ++++++++++++++++++++--------------- 1 file changed, 68 insertions(+), 49 deletions(-) diff --git a/yadacoin/core/transaction.py b/yadacoin/core/transaction.py index 8d1027a6..5ce5c39b 100644 --- a/yadacoin/core/transaction.py +++ b/yadacoin/core/transaction.py @@ -87,7 +87,7 @@ def __init__( seed_rid="", version=None, miner_signature="", - contract_generated=False, + contract_generated=None, relationship_hash="", never_expire=False, private=False, @@ -176,7 +176,7 @@ async def generate( exact_match=False, version=5, miner_signature="", - contract_generated=False, + contract_generated=None, do_money=True, never_expire=False, private=False, @@ -244,14 +244,6 @@ async def generate( cls_inst.private = private return cls_inst - async def get_mempool_transaction_ids(self): - miner_transactions = self.mongo.async_db.miner_transactions.find( - {"public_key": self.public_key} - ) - async for mtxn in miner_transactions: - for mtxninput in mtxn["inputs"]: - yield mtxninput["id"] - async def do_money(self): if self.coinbase: self.inputs = [] @@ -263,7 +255,6 @@ async def do_money(self): P2PKHBitcoinAddress.from_pubkey(bytes.fromhex(self.public_key)) ) - mtxn_ids = self.get_mempool_transaction_ids() input_sum = 0 inputs = [] if self.inputs: @@ -274,7 +265,6 @@ async def do_money(self): input_sum = await self.generate_inputs( input_sum, my_address, - [x async for x in mtxn_ids], inputs, outputs_and_fee_total, ) @@ -321,10 +311,12 @@ async def evaluate_inputs( raise NotEnoughMoneyException("not enough money") async def generate_inputs( - self, input_sum, my_address, mtxn_ids, inputs, outputs_and_fee_total + self, input_sum, my_address, inputs, outputs_and_fee_total ): - async for input_txn in self.config.BU.get_wallet_unspent_transactions( - my_address, no_zeros=True, ids=mtxn_ids + async for ( + input_txn + ) in self.config.BU.get_wallet_unspent_transactions_for_spending( + my_address, inc_mempool=True ): txn = await self.config.BU.get_transaction_by_id( input_txn["id"], instance=True @@ -384,7 +376,7 @@ def from_dict(cls, txn): relationship=txn.get("relationship", ""), public_key=txn.get("public_key"), dh_public_key=txn.get("dh_public_key"), - fee=float(txn.get("fee")), + fee=float(txn.get("fee", 0)), requester_rid=txn.get("requester_rid", ""), requested_rid=txn.get("requested_rid", ""), txn_hash=txn.get("hash", ""), @@ -393,10 +385,11 @@ def from_dict(cls, txn): coinbase=txn.get("coinbase", False), version=txn.get("version"), miner_signature=txn.get("miner_signature", ""), - contract_generated=txn.get("contract_generated", ""), + contract_generated=txn.get("contract_generated"), relationship_hash=txn.get("relationship_hash", ""), private=txn.get("private", False), never_expire=txn.get("never_expire", False), + masternode_fee=float(txn.get("masternode_fee", 0)), ) def in_the_future(self): @@ -407,10 +400,17 @@ async def get_inputs(self, inputs): for x in inputs: yield x - async def is_contract_generated(self): - if await self.get_generating_contract(): - return True - return False + @property + async def contract_generated(self): + if self._contract_generated is None: + if await self.get_generating_contract(): + self._contract_generated = True + self._contract_generated = False + return self._contract_generated + + @contract_generated.setter + def contract_generated(self, value): + self._contract_generated = value async def get_generating_contract(self): from yadacoin.contracts.base import Contract @@ -455,20 +455,7 @@ async def handle_exception(e, txn): ) config.app_log.warning("Exception {}".format(e)) - async def verify(self, check_input_spent=False, check_max_inputs=False): - from yadacoin.contracts.base import Contract - - if check_max_inputs and len(self.inputs) > CHAIN.MAX_INPUTS: - raise TooManyInputsException( - f"Maximum inputs of {CHAIN.MAX_INPUTS} exceeded." - ) - - verify_hash = await self.generate_hash() - address = str(P2PKHBitcoinAddress.from_pubkey(bytes.fromhex(self.public_key))) - - if verify_hash != self.hash: - raise InvalidTransactionException("transaction is invalid") - + def verify_signature(self, address): try: result = verify_signature( base64.b64decode(self.transaction_signature), @@ -476,7 +463,6 @@ async def verify(self, check_input_spent=False, check_max_inputs=False): bytes.fromhex(self.public_key), ) if not result: - print("t verify1") raise Exception() except: try: @@ -490,7 +476,6 @@ async def verify(self, check_input_spent=False, check_max_inputs=False): sigdecode=sigdecode_der, ) if not result: - print("t verify2") raise Exception() except: try: @@ -500,14 +485,33 @@ async def verify(self, check_input_spent=False, check_max_inputs=False): self.transaction_signature, ) if not result: - print("t verify3") raise except: - print("t verify3") raise InvalidTransactionSignatureException( "transaction signature did not verify" ) + async def verify( + self, + check_input_spent=False, + check_max_inputs=False, + check_masternode_fee=False, + ): + from yadacoin.contracts.base import Contract + + if check_max_inputs and len(self.inputs) > CHAIN.MAX_INPUTS: + raise TooManyInputsException( + f"Maximum inputs of {CHAIN.MAX_INPUTS} exceeded." + ) + + verify_hash = await self.generate_hash() + address = str(P2PKHBitcoinAddress.from_pubkey(bytes.fromhex(self.public_key))) + + if verify_hash != self.hash: + raise InvalidTransactionException("transaction is invalid") + + self.verify_signature(address) + relationship = self.relationship if isinstance(self.relationship, Contract): relationship = self.relationship.to_string() @@ -516,7 +520,6 @@ async def verify(self, check_input_spent=False, check_max_inputs=False): raise MaxRelationshipSizeExceeded( f"Relationship field cannot be greater than {TransactionConsts.RELATIONSHIP_MAX_SIZE.value} bytes" ) - # verify spend total_input = 0 exclude_recovered_ids = [] @@ -565,7 +568,6 @@ async def verify(self, check_input_spent=False, check_max_inputs=False): bytes.fromhex(txn_input.public_key), ) if not result: - print("t verify4") raise Exception() except: try: @@ -575,7 +577,6 @@ async def verify(self, check_input_spent=False, check_max_inputs=False): txn.signature, ) if not result: - print("t verify5") raise except: raise InvalidTransactionSignatureException( @@ -604,13 +605,31 @@ async def verify(self, check_input_spent=False, check_max_inputs=False): total_output = 0 for txn in self.outputs: total_output += float(txn.value) - - total = float(total_output) + float(self.fee) - if not equal(total_input, total): - raise TotalValueMismatchException( - "inputs and outputs sum must match %s, %s, %s, %s" - % (total_input, float(total_output), float(self.fee), total) - ) + if check_masternode_fee: + total = float(total_output) + float(self.fee) + float(self.masternode_fee) + if not equal(total_input, total): + raise TotalValueMismatchException( + "inputs and outputs sum must match %s, %s, %s, %s, %s" + % ( + total_input, + float(total_output), + float(self.fee), + float(self.masternode_fee), + total, + ) + ) + else: + total = float(total_output) + float(self.fee) + if not equal(total_input, total): + raise TotalValueMismatchException( + "inputs and outputs sum must match %s, %s, %s, %s" + % ( + total_input, + float(total_output), + float(self.fee), + total, + ) + ) async def generate_hash(self): from yadacoin.contracts.base import Contract From 6ed0dd222a2957f6a2c8906beb8b7a540f6c57b2 Mon Sep 17 00:00:00 2001 From: Rakni1988 <67603180+Rakni1988@users.noreply.github.com> Date: Tue, 17 Sep 2024 10:51:08 +0200 Subject: [PATCH 86/94] add masternode support --- yadacoin/core/transactionutils.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/yadacoin/core/transactionutils.py b/yadacoin/core/transactionutils.py index 2da7140f..23f534fc 100644 --- a/yadacoin/core/transactionutils.py +++ b/yadacoin/core/transactionutils.py @@ -102,8 +102,15 @@ async def send( return {"status": "error", "message": "not enough money"} except: raise + + check_masternode_fee = False + if config.LatestBlock.block.index >= CHAIN.CHECK_MASTERNODE_FEE_FORK: + check_masternode_fee = True + try: - await transaction.verify() + await transaction.verify( + check_masternode_fee=check_masternode_fee, + ) except: return {"error": "invalid transaction"} From b8f3a9be65b3ada9eaa1ab3b8ae3bbdd164625bd Mon Sep 17 00:00:00 2001 From: Rakni1988 <67603180+Rakni1988@users.noreply.github.com> Date: Tue, 17 Sep 2024 10:56:13 +0200 Subject: [PATCH 87/94] add masternode fee support --- yadacoin/tcpsocket/node.py | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/yadacoin/tcpsocket/node.py b/yadacoin/tcpsocket/node.py index b6ef182c..a34c6515 100644 --- a/yadacoin/tcpsocket/node.py +++ b/yadacoin/tcpsocket/node.py @@ -215,8 +215,17 @@ async def process_transaction_queue_item(self, item): check_max_inputs = False if self.config.LatestBlock.block.index > CHAIN.CHECK_MAX_INPUTS_FORK: check_max_inputs = True + + check_masternode_fee = False + if self.config.LatestBlock.block.index >= CHAIN.CHECK_MASTERNODE_FEE_FORK: + check_masternode_fee = True + try: - await txn.verify(check_input_spent=True, check_max_inputs=check_max_inputs) + await txn.verify( + check_input_spent=True, + check_max_inputs=check_max_inputs, + check_masternode_fee=check_masternode_fee, + ) except Exception as e: await Transaction.handle_exception(e, txn) return @@ -352,10 +361,18 @@ async def send_mempool(self, peer_stream): check_max_inputs = False if self.config.LatestBlock.block.index > CHAIN.CHECK_MAX_INPUTS_FORK: check_max_inputs = True + + check_masternode_fee = False + if self.config.LatestBlock.block.index >= CHAIN.CHECK_MASTERNODE_FEE_FORK: + check_masternode_fee = True + async for x in self.config.mongo.async_db.miner_transactions.find({}): txn = Transaction.from_dict(x) try: - await txn.verify(check_max_inputs=check_max_inputs) + await txn.verify( + check_max_inputs=check_max_inputs, + check_masternode_fee=check_masternode_fee, + ) except Exception as e: await Transaction.handle_exception(e, txn) continue From 80cf61f8f045a49ddfcb4539c08f6d7579107fcb Mon Sep 17 00:00:00 2001 From: Rakni1988 <67603180+Rakni1988@users.noreply.github.com> Date: Tue, 17 Sep 2024 11:02:57 +0200 Subject: [PATCH 88/94] Update block.py --- yadacoin/core/block.py | 1 - 1 file changed, 1 deletion(-) diff --git a/yadacoin/core/block.py b/yadacoin/core/block.py index 9373807f..1a042ea3 100644 --- a/yadacoin/core/block.py +++ b/yadacoin/core/block.py @@ -160,7 +160,6 @@ async def init_async( for txn in transactions or []: transaction = Transaction.ensure_instance(txn) transaction.coinbase = Block.is_coinbase(self, transaction) - transaction.contract_generated = await transaction.is_contract_generated() self.transactions.append(transaction) return self From aa1349c11f6d031d60957889679c189c6ca1c99f Mon Sep 17 00:00:00 2001 From: Rakni1988 <67603180+Rakni1988@users.noreply.github.com> Date: Tue, 17 Sep 2024 11:19:31 +0200 Subject: [PATCH 89/94] Update block.py --- yadacoin/core/block.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/yadacoin/core/block.py b/yadacoin/core/block.py index 1a042ea3..072c8697 100644 --- a/yadacoin/core/block.py +++ b/yadacoin/core/block.py @@ -206,7 +206,7 @@ async def generate( for x in transactions: x = Transaction.ensure_instance(x) - if await x.is_contract_generated(): + if await x.contract_generated: generated_txns.append(x) else: regular_txns.append(x) @@ -609,7 +609,7 @@ async def verify(self): else: for output in txn.outputs: coinbase_sum += float(output.value) - elif txn.contract_generated: + elif await txn.contract_generated: if self.index >= CHAIN.TXN_V3_FORK_CHECK_MINER_SIGNATURE: result = verify_signature( base64.b64decode(txn.miner_signature), From 85e6bfa2df2a70d629e1c2374deac08c5f3528f2 Mon Sep 17 00:00:00 2001 From: Rakni1988 <67603180+Rakni1988@users.noreply.github.com> Date: Tue, 17 Sep 2024 12:48:19 +0200 Subject: [PATCH 90/94] Update transaction.py --- yadacoin/core/transaction.py | 1 + 1 file changed, 1 insertion(+) diff --git a/yadacoin/core/transaction.py b/yadacoin/core/transaction.py index 5ce5c39b..5f26aad8 100644 --- a/yadacoin/core/transaction.py +++ b/yadacoin/core/transaction.py @@ -88,6 +88,7 @@ def __init__( version=None, miner_signature="", contract_generated=None, + is_contract_generated=None, relationship_hash="", never_expire=False, private=False, From e5583b32349129561d7d60b80e985b3d3cd4de3c Mon Sep 17 00:00:00 2001 From: Rakni1988 <67603180+Rakni1988@users.noreply.github.com> Date: Tue, 17 Sep 2024 13:01:32 +0200 Subject: [PATCH 91/94] fix --- yadacoin/core/miningpool.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/yadacoin/core/miningpool.py b/yadacoin/core/miningpool.py index aa085cd9..2d21c3a4 100644 --- a/yadacoin/core/miningpool.py +++ b/yadacoin/core/miningpool.py @@ -553,10 +553,6 @@ async def verify_pending_transaction( self.config.app_log.warning("transaction version too old, skipping") return - transaction_obj.contract_generated = ( - await transaction_obj.is_contract_generated() - ) - await transaction_obj.verify( check_masternode_fee=check_masternode_fee, ) From cb9b3ffdcb67af892c8e562a3ad30dafba678422 Mon Sep 17 00:00:00 2001 From: Rakni1988 <67603180+Rakni1988@users.noreply.github.com> Date: Tue, 17 Sep 2024 15:19:43 +0200 Subject: [PATCH 92/94] more time for small miners --- yadacoin/core/health.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yadacoin/core/health.py b/yadacoin/core/health.py index 711ee78a..34fbf64a 100644 --- a/yadacoin/core/health.py +++ b/yadacoin/core/health.py @@ -50,7 +50,7 @@ async def check_health(self): return self.report_status(False) for stream in streams: - if time.time() - stream.last_activity > 720: + if time.time() - stream.last_activity > 1200: await self.config.node_server_instance.remove_peer( stream, reason="Stale stream detected in TCPServer, peer removed" ) From e50f5a7bc9a66a665b9380031d4569ccdc68242e Mon Sep 17 00:00:00 2001 From: Rakni1988 Date: Mon, 23 Sep 2024 22:09:15 +0200 Subject: [PATCH 93/94] add: mongo indexing, queries for explorer --- yadacoin/core/mongo.py | 616 +++++++++++++++++++++++++--------- yadacoin/http/explorer.py | 686 +++++++++++++------------------------- 2 files changed, 684 insertions(+), 618 deletions(-) diff --git a/yadacoin/core/mongo.py b/yadacoin/core/mongo.py index 6df89798..1a0de38b 100644 --- a/yadacoin/core/mongo.py +++ b/yadacoin/core/mongo.py @@ -2,6 +2,7 @@ from motor.motor_tornado import MotorClient from pymongo import ASCENDING, DESCENDING, IndexModel, MongoClient +from pymongo.monitoring import CommandListener from yadacoin.core.config import Config @@ -9,23 +10,56 @@ class Mongo(object): def __init__(self): self.config = Config() - self.client = MongoClient(self.config.mongodb_host) + if hasattr(self.config, "mongodb_username") and hasattr( + self.config, "mongodb_password" + ): + try: + self.client = MongoClient(self.config.mongodb_host) + admin_db = self.client["admin"] + admin_db.command( + "createUser", + self.config.mongodb_username, + pwd=self.config.mongodb_password, + roles=["root"], + ) + except: + pass + self.client = MongoClient( + self.config.mongodb_host, + username=self.config.mongodb_username, + password=self.config.mongodb_password, + ) + else: + self.client = MongoClient(self.config.mongodb_host) self.db = self.client[self.config.database] self.site_db = self.client[self.config.site_database] try: # test connection - self.db.yadacoin.find_one() + self.db.blocks.find_one() except Exception as e: raise e __id = IndexModel([("id", ASCENDING)], name="__id", unique=True) __hash = IndexModel([("hash", ASCENDING)], name="__hash") + __time = IndexModel([("time", ASCENDING)], name="__time") __index = IndexModel([("index", ASCENDING)], name="__index") __to = IndexModel([("transactions.outputs.to", ASCENDING)], name="__to") + __value = IndexModel( + [("transactions.outputs.value", ASCENDING)], name="__value" + ) __txn_id = IndexModel([("transactions.id", ASCENDING)], name="__txn_id") + __txn_hash = IndexModel([("transactions.hash", ASCENDING)], name="__txn_hash") __txn_inputs_id = IndexModel( [("transactions.inputs.id", ASCENDING)], name="__txn_inputs_id" ) + __txn_id_inputs_id = IndexModel( + [("transactions.id", ASCENDING), ("transactions.inputs.id", ASCENDING)], + name="__txn_id_inputs_id", + ) + __txn_id_public_key = IndexModel( + [("transactions.id", ASCENDING), ("transactions.public_key", ASCENDING)], + name="__txn_id_public_key", + ) __txn_public_key = IndexModel( [("transactions.public_key", ASCENDING)], name="__txn_public_key" ) @@ -44,6 +78,10 @@ def __init__(self): ], name="__txn_public_key_inputs_public_key_address", ) + __public_key_index = IndexModel( + [("public_key", ASCENDING), ("index", DESCENDING)], + name="__public_key_index", + ) __public_key_time = IndexModel( [ ("public_key", ASCENDING), @@ -92,20 +130,59 @@ def __init__(self): ], name="__txn_rel_contract_identity_public_key", ) + __txn_rel_contract_expiry = IndexModel( + [ + ( + "transactions.relationship.smart_contract.expiry", + ASCENDING, + ) + ], + name="__txn_rel_contract_expiry", + ) + __updated_at = IndexModel( + [ + ( + "updated_at", + ASCENDING, + ) + ], + name="__updated_at", + ) + __txn_outputs_to_index = IndexModel( + [("transactions.outputs.to", ASCENDING), ("index", ASCENDING)], + name="__txn_outputs_to_index", + ) + __txn_inputs_0 = IndexModel( + [("transactions.inputs.0", ASCENDING)], + name="__txn_inputs_0", + ) + __txn_rel_smart_contract_expiry_txn_time = IndexModel( + [ + ("transactions.relationship.smart_contract.expiry", ASCENDING), + ("transactions.time", ASCENDING), + ], + name="__txn_rel_smart_contract_expiry_txn_time", + ) try: self.db.blocks.create_indexes( [ __hash, + __time, __index, __id, __to, + __value, __txn_id, + __txn_hash, __txn_inputs_id, + __txn_id_inputs_id, + __txn_id_public_key, __txn_public_key, __txn_inputs_public_key, __txn_inputs_address, __txn_public_key_inputs_public_key_address, + __public_key_index, __public_key_time, __public_key, __prev_hash, @@ -119,15 +196,38 @@ def __init__(self): __txn_time, __txn_contract_rid, __txn_rel_contract_identity_public_key, + __txn_rel_contract_expiry, + __updated_at, + __txn_outputs_to_index, + __txn_inputs_0, + __txn_rel_smart_contract_expiry_txn_time, ] ) except: pass + __index = IndexModel([("index", ASCENDING)], name="__index") + __found_time = IndexModel([("found_time", DESCENDING)], name="__found_time") + __miner_address = IndexModel([("miner_address", ASCENDING)], name="__miner_address") + __status = IndexModel([("status", ASCENDING)], name="__status") + + try: + self.db.pool_blocks.create_indexes( + [ + __index, + __found_time, + __miner_address, + __status, + ] + ) + except Exception as e: + print(f"Error creating indexes: {e}") + __id = IndexModel([("id", ASCENDING)], name="__id") __height = IndexModel([("height", ASCENDING)], name="__height") + __cache_time = IndexModel([("cache_time", ASCENDING)], name="__cache_time") try: - self.db.unspent_cache.create_indexes([__id, __height]) + self.db.unspent_cache.create_indexes([__id, __height, __cache_time]) except: pass @@ -149,31 +249,22 @@ def __init__(self): except: pass - __address = IndexModel([("address", ASCENDING)], name="__address") - __address_desc = IndexModel([("address", DESCENDING)], name="__address_desc") - __address_only = IndexModel( - [("address_only", ASCENDING)], name="__address_only" - ) - __address_only_desc = IndexModel( - [("address_only", DESCENDING)], name="__address_only_desc" - ) - __index = IndexModel([("index", ASCENDING)], name="__index") - __hash = IndexModel([("hash", ASCENDING)], name="__hash") + __address_only_index = IndexModel([("address_only", ASCENDING), ("index", ASCENDING)], name="__address_only") + __address_time_index = IndexModel([("address", ASCENDING), ("time", DESCENDING)], name="__address_time") __time = IndexModel([("time", DESCENDING)], name="__time") + __index = IndexModel([("index", ASCENDING)], name="__index") + try: self.db.shares.create_indexes( [ - __address, - __address_desc, - __address_only, - __address_only_desc, - __index, - __hash, + __address_only_index, + __address_time_index, __time, + __index, ] ) - except: - pass + except Exception as e: + print(f"Error creating indexes: {e}") __index = IndexModel([("index", DESCENDING)], name="__index") try: @@ -186,11 +277,16 @@ def __init__(self): pass __txn_id = IndexModel([("txn.id", ASCENDING)], name="__txn_id") + __cache_time = IndexModel([("cache_time", ASCENDING)], name="__cache_time") try: - self.db.transactions_by_rid_cache.create_indexes([__txn_id]) + self.db.transactions_by_rid_cache.create_indexes([__txn_id, __cache_time]) except: pass + __id = IndexModel([("id", ASCENDING)], name="__id") + __hash = IndexModel([("hash", ASCENDING)], name="__hash") + __outputs_to = IndexModel([("outputs.to", ASCENDING)], name="__outputs_to") + __public_key = IndexModel([("public_key", ASCENDING)], name="__public_key") __rid = IndexModel([("rid", ASCENDING)], name="__rid") __requested_rid = IndexModel( [("requested_rid", ASCENDING)], name="__requested_rid" @@ -203,9 +299,61 @@ def __init__(self): __fee_time = IndexModel( [("fee", DESCENDING), ("time", ASCENDING)], name="__fee_time" ) + __rel_smart_contract = IndexModel( + [("relationship.smart_contract", ASCENDING)], name="__rel_smart_contract" + ) try: self.db.miner_transactions.create_indexes( [ + __id, + __hash, + __outputs_to, + __public_key, + __rid, + __requested_rid, + __requester_rid, + __time, + __inputs_id, + __fee_time, + __rel_smart_contract, + ] + ) + except: + pass + + __id = IndexModel([("txn.id", ASCENDING)], name="__id") + __hash = IndexModel([("txn.hash", ASCENDING)], name="__hash") + __index = IndexModel( + [("index", DESCENDING)], + name="__index", + ) + __outputs_to = IndexModel([("txn.outputs.to", ASCENDING)], name="__outputs_to") + __outputs_to_index = IndexModel( + [("txn.outputs.to", ASCENDING), ("index", DESCENDING)], + name="__outputs_to_index", + ) + __public_key = IndexModel([("txn.public_key", ASCENDING)], name="__public_key") + __rid = IndexModel([("txn.rid", ASCENDING)], name="__rid") + __requested_rid = IndexModel( + [("txn.requested_rid", ASCENDING)], name="__requested_rid" + ) + __requester_rid = IndexModel( + [("txn.requester_rid", ASCENDING)], name="__requester_rid" + ) + __time = IndexModel([("txn.time", DESCENDING)], name="__time") + __inputs_id = IndexModel([("txn.inputs.id", ASCENDING)], name="__inputs_id") + __fee_time = IndexModel( + [("txn.fee", DESCENDING), ("txn.time", ASCENDING)], name="__fee_time" + ) + try: + self.db.failed_transactions.create_indexes( + [ + __id, + __hash, + __index, + __outputs_to, + __outputs_to_index, + __public_key, __rid, __requested_rid, __requester_rid, @@ -233,14 +381,45 @@ def __init__(self): except: pass + __timestamp = IndexModel([("timestamp", DESCENDING)], name="__timestamp") + __archived = IndexModel([("archived", ASCENDING)], name="__archived") + __timestamp_archived = IndexModel( + [("timestamp", DESCENDING), ("archived", ASCENDING)], + name="__timestamp_archived", + ) + try: + self.db.node_status.create_indexes( + [__timestamp, __archived, __timestamp_archived] + ) + except: + raise + + __time = IndexModel([("time", ASCENDING)], name="__time") + __stat = IndexModel([("stat", ASCENDING)], name="__stat") + try: + self.db.pool_stats.create_indexes([__time, __stat]) + except: + raise + # TODO: add indexes for peers - # See https://motor.readthedocs.io/en/stable/tutorial-tornado.html - self.async_client = MotorClient(self.config.mongodb_host) - self.async_db = AsyncDB(self.async_client) + if hasattr(self.config, "mongodb_username") and hasattr( + self.config, "mongodb_password" + ): + self.async_client = MotorClient( + self.config.mongodb_host, + username=self.config.mongodb_username, + password=self.config.mongodb_password, + event_listeners=[listener], + ) + else: + self.async_client = MotorClient( + self.config.mongodb_host, event_listeners=[listener] + ) + self.async_db = self.async_client[self.config.database] # self.async_db = self.async_client[self.config.database] self.async_site_db = self.async_client[self.config.site_database] - + self.async_db.slow_queries = [] # convert block time from string to number blocks_to_convert = self.db.blocks.find({"time": {"$type": 2}}) for block in blocks_to_convert: @@ -294,144 +473,257 @@ def __init__(self): self.db.blocks.delete_one({"index": block["index"]}) -class AsyncDB: - def __init__(self, async_client): - self.async_client = async_client - self._config = Config() - self.slow_queries = [] - - def __getattr__(self, __name: str): - return Collection(self.async_client, __name) - - async def list_collection_names(self, *args, **kwargs): - start_time = time() - self._db = self.async_client[self._config.database] - result = await self._db.list_collection_names() - if time() - start_time > 3: - self._config.app_log.warning(f"SLOW QUERY: find_one {args}, {kwargs}") - return result - - def __getitem__(self, name): - return getattr(self, name) - - -class Collection: - def __init__(self, async_client, collection): - self._config = Config() - self._db = async_client[self._config.database] - self.collection = collection - - def set_start_time(self): - self.start_time = time() - - def set_duration(self): - self.duration = float("%.3f" % (time() - self.start_time)) +class DeuggingListener(CommandListener): + commands = [ + "find", + "delete", + "insert_one", + "update", + "aggregate", + ] + + def get_collection_name(self, event): + if event.command_name in self.commands: + return event.command.get(event.command_name) + return None + + def started(self, event): + if event.command_name not in self.commands: + return + config = Config() + if not config.mongo: + return + + if not hasattr(config, "mongo_debug"): + return + if not config.mongo_debug: + return + event.command["start_time"] = time() + event.command["max_time_ms"] = config.mongo_query_timeout + if event.command.get(event.command_name) == "child_keys": + return + self.log_explain_output(event) + + def succeeded(self, event): + config = Config() + if not hasattr(config, "mongo_debug"): + return + if not config.mongo_debug: + return + if not hasattr(event, "command"): + return + self.duration = time() - event.command["start_time"] + self.do_logging(event.command_name, event.command) + + def failed(self, event): + config = Config() + if not hasattr(config, "mongo_debug"): + return + if not config.mongo_debug: + return + self.duration = time() - event.command["start_time"] + self.do_logging(event.command_name, event.command) def do_logging(self, query_type, args, kwargs): + config = Config() self.set_duration() message = f"QUERY: {query_type} {self.collection} {args}, {kwargs}, duration: {self.duration}" - if self.duration > 3 and getattr(self._config, "slow_query_logging", None): - self._config.app_log.warning(f"SLOW {message}") - self._config.mongo.async_db.slow_queries.append(message) + if self.duration > 3 and getattr(config, "slow_query_logging", None): + config.app_log.warning(f"SLOW {message}") + config.mongo.async_db.slow_queries.append(message) else: - if hasattr(self._config, "mongo_debug") and self._config.mongo_debug: - self._config.app_log.debug(message) - - async def find_one(self, *args, **kwargs): - self.set_start_time() - kwargs["max_time_ms"] = self._config.mongo_query_timeout - result = await self._db.get_collection(self.collection).find_one( - *args, **kwargs - ) - if self.collection == "child_keys": - return result - self.do_logging("find_one", args, kwargs) - return result - - def find(self, *args, **kwargs): - self.set_start_time() - kwargs["max_time_ms"] = self._config.mongo_query_timeout - result = self._db.get_collection(self.collection).find(*args, **kwargs) - if self.collection == "child_keys": - return result - self.do_logging("find", args, kwargs) - return result - - async def count_documents(self, *args, **kwargs): - self.set_start_time() - pipeline = [ - {"$match": args[0]}, - {"$group": {"_id": None, "count": {"$sum": 1}}}, - ] - cursor = self._db.get_collection(self.collection).aggregate( - pipeline, maxTimeMS=self._config.mongo_query_timeout - ) - result = 0 - async for doc in cursor: - result = doc.get("count", 0) - break - if self.collection == "child_keys": - return result - - self.do_logging("count_documents", args, kwargs) - return result - - async def delete_many(self, *args, **kwargs): - self.set_start_time() - result = await self._db.get_collection(self.collection).delete_many( - *args, **kwargs - ) - if self.collection == "child_keys": - return result - self.do_logging("delete_many", args, kwargs) - return result - - async def insert_one(self, *args, **kwargs): - self.set_start_time() - result = await self._db.get_collection(self.collection).insert_one( - *args, **kwargs - ) - if self.collection == "child_keys": - return result - self.do_logging("insert_one", args, kwargs) - return result - - async def replace_one(self, *args, **kwargs): - self.set_start_time() - result = await self._db.get_collection(self.collection).replace_one( - *args, **kwargs - ) - if self.collection == "child_keys": - return result - self.do_logging("replace_one", args, kwargs) - return result - - async def update_one(self, *args, **kwargs): - self.set_start_time() - result = await self._db.get_collection(self.collection).update_one( - *args, **kwargs - ) - if self.collection == "child_keys": - return result - self.do_logging("update_one", args, kwargs) - return result - - async def update_many(self, *args, **kwargs): - self.set_start_time() - result = await self._db.get_collection(self.collection).update_many( - *args, **kwargs - ) - if self.collection == "child_keys": - return result - self.do_logging("update_many", args, kwargs) - return result - - def aggregate(self, *args, **kwargs): - self.set_start_time() - result = self._db.get_collection(self.collection).aggregate( - *args, **kwargs, maxTimeMS=self._config.mongo_query_timeout - ) - if self.collection == "child_keys": - return result - self.do_logging("aggregate", args, kwargs) - return result + if hasattr(config, "mongo_debug") and config.mongo_debug: + config.app_log.debug(message) + + def log_explain_output(self, event): + config = Config() + # Perform the explain command asynchronously + collection_name = self.get_collection_name(event) + explain_command = event.command.copy() + explain_command["explain"] = event.command_name + + db = config.mongo.client.get_database(event.database_name) + if event.command_name in [ + "find", + "find_one", + "insert_one", + ] and event.command.get("filter", {}): + explain_result = getattr(db[collection_name], event.command_name)( + event.command.get("filter", {}) + ).explain() + + self.get_used_indexes(explain_result, event) + elif event.command_name in [ + "delete", + ] and event.command.get("deletes", {}): + for delete_op in event.command.get("deletes", []): + filter_criteria = delete_op.get("q", {}) + if not filter_criteria: + return + explain_result = db[collection_name].find(filter_criteria).explain() + self.get_used_indexes(explain_result, event) + elif event.command_name in [ + "update", + ] and event.command.get("updates", {}): + for delete_op in event.command.get("updates", []): + filter_criteria = delete_op.get("q", {}) + if not filter_criteria: + return + explain_result = db[collection_name].find(filter_criteria).explain() + self.get_used_indexes(explain_result, event) + elif event.command_name == "aggregate" and explain_command.get("pipeline", []): + if event.command.get("explain"): + return + pipeline = explain_command.get("pipeline", []) + explain_result = db.command( + { + "aggregate": collection_name, + "pipeline": pipeline, + "explain": True, + } + ) + self.get_used_indexes(explain_result, event) + else: + return False + + def get_used_indexes(self, explain_result, event): + if not explain_result: + return + config = Config() + used_indexes = False + if event.command.get("pipeline", {}): + if explain_result.get("stages"): + query_planner = explain_result["stages"][0]["$cursor"].get( + "queryPlanner", {} + ) + else: + query_planner = explain_result.get("queryPlanner", {}) + winning_plan = query_planner.get("winningPlan", {}) + used_indexes = winning_plan.get("indexName", False) + if not used_indexes: + try: + used_indexes = self.get_used_index_from_input_stage(winning_plan) + except: + message = f"Failed getting index information: {event.command_name} : {query_planner['namespace']} : {event.command.get('pipeline', {})}" + config.app_log.warning(message) + + if not used_indexes: + self.handle_unindexed_log( + event.command_name, + query_planner["namespace"], + event.command.get("pipeline", {}), + ) + elif event.command.get("filter", {}): + query_planner = explain_result.get("queryPlanner", {}) + winning_plan = query_planner.get("winningPlan", {}) + input_stage = winning_plan.get("inputStage", {}) + used_indexes = input_stage.get("indexName", False) + + if not used_indexes: + try: + used_indexes = self.get_used_index_from_input_stage(winning_plan) + except: + message = f"Failed getting index information: {event.command_name} : {query_planner['namespace']} : {event.command.get('filter', {})}" + config.app_log.warning(message) + + if not used_indexes: + self.handle_unindexed_log( + event.command_name, + query_planner["namespace"], + event.command.get("filter", {}), + ) + elif event.command.get("deletes", {}): + query_planner = explain_result.get("queryPlanner", {}) + winning_plan = query_planner.get("winningPlan", {}) + input_stage = winning_plan.get("inputStage", {}) + used_indexes = input_stage.get("indexName", False) + if not used_indexes: + self.handle_unindexed_log( + event.command_name, + query_planner["namespace"], + event.command.get("deletes", {}), + ) + elif event.command.get("updates", {}): + query_planner = explain_result.get("queryPlanner", {}) + winning_plan = query_planner.get("winningPlan", {}) + input_stage = winning_plan.get("inputStage", {}) + used_indexes = input_stage.get("indexName", False) + if not used_indexes: + self.handle_unindexed_log( + event.command_name, + query_planner["namespace"], + event.command.get("updates", {}), + ) + if used_indexes: + message = f"Indexes used: {used_indexes} : {event.command_name} : {query_planner['namespace']} : {event.command.get('pipeline', event.command.get('filter', {}))}" + config.app_log.info(message) + return used_indexes + + def get_used_index_from_input_stage(self, input_stage, used_indexes=None): + if used_indexes is None: + used_indexes = [] + index_name = input_stage.get("indexName", False) + if index_name: + used_indexes.append(index_name) + return True + + interim_input_stage = input_stage.get("inputStage", {}) + if interim_input_stage: + input_stage = input_stage.get("inputStage", {}) + result = self.get_used_index_from_input_stage(input_stage, used_indexes) + if not result: + return False + interim_input_stages = input_stage.get("inputStages", {}) + if interim_input_stages: + for input_stg in interim_input_stages: + result = self.get_used_index_from_input_stage(input_stg, used_indexes) + if not result: + return False + return used_indexes + return used_indexes + + def handle_unindexed_log(self, command_name, collection, query): + if collection.endswith("unindexed_queries") or collection.endswith("_cache"): + return + config = Config() + message = f"Unindexed query detected: {command_name} : {collection} : {query}" + config.app_log.warning(message) + flattened_data = self.flatten_data(query) + config.mongo.db.unindexed_queries.update_many( + { + "command_name": command_name, + "collection": collection, + **{f"query.{k}": {"$exists": True} for k, v in flattened_data.items()}, + }, + { + "$set": { + "command_name": command_name, + "collection": collection, + **{f"query.{k}": v for k, v in flattened_data.items()}, + }, + "$inc": {"count": 1}, + }, + upsert=True, + ) + + def flatten_data(self, data, parent_key="", sep="."): + items = [] + if isinstance(data, dict): + for k, v in data.items(): + new_key = f"{parent_key}{sep}{k}" if parent_key else k + if isinstance(v, dict) or isinstance(v, list): + items.extend(self.flatten_data(v, new_key, sep=sep).items()) + else: + items.append((new_key, None)) + elif isinstance(data, list): + for i, item in enumerate(data): + new_key = f"{parent_key}{sep}{i}" if parent_key else str(i) + if isinstance(item, dict) or isinstance(item, list): + items.extend(self.flatten_data(item, new_key, sep=sep).items()) + else: + items.append((new_key, None)) + return dict(items) + + +# Register the profiling listener +listener = DeuggingListener() \ No newline at end of file diff --git a/yadacoin/http/explorer.py b/yadacoin/http/explorer.py index 40e674fe..5d02d162 100644 --- a/yadacoin/http/explorer.py +++ b/yadacoin/http/explorer.py @@ -54,41 +54,39 @@ async def get(self): mixpanel="explorer page", ) + class ExplorerSearchHandler(BaseHandler): + async def get_wallet_balance(self, term): re.search(r"[A-Fa-f0-9]+", term).group(0) - res = await self.config.mongo.async_db.blocks.count_documents( - {"transactions.outputs.to": term} - ) - if res: - balance = await self.config.BU.get_wallet_balance(term) - blocks = await self.config.mongo.async_db.blocks.find( - {"transactions.outputs.to": term}, - {"_id": 0, "index": 1, "time": 1, "hash": 1, "transactions": 1}, - ).sort("index", -1).to_list(length=None) - - result = [ - { - "index": block["index"], - "time": block["time"], - "hash": block["hash"], - "transactions": [ - txn - for txn in block.get("transactions", []) - if any(output.get("to") == term for output in txn.get("outputs", [])) - ], - } - for block in blocks - ] + balance = await self.config.BU.get_wallet_balance(term) + blocks = await self.config.mongo.async_db.blocks.find( + {"transactions.outputs.to": term}, + {"_id": 0, "index": 1, "time": 1, "hash": 1, "transactions": 1}, + ).sort("index", -1).to_list(length=None) - return self.render_as_json( - { - "balance": "{0:.8f}".format(balance), - "resultType": "txn_outputs_to", - "searchedId": term, - "result": result, - } - ) + result = [ + { + "index": block["index"], + "time": block["time"], + "hash": block["hash"], + "transactions": [ + txn + for txn in block.get("transactions", []) + if any(output.get("to") == term for output in txn.get("outputs", [])) + ], + } + for block in blocks + ] + + return self.render_as_json( + { + "balance": "{0:.8f}".format(balance), + "resultType": "txn_outputs_to", + "searchedId": term, + "result": result, + } + ) async def get(self): term = self.get_argument("term", False) @@ -96,465 +94,242 @@ async def get(self): self.render_as_json({}) return - result_type = self.get_argument("result_type", False) - if result_type == "get_wallet_balance": - try: - return await self.get_wallet_balance(term) - except Exception: - raise - - try: - res = await self.config.mongo.async_db.blocks.count_documents( - {"index": int(term)} - ) - if res: - return self.render_as_json( - { - "resultType": "block_height", - "result": [ - changetime(x) - async for x in self.config.mongo.async_db.blocks.find( - {"index": int(term)}, {"_id": 0} - ) - ], - } - ) - except: - pass - try: - res = await self.config.mongo.async_db.blocks.count_documents( - {"public_key": term} - ) - if res: - return self.render_as_json( - { - "resultType": "block_height", - "result": [ - changetime(x) - async for x in self.config.mongo.async_db.blocks.find( - {"public_key": term}, {"_id": 0} - ) - ], - } - ) - except: - pass - try: - res = await self.config.mongo.async_db.blocks.count_documents( - {"transactions.public_key": term} - ) - if res: - return self.render_as_json( - { - "resultType": "block_height", - "result": [ - changetime(x) - async for x in self.config.mongo.async_db.blocks.find( - {"transactions.public_key": term}, {"_id": 0} - ) - ], - } - ) - except: - pass - try: - re.search(r"[A-Fa-f0-9]{64}", term).group(0) - res = await self.config.mongo.async_db.blocks.count_documents( - {"hash": term} - ) - if res: - return self.render_as_json( - { - "resultType": "block_hash", - "result": [ - changetime(x) - async for x in self.config.mongo.async_db.blocks.find( - {"hash": term}, {"_id": 0} - ) - ], - } - ) - except: - pass - try: - base64.b64decode(term.replace(" ", "+")) - res = await self.config.mongo.async_db.blocks.count_documents( - {"id": term.replace(" ", "+")} - ) - if res: - return self.render_as_json( - { - "resultType": "block_id", - "result": [ - changetime(x) - async for x in self.config.mongo.async_db.blocks.find( - {"id": term.replace(" ", "+")}, {"_id": 0} - ) - ], - } - ) - except: - pass + if re.fullmatch(r"[A-Za-z0-9]{34}", term): + return await self.search_by_wallet_address(term) - try: - re.search(r"[A-Fa-f0-9]{64}", term).group(0) + if term.isdigit(): + return await self.search_by_block_index(int(term)) + + if re.fullmatch(r"[A-Fa-f0-9]{64}", term): + return await self.search_by_block_hash(term) - transactions = await self.config.mongo.async_db.blocks.aggregate( - [ - { - "$match": { - "transactions.hash": term, - } - }, - { - "$unwind": "$transactions" - }, - { - "$match": { - "transactions.hash": term - } - }, - { - "$project": { - "_id": 0, - "result": [{ - "$mergeObjects": ["$transactions", { - "blockIndex": "$index", - "blockHash": "$hash" - }] - }], - } - } - ] - ).to_list(None) + try: + base64.b64decode(term.replace(" ", "+")) + return await self.search_by_base64_id(term.replace(" ", "+")) + except Exception as e: + print(f"Error decoding base64: {e}") - return self.render_as_json( - { - "resultType": "txn_hash", - "searchedId": term, - "result": transactions[0]["result"], - } - ) + if re.fullmatch(r"[A-Fa-f0-9]+", term): + return await self.search_by_public_key(term) except Exception as e: - print(f"Error processing transaction hash: {e}") - pass + print(f"Error identifying search term: {e}") - try: - re.search(r"[A-Fa-f0-9]{64}", term).group(0) - res = await self.config.mongo.async_db.blocks.count_documents( - {"transactions.rid": term} - ) - if res: - return self.render_as_json( - { - "resultType": "txn_rid", - "result": [ - changetime(x) - async for x in self.config.mongo.async_db.blocks.find( - {"transactions.rid": term}, {"_id": 0} - ) - ], - } - ) - except: - pass + return self.render_as_json({}) - try: - decoded_term = base64.b64decode(term.replace(" ", "+")) - searched_id = term.replace(" ", "+") + async def search_by_wallet_address(self, wallet_address): + blocks = await self.config.mongo.async_db.blocks.find( + {"transactions.outputs.to": wallet_address}, + {"_id": 0, "index": 1, "time": 1, "hash": 1, "transactions": 1} + ).sort("index", -1).to_list(length=None) - pipeline = [ - { - "$match": { - "$or": [ - {"transactions.id": searched_id}, - {"transactions.inputs.id": searched_id}, - ] - } - }, - { - "$project": { - "_id": 0, - "blockIndex": "$index", - "blockHash": "$hash", - "transactions": { - "$filter": { - "input": "$transactions", - "as": "transaction", - "cond": { - "$or": [ - {"$eq": ["$$transaction.id", searched_id]}, - { - "$anyElementTrue": { - "$map": { - "input": "$$transaction.inputs", - "as": "input", - "in": {"$eq": ["$$input.id", searched_id]}, - } - } - }, - ] - }, - } - }, - }, - }, - { - "$unwind": "$transactions" - }, + result = [ + { + "index": block["index"], + "time": block["time"], + "hash": block["hash"], + "transactions": [ + txn + for txn in block.get("transactions", []) + if any(output.get("to") == wallet_address for output in txn.get("outputs", [])) + ], + } + for block in blocks + ] + + if result: + return self.render_as_json({ + "resultType": "txn_outputs_to", + "searchedId": wallet_address, + "result": result, + }) + else: + return self.render_as_json({ + "resultType": "txn_outputs_to", + "searchedId": wallet_address, + "result": [], + }) + + async def search_by_block_index(self, index): + blocks = await self.config.mongo.async_db.blocks.find( + {"index": index}, {"_id": 0} + ).to_list(length=None) + + if blocks: + return self.render_as_json({ + "resultType": "block_height", + "result": [changetime(x) for x in blocks], + }) + + async def search_by_block_hash(self, block_hash): + blocks = await self.config.mongo.async_db.blocks.find( + {"hash": block_hash}, {"_id": 0} + ).to_list(length=None) + + if blocks: + return self.render_as_json({ + "resultType": "block_hash", + "result": [changetime(x) for x in blocks], + }) + + transactions = await self.config.mongo.async_db.blocks.aggregate( + [ + {"$match": {"transactions.hash": block_hash}}, + {"$unwind": "$transactions"}, + {"$match": {"transactions.hash": block_hash}}, { "$project": { "_id": 0, - "result": { + "result": [{ "$mergeObjects": ["$transactions", { - "blockIndex": "$blockIndex", - "blockHash": "$blockHash" + "blockIndex": "$index", + "blockHash": "$hash" }] - }, + }], } - }, - ] - - result = await self.config.mongo.async_db.blocks.aggregate(pipeline).to_list(length=None) - transactions = [block["result"] for block in result if block.get("result")] - - return self.render_as_json( - { - "resultType": "txn_id", - "searchedId": searched_id, - "result": transactions, } - ) + ] + ).to_list(None) + + if transactions: + return self.render_as_json({ + "resultType": "txn_hash", + "searchedId": block_hash, + "result": transactions[0]["result"], + }) + + mempool_result = await self.search_in_mempool_by_hash(block_hash) + + if mempool_result: + mempool_result["blockHash"] = "MEMPOOL" + mempool_result["blockIndex"] = "MEMPOOL" + + return self.render_as_json({ + "resultType": "txn_hash", + "searchedId": block_hash, + "result": [mempool_result], + }) - except Exception as e: - print(f"Error processing transaction ID: {e}") - pass + return self.render_as_json({}) - except Exception as e: - print(f"Error processing transaction ID: {e}") - pass + async def search_by_base64_id(self, txn_id): + blocks = await self.config.mongo.async_db.blocks.find( + {"id": txn_id}, {"_id": 0} + ).to_list(length=None) - try: - res = await self.get_wallet_balance(term) - if res: - return res - except Exception: - pass + if blocks: + return self.render_as_json({ + "resultType": "block_id", + "result": [changetime(x) for x in blocks], + }) - try: - base64.b64decode(term.replace(" ", "+")) - res = await self.config.mongo.async_db.miner_transactions.count_documents( - {"id": term.replace(" ", "+")} - ) - if res: - results = [ - changetime(x) - async for x in self.config.mongo.async_db.miner_transactions.find( - {"id": term.replace(" ", "+")}, {"_id": 0} - ) - ] - return self.render_as_json( - { - "resultType": "mempool_id", - "searchedId": term.replace(" ", "+"), - "result": results, - } - ) - except: - pass - - try: - match = re.search(r"[A-Fa-f0-9]{64}", term) - if match: - res = await self.config.mongo.async_db.miner_transactions.count_documents( - {"hash": term} - ) - if res: - results = [ - changetime(x) - async for x in self.config.mongo.async_db.miner_transactions.find( - {"hash": term}, {"_id": 0} - ) + pipeline = [ + { + "$match": { + "$or": [ + {"transactions.id": txn_id}, + {"transactions.inputs.id": txn_id}, ] - return self.render_as_json( - { - "resultType": "mempool_hash", - "searchedId": term, - "result": results, + } + }, + { + "$project": { + "_id": 0, + "blockIndex": "$index", + "blockHash": "$hash", + "transactions": { + "$filter": { + "input": "$transactions", + "as": "transaction", + "cond": { + "$or": [ + {"$eq": ["$$transaction.id", txn_id]}, + { + "$anyElementTrue": { + "$map": { + "input": "$$transaction.inputs", + "as": "input", + "in": {"$eq": ["$$input.id", txn_id]}, + } + } + }, + ] + }, } - ) - except: - pass + }, + }, + }, + {"$unwind": "$transactions"}, + { + "$project": { + "_id": 0, + "result": { + "$mergeObjects": ["$transactions", { + "blockIndex": "$blockIndex", + "blockHash": "$blockHash" + }] + }, + } + }, + ] - try: - re.search(r"[A-Fa-f0-9]+", term).group(0) - res = await self.config.mongo.async_db.miner_transactions.count_documents( - {"outputs.to": term} - ) - if res: - return self.render_as_json( - { - "resultType": "mempool_outputs_to", - "result": [ - changetime(x) - async for x in self.config.mongo.async_db.miner_transactions.find( - {"outputs.to": term}, {"_id": 0} - ) - .sort("index", -1) - .limit(10) - ], - } - ) - except: - pass + result = await self.config.mongo.async_db.blocks.aggregate(pipeline).to_list(length=None) + transactions = [block["result"] for block in result if block.get("result")] - try: - res = await self.config.mongo.async_db.miner_transactions.count_documents( - {"public_key": term} - ) - if res: - return self.render_as_json( - { - "resultType": "mempool_public_key", - "result": [ - changetime(x) - async for x in self.config.mongo.async_db.miner_transactions.find( - {"public_key": term}, {"_id": 0} - ) - ], - } - ) - except: - pass + if transactions: + return self.render_as_json({ + "resultType": "txn_id", + "searchedId": txn_id, + "result": transactions, + }) - try: - res = await self.config.mongo.async_db.miner_transactions.count_documents( - {"rid": term} - ) - if res: - return self.render_as_json( - { - "resultType": "mempool_rid", - "result": [ - changetime(x) - async for x in self.config.mongo.async_db.miner_transactions.find( - {"rid": term}, {"_id": 0} - ) - ], - } - ) - except: - pass + mempool_result = await self.search_in_mempool_by_id(txn_id) - try: - base64.b64decode(term.replace(" ", "+")) - res = await self.config.mongo.async_db.failed_transactions.count_documents( - {"txn.id": term.replace(" ", "+")} - ) - if res: - return self.render_as_json( - { - "resultType": "failed_id", - "result": [ - changetime(x) - async for x in self.config.mongo.async_db.failed_transactions.find( - {"txn.id": term.replace(" ", "+")}, - {"_id": 0, "txn._id": 0}, - ) - ], - } - ) - except: - pass + if mempool_result: + mempool_result["blockHash"] = "MEMPOOL" + mempool_result["blockIndex"] = "MEMPOOL" - try: - re.search(r"[A-Fa-f0-9]{64}", term).group(0) - res = await self.config.mongo.async_db.failed_transactions.count_documents( - {"txn.hash": term} - ) - if res: - return self.render_as_json( - { - "resultType": "failed_hash", - "result": [ - changetime(x) - async for x in self.config.mongo.async_db.failed_transactions.find( - {"txn.hash": term}, - {"_id": 0, "txn._id": 0}, - ) - ], - } - ) - except: - pass + return self.render_as_json({ + "resultType": "txn_id", + "searchedId": txn_id, + "result": [mempool_result], + }) - try: - re.search(r"[A-Fa-f0-9]+", term).group(0) - res = await self.config.mongo.async_db.failed_transactions.count_documents( - {"txn.outputs.to": term} - ) - if res: - return self.render_as_json( - { - "resultType": "failed_outputs_to", - "result": [ - changetime(x) - async for x in self.config.mongo.async_db.failed_transactions.find( - {"txn.outputs.to": term}, - {"_id": 0, "txn._id": 0}, - ) - .sort("index", -1) - .limit(10) - ], - } - ) - except: - pass + return self.render_as_json({}) + async def search_by_public_key(self, public_key): + blocks = await self.config.mongo.async_db.blocks.find( + {"public_key": public_key}, {"_id": 0} + ).to_list(length=None) + + if blocks: + return self.render_as_json({ + "resultType": "block_height", + "result": [changetime(x) for x in blocks], + }) + + async def search_in_mempool_by_hash(self, block_hash): try: - res = await self.config.mongo.async_db.failed_transactions.count_documents( - {"txn.public_key": term} + result = await self.config.mongo.async_db.miner_transactions.find_one( + {"hash": block_hash}, {"_id": 0} ) - if res: - return self.render_as_json( - { - "resultType": "failed_public_key", - "result": [ - changetime(x) - async for x in self.config.mongo.async_db.failed_transactions.find( - {"txn.public_key": term}, - {"_id": 0, "txn._id": 0}, - ) - ], - } - ) - except: - pass + return result if result else None + except Exception as e: + print(f"Error searching mempool by hash: {e}") + return None + + async def search_in_mempool_by_id(self, txn_id): try: - res = await self.config.mongo.async_db.failed_transactions.count_documents( - {"txn.rid": term} + result = await self.config.mongo.async_db.miner_transactions.find_one( + {"id": txn_id}, {"_id": 0} ) - if res: - return self.render_as_json( - { - "resultType": "failed_rid", - "result": [ - changetime(x) - async for x in self.config.mongo.async_db.failed_transactions.find( - {"txn.rid": term}, - {"_id": 0, "txn._id": 0}, - ) - ], - } - ) - except: - pass - - return self.render_as_json({}) + return result if result else None + except Exception as e: + print(f"Error searching mempool by ID: {e}") + return None class ExplorerGetBalance(BaseHandler): async def get(self): @@ -618,7 +393,6 @@ async def get(self): {"resultType": "mempool", "result": res} ) - EXPLORER_HANDLERS = [ (r"/api-stats", HashrateAPIHandler), (r"/explorer", ExplorerHandler), From d7d31a9421ac6fa1757c4af9392cfb8f056f5f12 Mon Sep 17 00:00:00 2001 From: Rakni1988 Date: Mon, 23 Sep 2024 23:43:25 +0200 Subject: [PATCH 94/94] upgrade blocks page --- .../yadacoinpool/static/content/blocks.html | 267 ++++++++---------- yadacoin/http/pool.py | 111 ++++++-- 2 files changed, 202 insertions(+), 176 deletions(-) diff --git a/plugins/yadacoinpool/static/content/blocks.html b/plugins/yadacoinpool/static/content/blocks.html index 01d233d5..34309754 100644 --- a/plugins/yadacoinpool/static/content/blocks.html +++ b/plugins/yadacoinpool/static/content/blocks.html @@ -61,179 +61,154 @@
          AVARAGE LUCK
          } }); - $.get('/pool-blocks').then((data) => { - const max_target_hex = '0x0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'; - const max_target = parseInt(max_target_hex, 16); + if (typeof blockPageIndex === 'undefined') { + var blockPageIndex = 1; + } - const thirtyDaysAgo = new Date(); - thirtyDaysAgo.setDate(thirtyDaysAgo.getDate() - 30); + if (typeof blockPageSize === 'undefined') { + var blockPageSize = 10; + } - function groupBlocksByDate(blocks, acceptedOnly = false) { - const groupedBlocks = {}; + function updatePoolBlocksData(blockPageIndex) { + const max_target_hex = '0x0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'; + const max_target = parseInt(max_target_hex, 16); - for (let i = 0; i < blocks.length; i++) { - const block = blocks[i]; - if (!acceptedOnly || (acceptedOnly && block.status === 'Accepted')) { - const foundDate = new Date(block.found_time * 1000); - const dateKey = foundDate.toISOString().split('T')[0]; - - if (!groupedBlocks[dateKey]) { - groupedBlocks[dateKey] = []; - } - - groupedBlocks[dateKey].push(block); - } - } - - return groupedBlocks; - } - - var poolAddress = data.pool.pool_address; - $('#maturity').html(data.pool.block_confirmation); - $('#avg-effort').html(data.pool.average_effort.toFixed(2) + ' %'); + $.get(`/pool-blocks?page=${blockPageIndex}&page_size=${blockPageSize}`).then((data) => { + $('#maturity').html(data.pool_info.block_confirmation); if (data.blocks.length === 0) return $('#blocks-table').html('Time FoundDifficultyHeightRewardFinderEffortBlock HashStatus'); - const filteredBlocks = data.blocks.filter(block => { - const foundDate = new Date(block.found_time * 1000); - const foundInLast30Days = foundDate >= thirtyDaysAgo; - return foundInLast30Days; - }); + for (var i = 0; i < data.blocks.length; i++) { + var newDate = new Date(); + newDate.setTime(data.blocks[i].found_time * 1000); + var foundDateString = newDate.toLocaleString(); - for (var i = 0; i < filteredBlocks.length; i++) { - var newDate = new Date(); - newDate.setTime(filteredBlocks[i].time * 1000); - dateString = newDate.toLocaleString(); - var foundDate = new Date(); - foundDate.setTime(filteredBlocks[i].found_time * 1000); - foundDateString = foundDate.toLocaleString(); - var reward = getRewardFromTransactions(filteredBlocks[i].transactions, poolAddress); - var status = filteredBlocks[i].status; - - var difficulty = "N/A"; - if (filteredBlocks[i].target) { - var target = parseInt(filteredBlocks[i].target, 16); - difficulty = (max_target / target).toFixed(3); - } - - var effort = filteredBlocks[i].effort !== undefined ? parseFloat(filteredBlocks[i].effort).toFixed(2) + "%" : "N/A"; + var reward = data.blocks[i].reward + " YDA" || 'N/A'; + var difficulty = "N/A"; + if (data.blocks[i].target) { + var target = parseInt(data.blocks[i].target, 16); + difficulty = (max_target / target).toFixed(3); + } - const statusIcon = getStatusIcon(status); + var effort = data.blocks[i].effort !== undefined ? parseFloat(data.blocks[i].effort).toFixed(2) + "%" : "N/A"; + var effortColor = getEffortColor(data.blocks[i].effort); - var effortColor = ''; - if (filteredBlocks[i].effort > 155) { - effortColor = 'red'; - } else if (filteredBlocks[i].effort > 105) { - effortColor = 'orange'; - } else { - effortColor = 'green'; - } - - $('#blocks-table').append('' + foundDateString + '' + difficulty + '' + filteredBlocks[i].index + '' + reward + '' + filteredBlocks[i].hash + '' + getMinerAddress(filteredBlocks[i].miner_address) + '' + effort + '' + getStatusIcon(status) + ''); + $('#blocks-table').append('' + foundDateString + '' + difficulty + '' + data.blocks[i].index + '' + reward + '' + data.blocks[i].hash + '' + getMinerAddress(data.blocks[i].miner_address) + '' + effort + '' + getStatusIcon(data.blocks[i].status) + ''); } + }); + } + + function getEffortColor(effort) { + if (effort > 155) { + return 'red'; + } else if (effort > 105) { + return 'orange'; + } else { + return 'green'; + } + } + + function getStatusIcon(status) { + let statusIconPath = ''; + if (status === 'Pending') { + statusIconPath = 'yadacoinpoolstatic/img/pending.png'; + } else if (status === 'Accepted') { + statusIconPath = 'yadacoinpoolstatic/img/accept.png'; + } else if (status === 'Orphan') { + statusIconPath = 'yadacoinpoolstatic/img/not_accept.png'; + } - function getStatusIcon(status) { - let statusIconPath = ''; - if (status === 'Pending') { - statusIconPath = 'yadacoinpoolstatic/img/pending.png'; - } else if (status === 'Accepted') { - statusIconPath = 'yadacoinpoolstatic/img/accept.png'; - } else if (status === 'Orphan') { - statusIconPath = 'yadacoinpoolstatic/img/not_accept.png'; - } + return '' + status + ''; + } - return '' + status + ''; + function getMinerAddress(minerAddress) { + if (minerAddress && minerAddress.length >= 16) { + return minerAddress.substring(0, 5) + '.....' + minerAddress.slice(-10); } + return 'Unknown'; + } - function getMinerAddress(minerAddress) { - if (minerAddress && minerAddress.length >= 16) { - return minerAddress.substring(0, 5) + 'XxxxxxX' + minerAddress.slice(-10); - } - return 'Unknown'; - } + $('#loadMore').click(function () { + blockPageIndex++; + updatePoolBlocksData(blockPageIndex); + }); - function getRewardFromTransactions(transactions, poolAddress) { - var highestReward = 0.0; + updatePoolBlocksData(blockPageIndex); - for (var i = 0; i < transactions.length; i++) { - for (var j = 0; j < transactions[i].outputs.length; j++) { - if (transactions[i].outputs[j].to === poolAddress) { - var currentReward = transactions[i].outputs[j].value; - if (currentReward > highestReward) { - highestReward = currentReward; - } - } - } - } - return highestReward + ' YDA'; - } + $.get('/pool-blocks-chart').then((chartData) => { + const last30Days = []; + const today = new Date(); - var pagelength = 10; - var pageIndex = 1; - var selector = "tr:gt(" + pagelength + ")"; - $(selector).hide(); + for (let i = 29; i >= 0; i--) { + const day = new Date(today); + day.setDate(today.getDate() - i); + const formattedDate = day.toISOString().split('T')[0]; + last30Days.push(formattedDate); + } - $("#loadMore").click(function () { - var itemsCount = ((pageIndex * pagelength) + pagelength); - var selector = "tr:lt(" + itemsCount + ")"; - $(selector).show(); - pageIndex++; - }); + const dateToBlockCount = {}; + const dateToAverageEffort = {}; - const last30Days = []; - for (let i = 0; i < 31; i++) { - const day = new Date(thirtyDaysAgo); - day.setDate(thirtyDaysAgo.getDate() + i); - const formattedDate = day.toISOString().split('T')[0]; - last30Days.push(formattedDate); - } + chartData.blocks_by_date.forEach(entry => { + dateToBlockCount[entry._id] = entry.count; + dateToAverageEffort[entry._id] = entry.average_effort; + }); - const groupedBlocks = groupBlocksByDate(filteredBlocks, true); - const dates = last30Days; - const blockCounts = dates.map(date => { - const count = groupedBlocks[date] ? groupedBlocks[date].length : 0; - return count; - }); + const dates = last30Days; + const blockCounts = dates.map(date => dateToBlockCount[date] || 0); + const averageEfforts = dates.map(date => dateToAverageEffort[date] || 0); - createBarChart(dates, blockCounts); + $('#pool-luck').html(chartData.total_effort.toFixed(2) + ' %'); + $('#avg-effort').html(chartData.average_effort.toFixed(2) + ' %'); + + createCombinedChart(dates, blockCounts, averageEfforts); }); - function createBarChart(dates, blockCounts) { + function createCombinedChart(dates, blockCounts, averageEfforts) { const ctx = document.getElementById('myBarChart').getContext('2d'); - const chartContainer = document.getElementById('chart-container'); - chartContainer.style.width = '100%'; - chartContainer.style.height = '220px'; - - const lightGrey = 'rgba(192, 192, 192, 0.8)'; - const darkGrey = 'rgba(64, 64, 64, 1)'; - - const myBarChart = new Chart(ctx, { - type: 'bar', - data: { - labels: dates, - datasets: [{ - label: 'Blocks found by pool', - data: blockCounts, - backgroundColor: '#A9A9A9', - borderColor: darkGrey, - borderWidth: 1 - }] - }, - options: { - scales: { - y: { - beginAtZero: true - } + new Chart(ctx, { + type: 'bar', + data: { + labels: dates, + datasets: [ + { + label: 'Average Effort', + data: averageEfforts, + type: 'line', + borderColor: '#007bff', + backgroundColor: 'rgba(0, 123, 255, 0.2)', + fill: false, + yAxisID: 'y1' + }, + { + label: 'Blocks found by pool', + data: blockCounts, + backgroundColor: '#A9A9A9', + borderColor: '#404040', + borderWidth: 1, + yAxisID: 'y' + } + ] }, - plugins: { - legend: { - display: false, + options: { + scales: { + y: { + beginAtZero: true, + position: 'left' + }, + y1: { + beginAtZero: true, + position: 'right', + grid: { + drawOnChartArea: false + } + } }, - }, - maintainAspectRatio: false, - } + maintainAspectRatio: false + } }); - } + } + diff --git a/yadacoin/http/pool.py b/yadacoin/http/pool.py index 40491bf6..e8f8c663 100644 --- a/yadacoin/http/pool.py +++ b/yadacoin/http/pool.py @@ -175,50 +175,100 @@ async def get(self): class PoolBlocksHandler(BaseHandler): async def get(self): - thirty_days_ago_timestamp = time.time() - (30 * 24 * 60 * 60) + page = int(self.get_argument("page", 1)) + page_size = int(self.get_argument("page_size", 10)) pool_blocks = ( await self.config.mongo.async_db.pool_blocks - .find( - {"found_time": {"$gte": thirty_days_ago_timestamp}}, - {"_id": 0, "index": 1, "time": 1, "found_time": 1, "target": 1, "transactions": 1, "status": 1, "hash": 1, "effort": 1, "miner_address": 1} - ) + .find({}, { + "_id": 0, + "index": 1, + "found_time": 1, + "target": 1, + "transactions": 1, + "status": 1, + "hash": 1, + "miner_address": 1, + "effort": 1 + }) .sort("index", -1) + .skip((page - 1) * page_size) + .limit(page_size) .to_list(None) ) - total_effort = 0 - valid_effort_count = 0 - - formatted_blocks = [] for block in pool_blocks: - if "effort" in block: - total_effort += block["effort"] - valid_effort_count += 1 - miner_address = block.get("miner_address", "unknown") - - formatted_blocks.append({ - "index": block["index"], - "time": block["time"], - "found_time": block["found_time"], - "target": block["target"], - "transactions": block["transactions"], - "status": block["status"], - "hash": block["hash"], - "effort": block["effort"] if "effort" in block else "N/A", - "miner_address": miner_address - }) + block["reward"] = self.get_coinbase_reward(block["transactions"], self.config.address) + del block["transactions"] - average_effort = total_effort / valid_effort_count if valid_effort_count > 0 else "N/A" - block_confirmation = self.config.block_confirmation + total_blocks = await self.config.mongo.async_db.pool_blocks.count_documents({}) pool_info = { "pool_address": self.config.address, - "average_effort": average_effort, - "block_confirmation": block_confirmation, + "block_confirmation": self.config.block_confirmation, } - self.render_as_json({"pool": pool_info, "blocks": formatted_blocks}) + self.render_as_json({ + "pool_info": pool_info, + "blocks": pool_blocks, + "pagination": { + "total_blocks": total_blocks, + "page": page, + "page_size": page_size + } + }) + + def get_coinbase_reward(self, transactions, pool_address): + highest_reward = 0.0 + for txn in transactions: + if not txn["inputs"]: + for output in txn["outputs"]: + if output["to"] == pool_address: + reward = output["value"] + if reward > highest_reward: + highest_reward = reward + return highest_reward + +class PoolBlocksChartHandler(BaseHandler): + async def get(self): + thirty_days_ago_timestamp = time.time() - (30 * 24 * 60 * 60) + + pipeline = [ + { + "$match": { + "found_time": {"$gte": thirty_days_ago_timestamp} + } + }, + { + "$group": { + "_id": { + "$dateToString": { + "format": "%Y-%m-%d", + "date": {"$toDate": {"$multiply": ["$found_time", 1000]}} + } + }, + "count": {"$sum": 1}, + "total_effort": {"$sum": "$effort"}, + "average_effort": {"$avg": "$effort"} + } + }, + { + "$sort": {"_id": 1} + } + ] + + blocks_by_date = await self.config.mongo.async_db.pool_blocks.aggregate(pipeline).to_list(None) + + total_effort = sum(block.get("total_effort", 0) for block in blocks_by_date) + + total_block_count = sum(block.get("count", 0) for block in blocks_by_date) + overall_average_effort = total_effort / total_block_count if total_block_count > 0 else 0 + + self.render_as_json({ + "blocks_by_date": blocks_by_date, + "total_effort": total_effort, + "average_effort": overall_average_effort + }) class PoolScanMissedPayoutsHandler(BaseHandler): async def get(self): @@ -347,6 +397,7 @@ async def get(self): (r"/miner-stats-for-address", MinerStatsHandler), (r"/payouts-for-address", PoolPayoutsHandler), (r"/pool-blocks", PoolBlocksHandler), + (r"/pool-blocks-chart", PoolBlocksChartHandler), (r"/scan-missed-payouts", PoolScanMissedPayoutsHandler), (r"/scan-missed-txn", PoolScanMissingTxnHandler), (r"/combine-oldest-transactions", CombineOldestTransactionsHandler),