Files
MewtocolNet/Builds/TestResults/summary_master.html
2023-08-25 15:39:02 +01:00

1406 lines
426 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="IE=EDGE,chrome=1" />
<link href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAn1BMVEUAAADCAAAAAAA3yDfUAAA3yDfUAAA8PDzr6+sAAAD4+Pg3yDeQkJDTAADt7e3V1dU3yDdCQkIAAADbMTHUAABBykHUAAA2yDY3yDfr6+vTAAB3diDR0dGYcHDUAAAjhiPSAAA3yDeuAADUAAA3yDf////OCALg9+BLzktBuzRelimzKgv87+/dNTVflSn1/PWz6rO126g5yDlYniy0KgwjJ0TyAAAAI3RSTlMABAj0WD6rJcsN7X1HzMqUJyYW+/X08+bltqSeaVRBOy0cE+citBEAAADBSURBVDjLlczXEoIwFIThJPYGiL0XiL3r+z+bBOJs9JDMuLffP8v+Gxfc6aIyDQVjQcnqnvRDEQwLJYtXpZT+YhDHKIjLbS+OUeT4TjkKi6OwOArq+yeKXD9uDqQQbcOjyCy0e6bTojZSftX+U6zUQ7OuittDu1k0WHqRFfdXQijgjKfF6ZwAikvmKD6OQjmKWUcDigkztm5FZN05nMON9ZcoinlBmTNnAUdBnRbUUbgdBZwWbkcBpwXcVsBtxfjb31j1QB5qeebOAAAAAElFTkSuQmCC" rel="icon" type="image/x-icon" />
<title>Summary - Report - Coverage Report</title>
<style type="text/css">:root {
--green: #0aad0a;
--lightgreen: #dcf4dc;
}
html { font-family: sans-serif; margin: 0; padding: 0; font-size: 0.9em; background-color: #d6d6d6; height: 100%; }
body { margin: 0; padding: 0; height: 100%; color: #000; }
h1 { font-family: 'Century Gothic', sans-serif; font-size: 1.2em; font-weight: normal; color: #fff; background-color: #6f6f6f; padding: 10px; margin: 20px -20px 20px -20px; }
h1:first-of-type { margin-top: 0; }
h2 { font-size: 1.0em; font-weight: bold; margin: 10px 0 15px 0; padding: 0; }
h3 { font-size: 1.0em; font-weight: bold; margin: 0 0 10px 0; padding: 0; display: inline-block; }
input, select, button { border: 1px solid #767676; border-radius: 0; }
button { background-color: #ddd; cursor: pointer; }
a { color: #c00; text-decoration: none; }
a:hover { color: #000; text-decoration: none; }
h1 a.back { color: #fff; background-color: #949494; display: inline-block; margin: -12px 5px -10px -10px; padding: 10px; border-right: 1px solid #fff; }
h1 a.back:hover { background-color: #ccc; }
h1 a.button { color: #000; background-color: #bebebe; margin: -5px 0 0 10px; padding: 5px 8px 5px 8px; border: 1px solid #fff; font-size: 0.9em; border-radius: 3px; float:right; }
h1 a.button:hover { background-color: #ccc; }
h1 a.button i { position: relative; top: 1px; }
.container { margin: auto; max-width: 1650px; width: 90%; background-color: #fff; display: flex; box-shadow: 0 0 60px #7d7d7d; min-height: 100%; }
.containerleft { padding: 0 20px 20px 20px; flex: 1; min-width: 1%; }
.containerright { width: 340px; min-width: 340px; background-color: #e5e5e5; height: 100%; }
.containerrightfixed { position: fixed; padding: 0 20px 20px 20px; border-left: 1px solid #6f6f6f; width: 300px; overflow-y: auto; height: 100%; top: 0; bottom: 0; }
.containerrightfixed h1 { background-color: #c00; }
.containerrightfixed label, .containerright a { white-space: nowrap; overflow: hidden; display: inline-block; width: 100%; max-width: 300px; text-overflow: ellipsis; }
.containerright a { margin-bottom: 3px; }
@media screen and (max-width:1200px){
.container { box-shadow: none; width: 100%; }
.containerright { display: none; }
}
.popup-container { position: fixed; left: 0; right: 0; top: 0; bottom: 0; background-color: rgb(0, 0, 0, 0.6); z-index: 100; }
.popup { position: absolute; top: 50%; right: 50%; transform: translate(50%,-50%); background-color: #fff; padding: 25px; border-radius: 15px; min-width: 300px; }
.popup .close { text-align: right; color: #979797; font-size: 25px;position: relative; left: 10px; bottom: 10px; cursor: pointer; }
.footer { font-size: 0.7em; text-align: center; margin-top: 35px; }
.card-group { display: flex; flex-wrap: wrap; margin-top: -15px; margin-left: -15px; }
.card-group + .card-group { margin-top: 0; }
.card-group .card { margin-top: 15px; margin-left: 15px; display: flex; flex-direction: column; background-color: #e4e4e4; background: radial-gradient(circle, #fefefe 0%, #f6f6f6 100%); border: 1px solid #c1c1c1; padding: 15px; color: #6f6f6f; max-width: 100% }
.card-group .card .card-header { font-size: 1.5rem; font-family: 'Century Gothic', sans-serif; margin-bottom: 15px; flex-grow: 1; }
.card-group .card .card-body { display: flex; flex-direction: row; gap: 15px; flex-grow: 1; }
.card-group .card .card-body div.table { display: flex; flex-direction: column; }
.card-group .card .large { font-size: 5rem; line-height: 5rem; font-weight: bold; align-self: flex-end; border-left-width: 4px; padding-left: 10px; }
.card-group .card table { align-self: flex-end; border-collapse: collapse; }
.card-group .card table tr { border-bottom: 1px solid #c1c1c1; }
.card-group .card table tr:hover { background-color: #c1c1c1; }
.card-group .card table tr:last-child { border-bottom: none; }
.card-group .card table th, .card-group .card table td { padding: 2px; }
.card-group td.limit-width { max-width: 200px; text-overflow: ellipsis; overflow: hidden; }
.card-group td.overflow-wrap { overflow-wrap: anywhere; }
.pro-button { color: #fff; background-color: #20A0D2; background-image: linear-gradient(50deg, #1c7ed6 0%, #23b8cf 100%); padding: 10px; border-radius: 3px; font-weight: bold; display: inline-block; }
.pro-button:hover { color: #fff; background-color: #1C8EB7; background-image: linear-gradient(50deg, #1A6FBA 0%, #1EA1B5 100%); }
.pro-button-tiny { border-radius: 10px; padding: 3px 8px; }
th { text-align: left; }
.table-fixed { table-layout: fixed; }
.table-responsive { overflow-x: auto; }
.table-responsive::-webkit-scrollbar { height: 20px; }
.table-responsive::-webkit-scrollbar-thumb { background-color: #6f6f6f; border-radius: 20px; border: 5px solid #fff; }
.overview { border: 1px solid #c1c1c1; border-collapse: collapse; width: 100%; word-wrap: break-word; }
.overview th { border: 1px solid #c1c1c1; border-collapse: collapse; padding: 2px 4px 2px 4px; background-color: #ddd; }
.overview tr.namespace th { background-color: #dcdcdc; }
.overview thead th { background-color: #d1d1d1; }
.overview th a { color: #000; }
.overview tr.namespace a { margin-left: 15px; display: block; }
.overview td { border: 1px solid #c1c1c1; border-collapse: collapse; padding: 2px 5px 2px 5px; }
.overview tr.header th { background-color: #d1d1d1; }
.overview tr.header th:nth-child(2n+1) { background-color: #ddd; }
.overview tr.header th:first-child { border-left: 1px solid #fff; border-top: 1px solid #fff; background-color: #fff; }
.overview tr:hover>td { background-color: #b0b0b0; }
div.currenthistory { margin: -2px -5px 0 -5px; padding: 2px 5px 2px 5px; height: 16px; }
.coverage { border-collapse: collapse; font-size: 5px; height: 10px; }
.coverage td { padding: 0; border: none; }
.stripped tr:nth-child(2n+1) { background-color: #F3F3F3; }
.customizebox { font-size: 0.75em; margin-bottom: 7px; }
.customizebox>div { width: 25%; display: inline-block; }
.customizebox div.right input { width: 150px; }
#namespaceslider { width: 200px; display: inline-block; margin-left: 8px; }
.percentagebar {
padding-left: 3px;
}
a.percentagebar {
padding-left: 6px;
}
.percentagebarundefined {
border-left: 2px solid #fff;
}
.percentagebar0 {
border-left: 2px solid #c10909;
}
.percentagebar10 {
border-left: 2px solid;
border-image: linear-gradient(to bottom, #c10909 90%, var(--green) 90%, var(--green) 100%) 1;
}
.percentagebar20 {
border-left: 2px solid;
border-image: linear-gradient(to bottom, #c10909 80%, var(--green) 80%, var(--green) 100%) 1;
}
.percentagebar30 {
border-left: 2px solid;
border-image: linear-gradient(to bottom, #c10909 70%, var(--green) 70%, var(--green) 100%) 1;
}
.percentagebar40 {
border-left: 2px solid;
border-image: linear-gradient(to bottom, #c10909 60%, var(--green) 60%, var(--green) 100%) 1;
}
.percentagebar50 {
border-left: 2px solid;
border-image: linear-gradient(to bottom, #c10909 50%, var(--green) 50%, var(--green) 100%) 1;
}
.percentagebar60 {
border-left: 2px solid;
border-image: linear-gradient(to bottom, #c10909 40%, var(--green) 40%, var(--green) 100%) 1;
}
.percentagebar70 {
border-left: 2px solid;
border-image: linear-gradient(to bottom, #c10909 30%, var(--green) 30%, var(--green) 100%) 1;
}
.percentagebar80 {
border-left: 2px solid;
border-image: linear-gradient(to bottom, #c10909 20%, var(--green) 20%, var(--green) 100%) 1;
}
.percentagebar90 {
border-left: 2px solid;
border-image: linear-gradient(to bottom, #c10909 10%, var(--green) 10%, var(--green) 100%) 1;
}
.percentagebar100 {
border-left: 2px solid var(--green);
}
.mt-1 { margin-top: 4px; }
.hidden, .ng-hide { display: none; }
.right { text-align: right; }
.center { text-align: center; }
.rightmargin { padding-right: 8px; }
.leftmargin { padding-left: 5px; }
.green { background-color: var(--green); }
.lightgreen { background-color: var(--lightgreen); }
.red { background-color: #c10909; }
.lightred { background-color: #f7dede; }
.orange { background-color: #FFA500; }
.lightorange { background-color: #FFEFD5; }
.gray { background-color: #dcdcdc; }
.lightgray { color: #888888; }
.lightgraybg { background-color: #dadada; }
code { font-family: Consolas, monospace; font-size: 0.9em; }
.toggleZoom { text-align:right; }
.ct-chart { position: relative; }
.ct-chart .ct-line { stroke-width: 2px !important; }
.ct-chart .ct-point { stroke-width: 6px !important; transition: stroke-width .2s; }
.ct-chart .ct-point:hover { stroke-width: 10px !important; }
.ct-chart .ct-series.ct-series-a .ct-line, .ct-chart .ct-series.ct-series-a .ct-point { stroke: #c00 !important;}
.ct-chart .ct-series.ct-series-b .ct-line, .ct-chart .ct-series.ct-series-b .ct-point { stroke: #1c2298 !important;}
.ct-chart .ct-series.ct-series-c .ct-line, .ct-chart .ct-series.ct-series-c .ct-point { stroke: #0aad0a !important;}
.tinylinecoveragechart, .tinybranchcoveragechart, .tinymethodcoveragechart { background-color: #fff; margin-left: -3px; float: left; border: 1px solid #c1c1c1; width: 30px; height: 18px; }
.historiccoverageoffset { margin-top: 7px; }
.tinylinecoveragechart .ct-line, .tinybranchcoveragechart .ct-line, .tinymethodcoveragechart .ct-line { stroke-width: 1px !important; }
.tinybranchcoveragechart .ct-series.ct-series-a .ct-line { stroke: #1c2298 !important; }
.tinymethodcoveragechart .ct-series.ct-series-a .ct-line { stroke: #0aad0a !important; }
.linecoverage { background-color: #c00; width: 10px; height: 8px; border: 1px solid #000; display: inline-block; }
.branchcoverage { background-color: #1c2298; width: 10px; height: 8px; border: 1px solid #000; display: inline-block; }
.codeelementcoverage { background-color: var(--green); width: 10px; height: 8px; border: 1px solid #000; display: inline-block; }
.tooltip { position: absolute; display: none; padding: 5px; background: #F4C63D; color: #453D3F; pointer-events: none; z-index: 1; min-width: 250px; }
.column-min-200 { min-width: 200px; }
.column60 { width: 60px; }
.column70 { width: 70px; }
.column90 { width: 90px; }
.column98 { width: 98px; }
.column100 { width: 100px; }
.column105 { width: 105px; }
.column112 { width: 112px; }
.cardpercentagebar { border-left-style: solid; }
.cardpercentagebar0 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 0%, var(--green) 0%) 1; }
.cardpercentagebar1 { border-image: linear-gradient(to bottom, #c10909 1%, #c10909 1%, var(--green) 1%) 1; }
.cardpercentagebar2 { border-image: linear-gradient(to bottom, #c10909 2%, #c10909 2%, var(--green) 2%) 1; }
.cardpercentagebar3 { border-image: linear-gradient(to bottom, #c10909 3%, #c10909 3%, var(--green) 3%) 1; }
.cardpercentagebar4 { border-image: linear-gradient(to bottom, #c10909 4%, #c10909 4%, var(--green) 4%) 1; }
.cardpercentagebar5 { border-image: linear-gradient(to bottom, #c10909 5%, #c10909 5%, var(--green) 5%) 1; }
.cardpercentagebar6 { border-image: linear-gradient(to bottom, #c10909 6%, #c10909 6%, var(--green) 6%) 1; }
.cardpercentagebar7 { border-image: linear-gradient(to bottom, #c10909 7%, #c10909 7%, var(--green) 7%) 1; }
.cardpercentagebar8 { border-image: linear-gradient(to bottom, #c10909 8%, #c10909 8%, var(--green) 8%) 1; }
.cardpercentagebar9 { border-image: linear-gradient(to bottom, #c10909 9%, #c10909 9%, var(--green) 9%) 1; }
.cardpercentagebar10 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 10%, var(--green) 10%) 1; }
.cardpercentagebar11 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 11%, var(--green) 11%) 1; }
.cardpercentagebar12 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 12%, var(--green) 12%) 1; }
.cardpercentagebar13 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 13%, var(--green) 13%) 1; }
.cardpercentagebar14 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 14%, var(--green) 14%) 1; }
.cardpercentagebar15 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 15%, var(--green) 15%) 1; }
.cardpercentagebar16 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 16%, var(--green) 16%) 1; }
.cardpercentagebar17 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 17%, var(--green) 17%) 1; }
.cardpercentagebar18 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 18%, var(--green) 18%) 1; }
.cardpercentagebar19 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 19%, var(--green) 19%) 1; }
.cardpercentagebar20 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 20%, var(--green) 20%) 1; }
.cardpercentagebar21 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 21%, var(--green) 21%) 1; }
.cardpercentagebar22 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 22%, var(--green) 22%) 1; }
.cardpercentagebar23 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 23%, var(--green) 23%) 1; }
.cardpercentagebar24 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 24%, var(--green) 24%) 1; }
.cardpercentagebar25 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 25%, var(--green) 25%) 1; }
.cardpercentagebar26 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 26%, var(--green) 26%) 1; }
.cardpercentagebar27 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 27%, var(--green) 27%) 1; }
.cardpercentagebar28 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 28%, var(--green) 28%) 1; }
.cardpercentagebar29 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 29%, var(--green) 29%) 1; }
.cardpercentagebar30 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 30%, var(--green) 30%) 1; }
.cardpercentagebar31 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 31%, var(--green) 31%) 1; }
.cardpercentagebar32 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 32%, var(--green) 32%) 1; }
.cardpercentagebar33 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 33%, var(--green) 33%) 1; }
.cardpercentagebar34 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 34%, var(--green) 34%) 1; }
.cardpercentagebar35 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 35%, var(--green) 35%) 1; }
.cardpercentagebar36 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 36%, var(--green) 36%) 1; }
.cardpercentagebar37 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 37%, var(--green) 37%) 1; }
.cardpercentagebar38 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 38%, var(--green) 38%) 1; }
.cardpercentagebar39 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 39%, var(--green) 39%) 1; }
.cardpercentagebar40 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 40%, var(--green) 40%) 1; }
.cardpercentagebar41 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 41%, var(--green) 41%) 1; }
.cardpercentagebar42 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 42%, var(--green) 42%) 1; }
.cardpercentagebar43 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 43%, var(--green) 43%) 1; }
.cardpercentagebar44 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 44%, var(--green) 44%) 1; }
.cardpercentagebar45 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 45%, var(--green) 45%) 1; }
.cardpercentagebar46 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 46%, var(--green) 46%) 1; }
.cardpercentagebar47 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 47%, var(--green) 47%) 1; }
.cardpercentagebar48 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 48%, var(--green) 48%) 1; }
.cardpercentagebar49 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 49%, var(--green) 49%) 1; }
.cardpercentagebar50 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 50%, var(--green) 50%) 1; }
.cardpercentagebar51 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 51%, var(--green) 51%) 1; }
.cardpercentagebar52 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 52%, var(--green) 52%) 1; }
.cardpercentagebar53 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 53%, var(--green) 53%) 1; }
.cardpercentagebar54 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 54%, var(--green) 54%) 1; }
.cardpercentagebar55 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 55%, var(--green) 55%) 1; }
.cardpercentagebar56 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 56%, var(--green) 56%) 1; }
.cardpercentagebar57 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 57%, var(--green) 57%) 1; }
.cardpercentagebar58 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 58%, var(--green) 58%) 1; }
.cardpercentagebar59 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 59%, var(--green) 59%) 1; }
.cardpercentagebar60 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 60%, var(--green) 60%) 1; }
.cardpercentagebar61 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 61%, var(--green) 61%) 1; }
.cardpercentagebar62 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 62%, var(--green) 62%) 1; }
.cardpercentagebar63 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 63%, var(--green) 63%) 1; }
.cardpercentagebar64 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 64%, var(--green) 64%) 1; }
.cardpercentagebar65 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 65%, var(--green) 65%) 1; }
.cardpercentagebar66 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 66%, var(--green) 66%) 1; }
.cardpercentagebar67 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 67%, var(--green) 67%) 1; }
.cardpercentagebar68 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 68%, var(--green) 68%) 1; }
.cardpercentagebar69 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 69%, var(--green) 69%) 1; }
.cardpercentagebar70 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 70%, var(--green) 70%) 1; }
.cardpercentagebar71 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 71%, var(--green) 71%) 1; }
.cardpercentagebar72 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 72%, var(--green) 72%) 1; }
.cardpercentagebar73 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 73%, var(--green) 73%) 1; }
.cardpercentagebar74 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 74%, var(--green) 74%) 1; }
.cardpercentagebar75 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 75%, var(--green) 75%) 1; }
.cardpercentagebar76 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 76%, var(--green) 76%) 1; }
.cardpercentagebar77 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 77%, var(--green) 77%) 1; }
.cardpercentagebar78 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 78%, var(--green) 78%) 1; }
.cardpercentagebar79 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 79%, var(--green) 79%) 1; }
.cardpercentagebar80 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 80%, var(--green) 80%) 1; }
.cardpercentagebar81 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 81%, var(--green) 81%) 1; }
.cardpercentagebar82 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 82%, var(--green) 82%) 1; }
.cardpercentagebar83 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 83%, var(--green) 83%) 1; }
.cardpercentagebar84 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 84%, var(--green) 84%) 1; }
.cardpercentagebar85 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 85%, var(--green) 85%) 1; }
.cardpercentagebar86 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 86%, var(--green) 86%) 1; }
.cardpercentagebar87 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 87%, var(--green) 87%) 1; }
.cardpercentagebar88 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 88%, var(--green) 88%) 1; }
.cardpercentagebar89 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 89%, var(--green) 89%) 1; }
.cardpercentagebar90 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 90%, var(--green) 90%) 1; }
.cardpercentagebar91 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 91%, var(--green) 91%) 1; }
.cardpercentagebar92 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 92%, var(--green) 92%) 1; }
.cardpercentagebar93 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 93%, var(--green) 93%) 1; }
.cardpercentagebar94 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 94%, var(--green) 94%) 1; }
.cardpercentagebar95 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 95%, var(--green) 95%) 1; }
.cardpercentagebar96 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 96%, var(--green) 96%) 1; }
.cardpercentagebar97 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 97%, var(--green) 97%) 1; }
.cardpercentagebar98 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 98%, var(--green) 98%) 1; }
.cardpercentagebar99 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 99%, var(--green) 99%) 1; }
.cardpercentagebar100 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 100%, var(--green) 100%) 1; }
.covered0 { width: 0px; }
.covered1 { width: 1px; }
.covered2 { width: 2px; }
.covered3 { width: 3px; }
.covered4 { width: 4px; }
.covered5 { width: 5px; }
.covered6 { width: 6px; }
.covered7 { width: 7px; }
.covered8 { width: 8px; }
.covered9 { width: 9px; }
.covered10 { width: 10px; }
.covered11 { width: 11px; }
.covered12 { width: 12px; }
.covered13 { width: 13px; }
.covered14 { width: 14px; }
.covered15 { width: 15px; }
.covered16 { width: 16px; }
.covered17 { width: 17px; }
.covered18 { width: 18px; }
.covered19 { width: 19px; }
.covered20 { width: 20px; }
.covered21 { width: 21px; }
.covered22 { width: 22px; }
.covered23 { width: 23px; }
.covered24 { width: 24px; }
.covered25 { width: 25px; }
.covered26 { width: 26px; }
.covered27 { width: 27px; }
.covered28 { width: 28px; }
.covered29 { width: 29px; }
.covered30 { width: 30px; }
.covered31 { width: 31px; }
.covered32 { width: 32px; }
.covered33 { width: 33px; }
.covered34 { width: 34px; }
.covered35 { width: 35px; }
.covered36 { width: 36px; }
.covered37 { width: 37px; }
.covered38 { width: 38px; }
.covered39 { width: 39px; }
.covered40 { width: 40px; }
.covered41 { width: 41px; }
.covered42 { width: 42px; }
.covered43 { width: 43px; }
.covered44 { width: 44px; }
.covered45 { width: 45px; }
.covered46 { width: 46px; }
.covered47 { width: 47px; }
.covered48 { width: 48px; }
.covered49 { width: 49px; }
.covered50 { width: 50px; }
.covered51 { width: 51px; }
.covered52 { width: 52px; }
.covered53 { width: 53px; }
.covered54 { width: 54px; }
.covered55 { width: 55px; }
.covered56 { width: 56px; }
.covered57 { width: 57px; }
.covered58 { width: 58px; }
.covered59 { width: 59px; }
.covered60 { width: 60px; }
.covered61 { width: 61px; }
.covered62 { width: 62px; }
.covered63 { width: 63px; }
.covered64 { width: 64px; }
.covered65 { width: 65px; }
.covered66 { width: 66px; }
.covered67 { width: 67px; }
.covered68 { width: 68px; }
.covered69 { width: 69px; }
.covered70 { width: 70px; }
.covered71 { width: 71px; }
.covered72 { width: 72px; }
.covered73 { width: 73px; }
.covered74 { width: 74px; }
.covered75 { width: 75px; }
.covered76 { width: 76px; }
.covered77 { width: 77px; }
.covered78 { width: 78px; }
.covered79 { width: 79px; }
.covered80 { width: 80px; }
.covered81 { width: 81px; }
.covered82 { width: 82px; }
.covered83 { width: 83px; }
.covered84 { width: 84px; }
.covered85 { width: 85px; }
.covered86 { width: 86px; }
.covered87 { width: 87px; }
.covered88 { width: 88px; }
.covered89 { width: 89px; }
.covered90 { width: 90px; }
.covered91 { width: 91px; }
.covered92 { width: 92px; }
.covered93 { width: 93px; }
.covered94 { width: 94px; }
.covered95 { width: 95px; }
.covered96 { width: 96px; }
.covered97 { width: 97px; }
.covered98 { width: 98px; }
.covered99 { width: 99px; }
.covered100 { width: 100px; }
@media print {
html, body { background-color: #fff; }
.container { max-width: 100%; width: 100%; padding: 0; }
.overview colgroup col:first-child { width: 300px; }
}
.icon-up-dir_active {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9IiNjMDAiIGQ9Ik0xNDA4IDEyMTZxMCAyNi0xOSA0NXQtNDUgMTloLTg5NnEtMjYgMC00NS0xOXQtMTktNDUgMTktNDVsNDQ4LTQ0OHExOS0xOSA0NS0xOXQ0NSAxOWw0NDggNDQ4cTE5IDE5IDE5IDQ1eiIvPjwvc3ZnPg==);
background-repeat: no-repeat;
background-size: contain;
padding-left: 15px;
height: 0.9em;
display: inline-block;
position: relative;
top: 3px;
}
.icon-down-dir_active {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9IiNjMDAiIGQ9Ik0xNDA4IDcwNHEwIDI2LTE5IDQ1bC00NDggNDQ4cS0xOSAxOS00NSAxOXQtNDUtMTlsLTQ0OC00NDhxLTE5LTE5LTE5LTQ1dDE5LTQ1IDQ1LTE5aDg5NnEyNiAwIDQ1IDE5dDE5IDQ1eiIvPjwvc3ZnPg==);
background-repeat: no-repeat;
background-size: contain;
padding-left: 15px;
height: 0.9em;
display: inline-block;
position: relative;
top: 3px;
}
.icon-down-dir {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xNDA4IDcwNHEwIDI2LTE5IDQ1bC00NDggNDQ4cS0xOSAxOS00NSAxOXQtNDUtMTlsLTQ0OC00NDhxLTE5LTE5LTE5LTQ1dDE5LTQ1IDQ1LTE5aDg5NnEyNiAwIDQ1IDE5dDE5IDQ1eiIvPjwvc3ZnPg==);
background-repeat: no-repeat;
background-size: contain;
padding-left: 15px;
height: 0.9em;
display: inline-block;
position: relative;
top: 3px;
}
.icon-info-circled {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxjaXJjbGUgY3g9Ijg5NiIgY3k9Ijg5NiIgcj0iNzUwIiBmaWxsPSIjZmZmIiAvPjxwYXRoIGZpbGw9IiMyOEE1RkYiIGQ9Ik0xMTUyIDEzNzZ2LTE2MHEwLTE0LTktMjN0LTIzLTloLTk2di01MTJxMC0xNC05LTIzdC0yMy05aC0zMjBxLTE0IDAtMjMgOXQtOSAyM3YxNjBxMCAxNCA5IDIzdDIzIDloOTZ2MzIwaC05NnEtMTQgMC0yMyA5dC05IDIzdjE2MHEwIDE0IDkgMjN0MjMgOWg0NDhxMTQgMCAyMy05dDktMjN6bS0xMjgtODk2di0xNjBxMC0xNC05LTIzdC0yMy05aC0xOTJxLTE0IDAtMjMgOXQtOSAyM3YxNjBxMCAxNCA5IDIzdDIzIDloMTkycTE0IDAgMjMtOXQ5LTIzem02NDAgNDE2cTAgMjA5LTEwMyAzODUuNXQtMjc5LjUgMjc5LjUtMzg1LjUgMTAzLTM4NS41LTEwMy0yNzkuNS0yNzkuNS0xMDMtMzg1LjUgMTAzLTM4NS41IDI3OS41LTI3OS41IDM4NS41LTEwMyAzODUuNSAxMDMgMjc5LjUgMjc5LjUgMTAzIDM4NS41eiIvPjwvc3ZnPg==);
background-repeat: no-repeat;
background-size: contain;
padding-left: 15px;
height: 0.9em;
display: inline-block;
}
.icon-plus {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xNjAwIDczNnYxOTJxMCA0MC0yOCA2OHQtNjggMjhoLTQxNnY0MTZxMCA0MC0yOCA2OHQtNjggMjhoLTE5MnEtNDAgMC02OC0yOHQtMjgtNjh2LTQxNmgtNDE2cS00MCAwLTY4LTI4dC0yOC02OHYtMTkycTAtNDAgMjgtNjh0NjgtMjhoNDE2di00MTZxMC00MCAyOC02OHQ2OC0yOGgxOTJxNDAgMCA2OCAyOHQyOCA2OHY0MTZoNDE2cTQwIDAgNjggMjh0MjggNjh6Ii8+PC9zdmc+);
background-repeat: no-repeat;
background-size: contain;
padding-left: 15px;
height: 0.9em;
display: inline-block;
position: relative;
top: 3px;
}
.icon-minus {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9IiNjMDAiIGQ9Ik0xNjAwIDczNnYxOTJxMCA0MC0yOCA2OHQtNjggMjhoLTEyMTZxLTQwIDAtNjgtMjh0LTI4LTY4di0xOTJxMC00MCAyOC02OHQ2OC0yOGgxMjE2cTQwIDAgNjggMjh0MjggNjh6Ii8+PC9zdmc+);
background-repeat: no-repeat;
background-size: contain;
padding-left: 15px;
height: 0.9em;
display: inline-block;
position: relative;
top: 3px;
}
.icon-wrench {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik00NDggMTQ3MnEwLTI2LTE5LTQ1dC00NS0xOS00NSAxOS0xOSA0NSAxOSA0NSA0NSAxOSA0NS0xOSAxOS00NXptNjQ0LTQyMGwtNjgyIDY4MnEtMzcgMzctOTAgMzctNTIgMC05MS0zN2wtMTA2LTEwOHEtMzgtMzYtMzgtOTAgMC01MyAzOC05MWw2ODEtNjgxcTM5IDk4IDExNC41IDE3My41dDE3My41IDExNC41em02MzQtNDM1cTAgMzktMjMgMTA2LTQ3IDEzNC0xNjQuNSAyMTcuNXQtMjU4LjUgODMuNXEtMTg1IDAtMzE2LjUtMTMxLjV0LTEzMS41LTMxNi41IDEzMS41LTMxNi41IDMxNi41LTEzMS41cTU4IDAgMTIxLjUgMTYuNXQxMDcuNSA0Ni41cTE2IDExIDE2IDI4dC0xNiAyOGwtMjkzIDE2OXYyMjRsMTkzIDEwN3E1LTMgNzktNDguNXQxMzUuNS04MSA3MC41LTM1LjVxMTUgMCAyMy41IDEwdDguNSAyNXoiLz48L3N2Zz4=);
background-repeat: no-repeat;
background-size: contain;
padding-left: 20px;
height: 0.9em;
display: inline-block;
}
.icon-cog {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNDQ0Ljc4OCAyOTEuMWw0Mi42MTYgMjQuNTk5YzQuODY3IDIuODA5IDcuMTI2IDguNjE4IDUuNDU5IDEzLjk4NS0xMS4wNyAzNS42NDItMjkuOTcgNjcuODQyLTU0LjY4OSA5NC41ODZhMTIuMDE2IDEyLjAxNiAwIDAgMS0xNC44MzIgMi4yNTRsLTQyLjU4NC0yNC41OTVhMTkxLjU3NyAxOTEuNTc3IDAgMCAxLTYwLjc1OSAzNS4xM3Y0OS4xODJhMTIuMDEgMTIuMDEgMCAwIDEtOS4zNzcgMTEuNzE4Yy0zNC45NTYgNy44NS03Mi40OTkgOC4yNTYtMTA5LjIxOS4wMDctNS40OS0xLjIzMy05LjQwMy02LjA5Ni05LjQwMy0xMS43MjN2LTQ5LjE4NGExOTEuNTU1IDE5MS41NTUgMCAwIDEtNjAuNzU5LTM1LjEzbC00Mi41ODQgMjQuNTk1YTEyLjAxNiAxMi4wMTYgMCAwIDEtMTQuODMyLTIuMjU0Yy0yNC43MTgtMjYuNzQ0LTQzLjYxOS01OC45NDQtNTQuNjg5LTk0LjU4Ni0xLjY2Ny01LjM2Ni41OTItMTEuMTc1IDUuNDU5LTEzLjk4NUw2Ny4yMTIgMjkxLjFhMTkzLjQ4IDE5My40OCAwIDAgMSAwLTcwLjE5OWwtNDIuNjE2LTI0LjU5OWMtNC44NjctMi44MDktNy4xMjYtOC42MTgtNS40NTktMTMuOTg1IDExLjA3LTM1LjY0MiAyOS45Ny02Ny44NDIgNTQuNjg5LTk0LjU4NmExMi4wMTYgMTIuMDE2IDAgMCAxIDE0LjgzMi0yLjI1NGw0Mi41ODQgMjQuNTk1YTE5MS41NzcgMTkxLjU3NyAwIDAgMSA2MC43NTktMzUuMTNWMjUuNzU5YTEyLjAxIDEyLjAxIDAgMCAxIDkuMzc3LTExLjcxOGMzNC45NTYtNy44NSA3Mi40OTktOC4yNTYgMTA5LjIxOS0uMDA3IDUuNDkgMS4yMzMgOS40MDMgNi4wOTYgOS40MDMgMTEuNzIzdjQ5LjE4NGExOTEuNTU1IDE5MS41NTUgMCAwIDEgNjAuNzU5IDM1LjEzbDQyLjU4NC0yNC41OTVhMTIuMDE2IDEyLjAxNiAwIDAgMSAxNC44MzIgMi4yNTRjMjQuNzE4IDI2Ljc0NCA0My42MTkgNTguOTQ0IDU0LjY4OSA5NC41ODYgMS42NjcgNS4zNjYtLjU5MiAxMS4xNzUtNS40NTkgMTMuOTg1TDQ0NC43ODggMjIwLjlhMTkzLjQ4NSAxOTMuNDg1IDAgMCAxIDAgNzAuMnpNMzM2IDI1NmMwLTQ0LjExMi0zNS44ODgtODAtODAtODBzLTgwIDM1Ljg4OC04MCA4MCAzNS44ODggODAgODAgODAgODAtMzUuODg4IDgwLTgweiIvPjwvc3ZnPg==);
background-repeat: no-repeat;
background-size: contain;
padding-left: 16px;
height: 0.8em;
display: inline-block;
}
.icon-fork {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHN0eWxlPSJmaWxsOiNmZmYiIC8+PHBhdGggZD0iTTY3MiAxNDcycTAtNDAtMjgtNjh0LTY4LTI4LTY4IDI4LTI4IDY4IDI4IDY4IDY4IDI4IDY4LTI4IDI4LTY4em0wLTExNTJxMC00MC0yOC02OHQtNjgtMjgtNjggMjgtMjggNjggMjggNjggNjggMjggNjgtMjggMjgtNjh6bTY0MCAxMjhxMC00MC0yOC02OHQtNjgtMjgtNjggMjgtMjggNjggMjggNjggNjggMjggNjgtMjggMjgtNjh6bTk2IDBxMCA1Mi0yNiA5Ni41dC03MCA2OS41cS0yIDI4Ny0yMjYgNDE0LTY3IDM4LTIwMyA4MS0xMjggNDAtMTY5LjUgNzF0LTQxLjUgMTAwdjI2cTQ0IDI1IDcwIDY5LjV0MjYgOTYuNXEwIDgwLTU2IDEzNnQtMTM2IDU2LTEzNi01Ni01Ni0xMzZxMC01MiAyNi05Ni41dDcwLTY5LjV2LTgyMHEtNDQtMjUtNzAtNjkuNXQtMjYtOTYuNXEwLTgwIDU2LTEzNnQxMzYtNTYgMTM2IDU2IDU2IDEzNnEwIDUyLTI2IDk2LjV0LTcwIDY5LjV2NDk3cTU0LTI2IDE1NC01NyA1NS0xNyA4Ny41LTI5LjV0NzAuNS0zMSA1OS0zOS41IDQwLjUtNTEgMjgtNjkuNSA4LjUtOTEuNXEtNDQtMjUtNzAtNjkuNXQtMjYtOTYuNXEwLTgwIDU2LTEzNnQxMzYtNTYgMTM2IDU2IDU2IDEzNnoiLz48L3N2Zz4=);
background-repeat: no-repeat;
background-size: contain;
padding-left: 20px;
height: 0.9em;
display: inline-block;
}
.icon-cube {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik04OTYgMTYyOWw2NDAtMzQ5di02MzZsLTY0MCAyMzN2NzUyem0tNjQtODY1bDY5OC0yNTQtNjk4LTI1NC02OTggMjU0em04MzItMjUydjc2OHEwIDM1LTE4IDY1dC00OSA0N2wtNzA0IDM4NHEtMjggMTYtNjEgMTZ0LTYxLTE2bC03MDQtMzg0cS0zMS0xNy00OS00N3QtMTgtNjV2LTc2OHEwLTQwIDIzLTczdDYxLTQ3bDcwNC0yNTZxMjItOCA0NC04dDQ0IDhsNzA0IDI1NnEzOCAxNCA2MSA0N3QyMyA3M3oiLz48L3N2Zz4=);
background-repeat: no-repeat;
background-size: contain;
padding-left: 20px;
height: 0.9em;
display: inline-block;
}
.icon-search-plus {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9IiM2ZjZmNmYiIGQ9Ik0xMDg4IDgwMHY2NHEwIDEzLTkuNSAyMi41dC0yMi41IDkuNWgtMjI0djIyNHEwIDEzLTkuNSAyMi41dC0yMi41IDkuNWgtNjRxLTEzIDAtMjIuNS05LjV0LTkuNS0yMi41di0yMjRoLTIyNHEtMTMgMC0yMi41LTkuNXQtOS41LTIyLjV2LTY0cTAtMTMgOS41LTIyLjV0MjIuNS05LjVoMjI0di0yMjRxMC0xMyA5LjUtMjIuNXQyMi41LTkuNWg2NHExMyAwIDIyLjUgOS41dDkuNSAyMi41djIyNGgyMjRxMTMgMCAyMi41IDkuNXQ5LjUgMjIuNXptMTI4IDMycTAtMTg1LTEzMS41LTMxNi41dC0zMTYuNS0xMzEuNS0zMTYuNSAxMzEuNS0xMzEuNSAzMTYuNSAxMzEuNSAzMTYuNSAzMTYuNSAxMzEuNSAzMTYuNS0xMzEuNSAxMzEuNS0zMTYuNXptNTEyIDgzMnEwIDUzLTM3LjUgOTAuNXQtOTAuNSAzNy41cS01NCAwLTkwLTM4bC0zNDMtMzQycS0xNzkgMTI0LTM5OSAxMjQtMTQzIDAtMjczLjUtNTUuNXQtMjI1LTE1MC0xNTAtMjI1LTU1LjUtMjczLjUgNTUuNS0yNzMuNSAxNTAtMjI1IDIyNS0xNTAgMjczLjUtNTUuNSAyNzMuNSA1NS41IDIyNSAxNTAgMTUwIDIyNSA1NS41IDI3My41cTAgMjIwLTEyNCAzOTlsMzQzIDM0M3EzNyAzNyAzNyA5MHoiLz48L3N2Zz4=);
background-repeat: no-repeat;
background-size: contain;
padding-left: 20px;
height: 0.9em;
display: inline-block;
}
.icon-search-minus {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9IiM2ZjZmNmYiIGQ9Ik0xMDg4IDgwMHY2NHEwIDEzLTkuNSAyMi41dC0yMi41IDkuNWgtNTc2cS0xMyAwLTIyLjUtOS41dC05LjUtMjIuNXYtNjRxMC0xMyA5LjUtMjIuNXQyMi41LTkuNWg1NzZxMTMgMCAyMi41IDkuNXQ5LjUgMjIuNXptMTI4IDMycTAtMTg1LTEzMS41LTMxNi41dC0zMTYuNS0xMzEuNS0zMTYuNSAxMzEuNS0xMzEuNSAzMTYuNSAxMzEuNSAzMTYuNSAzMTYuNSAxMzEuNSAzMTYuNS0xMzEuNSAxMzEuNS0zMTYuNXptNTEyIDgzMnEwIDUzLTM3LjUgOTAuNXQtOTAuNSAzNy41cS01NCAwLTkwLTM4bC0zNDMtMzQycS0xNzkgMTI0LTM5OSAxMjQtMTQzIDAtMjczLjUtNTUuNXQtMjI1LTE1MC0xNTAtMjI1LTU1LjUtMjczLjUgNTUuNS0yNzMuNSAxNTAtMjI1IDIyNS0xNTAgMjczLjUtNTUuNSAyNzMuNSA1NS41IDIyNSAxNTAgMTUwIDIyNSA1NS41IDI3My41cTAgMjIwLTEyNCAzOTlsMzQzIDM0M3EzNyAzNyAzNyA5MHoiLz48L3N2Zz4=);
background-repeat: no-repeat;
background-size: contain;
padding-left: 20px;
height: 0.9em;
display: inline-block;
}
.icon-star {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xNzI4IDY0N3EwIDIyLTI2IDQ4bC0zNjMgMzU0IDg2IDUwMHExIDcgMSAyMCAwIDIxLTEwLjUgMzUuNXQtMzAuNSAxNC41cS0xOSAwLTQwLTEybC00NDktMjM2LTQ0OSAyMzZxLTIyIDEyLTQwIDEyLTIxIDAtMzEuNS0xNC41dC0xMC41LTM1LjVxMC02IDItMjBsODYtNTAwLTM2NC0zNTRxLTI1LTI3LTI1LTQ4IDAtMzcgNTYtNDZsNTAyLTczIDIyNS00NTVxMTktNDEgNDktNDF0NDkgNDFsMjI1IDQ1NSA1MDIgNzNxNTYgOSA1NiA0NnoiIGZpbGw9IiMwMDAiLz48L3N2Zz4=);
background-repeat: no-repeat;
background-size: contain;
padding-left: 20px;
height: 0.9em;
display: inline-block;
}
.icon-sponsor {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik04OTYgMTY2NHEtMjYgMC00NC0xOGwtNjI0LTYwMnEtMTAtOC0yNy41LTI2dC01NS41LTY1LjUtNjgtOTcuNS01My41LTEyMS0yMy41LTEzOHEwLTIyMCAxMjctMzQ0dDM1MS0xMjRxNjIgMCAxMjYuNSAyMS41dDEyMCA1OCA5NS41IDY4LjUgNzYgNjhxMzYtMzYgNzYtNjh0OTUuNS02OC41IDEyMC01OCAxMjYuNS0yMS41cTIyNCAwIDM1MSAxMjR0MTI3IDM0NHEwIDIyMS0yMjkgNDUwbC02MjMgNjAwcS0xOCAxOC00NCAxOHoiIGZpbGw9IiNlYTRhYWEiLz48L3N2Zz4=);
background-repeat: no-repeat;
background-size: contain;
padding-left: 20px;
height: 0.9em;
display: inline-block;
}
@media (prefers-color-scheme: dark) {
@media screen {
html {
background-color: #333;
color: #fff;
}
body {
color: #fff;
}
h1 {
background-color: #555453;
color: #fff;
}
.container {
background-color: #333;
box-shadow: 0 0 60px #0c0c0c;
}
.containerrightfixed {
background-color: #3D3C3C;
border-left: 1px solid #515050;
}
.containerrightfixed h1 {
background-color: #484747;
}
.popup-container {
background-color: rgb(80, 80, 80, 0.6);
}
.popup {
background-color: #333;
}
.card-group .card {
background-color: #333;
background: radial-gradient(circle, #444 0%, #333 100%);
border: 1px solid #545454;
color: #fff;
}
.card-group .card table tr {
border-bottom: 1px solid #545454;
}
.card-group .card table tr:hover {
background-color: #2E2D2C;
}
.table-responsive::-webkit-scrollbar-thumb {
background-color: #555453;
border: 5px solid #333;
}
.overview tr:hover > td {
background-color: #2E2D2C;
}
.overview th {
background-color: #444;
border: 1px solid #3B3A39;
}
.overview tr.namespace th {
background-color: #444;
}
.overview thead th {
background-color: #444;
}
.overview th a {
color: #fff;
color: rgba(255, 255, 255, 0.95);
}
.overview th a:hover {
color: #0078d4;
}
.overview td {
border: 1px solid #3B3A39;
}
.overview .coverage td {
border: none;
}
.overview tr.header th {
background-color: #444;
}
.overview tr.header th:nth-child(2n+1) {
background-color: #3a3a3a;
}
.overview tr.header th:first-child {
border-left: 1px solid #333;
border-top: 1px solid #333;
background-color: #333;
}
.stripped tr:nth-child(2n+1) {
background-color: #3c3c3c;
}
input, select, button {
background-color: #333;
color: #fff;
border: 1px solid #A19F9D;
}
a {
color: #fff;
color: rgba(255, 255, 255, 0.95);
}
a:hover {
color: #0078d4;
}
h1 a.back {
background-color: #4a4846;
}
h1 a.button {
color: #fff;
background-color: #565656;
border-color: #c1c1c1;
}
h1 a.button:hover {
background-color: #8d8d8d;
}
.gray {
background-color: #484747;
}
.lightgray {
color: #ebebeb;
}
.lightgraybg {
background-color: #474747;
}
.lightgreen {
background-color: #406540;
}
.lightorange {
background-color: #ab7f36;
}
.lightred {
background-color: #954848;
}
.ct-label {
color: #fff !important;
}
.ct-grid {
stroke: #fff !important;
}
.ct-chart .ct-series.ct-series-a .ct-line, .ct-chart .ct-series.ct-series-a .ct-point {
stroke: #0078D4 !important;
}
.ct-chart .ct-series.ct-series-b .ct-line, .ct-chart .ct-series.ct-series-b .ct-point {
stroke: #6dc428 !important;
}
.ct-chart .ct-series.ct-series-c .ct-line, .ct-chart .ct-series.ct-series-c .ct-point {
stroke: #e58f1d !important;
}
.linecoverage {
background-color: #0078D4;
}
.branchcoverage {
background-color: #6dc428;
}
.codeelementcoverage {
background-color: #e58f1d;
}
.tinylinecoveragechart, .tinybranchcoveragechart, .tinymethodcoveragechart {
background-color: #333;
}
.tinybranchcoveragechart .ct-series.ct-series-a .ct-line {
stroke: #6dc428 !important;
}
.tinymethodcoveragechart .ct-series.ct-series-a .ct-line {
stroke: #e58f1d !important;
}
.icon-down-dir {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0JGQkZDMCIgZD0iTTE0MDggNzA0cTAgMjYtMTkgNDVsLTQ0OCA0NDhxLTE5IDE5LTQ1IDE5dC00NS0xOWwtNDQ4LTQ0OHEtMTktMTktMTktNDV0MTktNDUgNDUtMTloODk2cTI2IDAgNDUgMTl0MTkgNDV6Ii8+PC9zdmc+);
}
.icon-info-circled {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxjaXJjbGUgY3g9Ijg5NiIgY3k9Ijg5NiIgcj0iNzUwIiBmaWxsPSIjZmZmIiAvPjxwYXRoIGZpbGw9IiMyOEE1RkYiIGQ9Ik0xMTUyIDEzNzZ2LTE2MHEwLTE0LTktMjN0LTIzLTloLTk2di01MTJxMC0xNC05LTIzdC0yMy05aC0zMjBxLTE0IDAtMjMgOXQtOSAyM3YxNjBxMCAxNCA5IDIzdDIzIDloOTZ2MzIwaC05NnEtMTQgMC0yMyA5dC05IDIzdjE2MHEwIDE0IDkgMjN0MjMgOWg0NDhxMTQgMCAyMy05dDktMjN6bS0xMjgtODk2di0xNjBxMC0xNC05LTIzdC0yMy05aC0xOTJxLTE0IDAtMjMgOXQtOSAyM3YxNjBxMCAxNCA5IDIzdDIzIDloMTkycTE0IDAgMjMtOXQ5LTIzem02NDAgNDE2cTAgMjA5LTEwMyAzODUuNXQtMjc5LjUgMjc5LjUtMzg1LjUgMTAzLTM4NS41LTEwMy0yNzkuNS0yNzkuNS0xMDMtMzg1LjUgMTAzLTM4NS41IDI3OS41LTI3OS41IDM4NS41LTEwMyAzODUuNSAxMDMgMjc5LjUgMjc5LjUgMTAzIDM4NS41eiIvPjwvc3ZnPg==);
}
.icon-plus {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0JGQkZDMCIgZD0iTTE2MDAgNzM2djE5MnEwIDQwLTI4IDY4dC02OCAyOGgtNDE2djQxNnEwIDQwLTI4IDY4dC02OCAyOGgtMTkycS00MCAwLTY4LTI4dC0yOC02OHYtNDE2aC00MTZxLTQwIDAtNjgtMjh0LTI4LTY4di0xOTJxMC00MCAyOC02OHQ2OC0yOGg0MTZ2LTQxNnEwLTQwIDI4LTY4dDY4LTI4aDE5MnE0MCAwIDY4IDI4dDI4IDY4djQxNmg0MTZxNDAgMCA2OCAyOHQyOCA2OHoiLz48L3N2Zz4=);
}
.icon-minus {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0JGQkZDMCIgZD0iTTE2MDAgNzM2djE5MnEwIDQwLTI4IDY4dC02OCAyOGgtMTIxNnEtNDAgMC02OC0yOHQtMjgtNjh2LTE5MnEwLTQwIDI4LTY4dDY4LTI4aDEyMTZxNDAgMCA2OCAyOHQyOCA2OHoiLz48L3N2Zz4=);
}
.icon-wrench {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0JEQkRCRiIgZD0iTTQ0OCAxNDcycTAtMjYtMTktNDV0LTQ1LTE5LTQ1IDE5LTE5IDQ1IDE5IDQ1IDQ1IDE5IDQ1LTE5IDE5LTQ1em02NDQtNDIwbC02ODIgNjgycS0zNyAzNy05MCAzNy01MiAwLTkxLTM3bC0xMDYtMTA4cS0zOC0zNi0zOC05MCAwLTUzIDM4LTkxbDY4MS02ODFxMzkgOTggMTE0LjUgMTczLjV0MTczLjUgMTE0LjV6bTYzNC00MzVxMCAzOS0yMyAxMDYtNDcgMTM0LTE2NC41IDIxNy41dC0yNTguNSA4My41cS0xODUgMC0zMTYuNS0xMzEuNXQtMTMxLjUtMzE2LjUgMTMxLjUtMzE2LjUgMzE2LjUtMTMxLjVxNTggMCAxMjEuNSAxNi41dDEwNy41IDQ2LjVxMTYgMTEgMTYgMjh0LTE2IDI4bC0yOTMgMTY5djIyNGwxOTMgMTA3cTUtMyA3OS00OC41dDEzNS41LTgxIDcwLjUtMzUuNXExNSAwIDIzLjUgMTB0OC41IDI1eiIvPjwvc3ZnPg==);
}
.icon-cog {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsPSIjQkRCREJGIiBkPSJNNDQ0Ljc4OCAyOTEuMWw0Mi42MTYgMjQuNTk5YzQuODY3IDIuODA5IDcuMTI2IDguNjE4IDUuNDU5IDEzLjk4NS0xMS4wNyAzNS42NDItMjkuOTcgNjcuODQyLTU0LjY4OSA5NC41ODZhMTIuMDE2IDEyLjAxNiAwIDAgMS0xNC44MzIgMi4yNTRsLTQyLjU4NC0yNC41OTVhMTkxLjU3NyAxOTEuNTc3IDAgMCAxLTYwLjc1OSAzNS4xM3Y0OS4xODJhMTIuMDEgMTIuMDEgMCAwIDEtOS4zNzcgMTEuNzE4Yy0zNC45NTYgNy44NS03Mi40OTkgOC4yNTYtMTA5LjIxOS4wMDctNS40OS0xLjIzMy05LjQwMy02LjA5Ni05LjQwMy0xMS43MjN2LTQ5LjE4NGExOTEuNTU1IDE5MS41NTUgMCAwIDEtNjAuNzU5LTM1LjEzbC00Mi41ODQgMjQuNTk1YTEyLjAxNiAxMi4wMTYgMCAwIDEtMTQuODMyLTIuMjU0Yy0yNC43MTgtMjYuNzQ0LTQzLjYxOS01OC45NDQtNTQuNjg5LTk0LjU4Ni0xLjY2Ny01LjM2Ni41OTItMTEuMTc1IDUuNDU5LTEzLjk4NUw2Ny4yMTIgMjkxLjFhMTkzLjQ4IDE5My40OCAwIDAgMSAwLTcwLjE5OWwtNDIuNjE2LTI0LjU5OWMtNC44NjctMi44MDktNy4xMjYtOC42MTgtNS40NTktMTMuOTg1IDExLjA3LTM1LjY0MiAyOS45Ny02Ny44NDIgNTQuNjg5LTk0LjU4NmExMi4wMTYgMTIuMDE2IDAgMCAxIDE0LjgzMi0yLjI1NGw0Mi41ODQgMjQuNTk1YTE5MS41NzcgMTkxLjU3NyAwIDAgMSA2MC43NTktMzUuMTNWMjUuNzU5YTEyLjAxIDEyLjAxIDAgMCAxIDkuMzc3LTExLjcxOGMzNC45NTYtNy44NSA3Mi40OTktOC4yNTYgMTA5LjIxOS0uMDA3IDUuNDkgMS4yMzMgOS40MDMgNi4wOTYgOS40MDMgMTEuNzIzdjQ5LjE4NGExOTEuNTU1IDE5MS41NTUgMCAwIDEgNjAuNzU5IDM1LjEzbDQyLjU4NC0yNC41OTVhMTIuMDE2IDEyLjAxNiAwIDAgMSAxNC44MzIgMi4yNTRjMjQuNzE4IDI2Ljc0NCA0My42MTkgNTguOTQ0IDU0LjY4OSA5NC41ODYgMS42NjcgNS4zNjYtLjU5MiAxMS4xNzUtNS40NTkgMTMuOTg1TDQ0NC43ODggMjIwLjlhMTkzLjQ4NSAxOTMuNDg1IDAgMCAxIDAgNzAuMnpNMzM2IDI1NmMwLTQ0LjExMi0zNS44ODgtODAtODAtODBzLTgwIDM1Ljg4OC04MCA4MCAzNS44ODggODAgODAgODAgODAtMzUuODg4IDgwLTgweiIvPjwvc3ZnPg==);
}
.icon-fork {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0JGQkZDMCIgZD0iTTY3MiAxNDcycTAtNDAtMjgtNjh0LTY4LTI4LTY4IDI4LTI4IDY4IDI4IDY4IDY4IDI4IDY4LTI4IDI4LTY4em0wLTExNTJxMC00MC0yOC02OHQtNjgtMjgtNjggMjgtMjggNjggMjggNjggNjggMjggNjgtMjggMjgtNjh6bTY0MCAxMjhxMC00MC0yOC02OHQtNjgtMjgtNjggMjgtMjggNjggMjggNjggNjggMjggNjgtMjggMjgtNjh6bTk2IDBxMCA1Mi0yNiA5Ni41dC03MCA2OS41cS0yIDI4Ny0yMjYgNDE0LTY3IDM4LTIwMyA4MS0xMjggNDAtMTY5LjUgNzF0LTQxLjUgMTAwdjI2cTQ0IDI1IDcwIDY5LjV0MjYgOTYuNXEwIDgwLTU2IDEzNnQtMTM2IDU2LTEzNi01Ni01Ni0xMzZxMC01MiAyNi05Ni41dDcwLTY5LjV2LTgyMHEtNDQtMjUtNzAtNjkuNXQtMjYtOTYuNXEwLTgwIDU2LTEzNnQxMzYtNTYgMTM2IDU2IDU2IDEzNnEwIDUyLTI2IDk2LjV0LTcwIDY5LjV2NDk3cTU0LTI2IDE1NC01NyA1NS0xNyA4Ny41LTI5LjV0NzAuNS0zMSA1OS0zOS41IDQwLjUtNTEgMjgtNjkuNSA4LjUtOTEuNXEtNDQtMjUtNzAtNjkuNXQtMjYtOTYuNXEwLTgwIDU2LTEzNnQxMzYtNTYgMTM2IDU2IDU2IDEzNnoiLz48L3N2Zz4=);
}
.icon-cube {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0JGQkZDMCIgZD0iTTg5NiAxNjI5bDY0MC0zNDl2LTYzNmwtNjQwIDIzM3Y3NTJ6bS02NC04NjVsNjk4LTI1NC02OTgtMjU0LTY5OCAyNTR6bTgzMi0yNTJ2NzY4cTAgMzUtMTggNjV0LTQ5IDQ3bC03MDQgMzg0cS0yOCAxNi02MSAxNnQtNjEtMTZsLTcwNC0zODRxLTMxLTE3LTQ5LTQ3dC0xOC02NXYtNzY4cTAtNDAgMjMtNzN0NjEtNDdsNzA0LTI1NnEyMi04IDQ0LTh0NDQgOGw3MDQgMjU2cTM4IDE0IDYxIDQ3dDIzIDczeiIvPjwvc3ZnPg==);
}
.icon-search-plus {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0JGQkZDMCIgZD0iTTEwODggODAwdjY0cTAgMTMtOS41IDIyLjV0LTIyLjUgOS41aC0yMjR2MjI0cTAgMTMtOS41IDIyLjV0LTIyLjUgOS41aC02NHEtMTMgMC0yMi41LTkuNXQtOS41LTIyLjV2LTIyNGgtMjI0cS0xMyAwLTIyLjUtOS41dC05LjUtMjIuNXYtNjRxMC0xMyA5LjUtMjIuNXQyMi41LTkuNWgyMjR2LTIyNHEwLTEzIDkuNS0yMi41dDIyLjUtOS41aDY0cTEzIDAgMjIuNSA5LjV0OS41IDIyLjV2MjI0aDIyNHExMyAwIDIyLjUgOS41dDkuNSAyMi41em0xMjggMzJxMC0xODUtMTMxLjUtMzE2LjV0LTMxNi41LTEzMS41LTMxNi41IDEzMS41LTEzMS41IDMxNi41IDEzMS41IDMxNi41IDMxNi41IDEzMS41IDMxNi41LTEzMS41IDEzMS41LTMxNi41em01MTIgODMycTAgNTMtMzcuNSA5MC41dC05MC41IDM3LjVxLTU0IDAtOTAtMzhsLTM0My0zNDJxLTE3OSAxMjQtMzk5IDEyNC0xNDMgMC0yNzMuNS01NS41dC0yMjUtMTUwLTE1MC0yMjUtNTUuNS0yNzMuNSA1NS41LTI3My41IDE1MC0yMjUgMjI1LTE1MCAyNzMuNS01NS41IDI3My41IDU1LjUgMjI1IDE1MCAxNTAgMjI1IDU1LjUgMjczLjVxMCAyMjAtMTI0IDM5OWwzNDMgMzQzcTM3IDM3IDM3IDkweiIvPjwvc3ZnPg==);
}
.icon-search-minus {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0JGQkZDMCIgZD0iTTEwODggODAwdjY0cTAgMTMtOS41IDIyLjV0LTIyLjUgOS41aC01NzZxLTEzIDAtMjIuNS05LjV0LTkuNS0yMi41di02NHEwLTEzIDkuNS0yMi41dDIyLjUtOS41aDU3NnExMyAwIDIyLjUgOS41dDkuNSAyMi41em0xMjggMzJxMC0xODUtMTMxLjUtMzE2LjV0LTMxNi41LTEzMS41LTMxNi41IDEzMS41LTEzMS41IDMxNi41IDEzMS41IDMxNi41IDMxNi41IDEzMS41IDMxNi41LTEzMS41IDEzMS41LTMxNi41em01MTIgODMycTAgNTMtMzcuNSA5MC41dC05MC41IDM3LjVxLTU0IDAtOTAtMzhsLTM0My0zNDJxLTE3OSAxMjQtMzk5IDEyNC0xNDMgMC0yNzMuNS01NS41dC0yMjUtMTUwLTE1MC0yMjUtNTUuNS0yNzMuNSA1NS41LTI3My41IDE1MC0yMjUgMjI1LTE1MCAyNzMuNS01NS41IDI3My41IDU1LjUgMjI1IDE1MCAxNTAgMjI1IDU1LjUgMjczLjVxMCAyMjAtMTI0IDM5OWwzNDMgMzQzcTM3IDM3IDM3IDkweiIvPjwvc3ZnPg==);
}
.icon-star {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xNzI4IDY0N3EwIDIyLTI2IDQ4bC0zNjMgMzU0IDg2IDUwMHExIDcgMSAyMCAwIDIxLTEwLjUgMzUuNXQtMzAuNSAxNC41cS0xOSAwLTQwLTEybC00NDktMjM2LTQ0OSAyMzZxLTIyIDEyLTQwIDEyLTIxIDAtMzEuNS0xNC41dC0xMC41LTM1LjVxMC02IDItMjBsODYtNTAwLTM2NC0zNTRxLTI1LTI3LTI1LTQ4IDAtMzcgNTYtNDZsNTAyLTczIDIyNS00NTVxMTktNDEgNDktNDF0NDkgNDFsMjI1IDQ1NSA1MDIgNzNxNTYgOSA1NiA0NnoiIGZpbGw9IiNmZmYiLz48L3N2Zz4=);
}
}
}
.ct-double-octave:after,.ct-golden-section:after,.ct-major-eleventh:after,.ct-major-second:after,.ct-major-seventh:after,.ct-major-sixth:after,.ct-major-tenth:after,.ct-major-third:after,.ct-major-twelfth:after,.ct-minor-second:after,.ct-minor-seventh:after,.ct-minor-sixth:after,.ct-minor-third:after,.ct-octave:after,.ct-perfect-fifth:after,.ct-perfect-fourth:after,.ct-square:after{content:"";clear:both}.ct-label{fill:rgba(0,0,0,.4);color:rgba(0,0,0,.4);font-size:.75rem;line-height:1}.ct-chart-bar .ct-label,.ct-chart-line .ct-label{display:block;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.ct-chart-donut .ct-label,.ct-chart-pie .ct-label{dominant-baseline:central}.ct-label.ct-horizontal.ct-start{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-label.ct-horizontal.ct-end{-webkit-box-align:flex-start;-webkit-align-items:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-label.ct-vertical.ct-start{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-end;-webkit-justify-content:flex-end;-ms-flex-pack:flex-end;justify-content:flex-end;text-align:right;text-anchor:end}.ct-label.ct-vertical.ct-end{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-chart-bar .ct-label.ct-horizontal.ct-start{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center;text-anchor:start}.ct-chart-bar .ct-label.ct-horizontal.ct-end{-webkit-box-align:flex-start;-webkit-align-items:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center;text-anchor:start}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-start{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-end{-webkit-box-align:flex-start;-webkit-align-items:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-start{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:flex-end;-webkit-justify-content:flex-end;-ms-flex-pack:flex-end;justify-content:flex-end;text-align:right;text-anchor:end}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-end{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:end}.ct-grid{stroke:rgba(0,0,0,.2);stroke-width:1px;stroke-dasharray:2px}.ct-grid-background{fill:none}.ct-point{stroke-width:10px;stroke-linecap:round}.ct-line{fill:none;stroke-width:4px}.ct-area{stroke:none;fill-opacity:.1}.ct-bar{fill:none;stroke-width:10px}.ct-slice-donut{fill:none;stroke-width:60px}.ct-series-a .ct-bar,.ct-series-a .ct-line,.ct-series-a .ct-point,.ct-series-a .ct-slice-donut{stroke:#d70206}.ct-series-a .ct-area,.ct-series-a .ct-slice-donut-solid,.ct-series-a .ct-slice-pie{fill:#d70206}.ct-series-b .ct-bar,.ct-series-b .ct-line,.ct-series-b .ct-point,.ct-series-b .ct-slice-donut{stroke:#f05b4f}.ct-series-b .ct-area,.ct-series-b .ct-slice-donut-solid,.ct-series-b .ct-slice-pie{fill:#f05b4f}.ct-series-c .ct-bar,.ct-series-c .ct-line,.ct-series-c .ct-point,.ct-series-c .ct-slice-donut{stroke:#f4c63d}.ct-series-c .ct-area,.ct-series-c .ct-slice-donut-solid,.ct-series-c .ct-slice-pie{fill:#f4c63d}.ct-series-d .ct-bar,.ct-series-d .ct-line,.ct-series-d .ct-point,.ct-series-d .ct-slice-donut{stroke:#d17905}.ct-series-d .ct-area,.ct-series-d .ct-slice-donut-solid,.ct-series-d .ct-slice-pie{fill:#d17905}.ct-series-e .ct-bar,.ct-series-e .ct-line,.ct-series-e .ct-point,.ct-series-e .ct-slice-donut{stroke:#453d3f}.ct-series-e .ct-area,.ct-series-e .ct-slice-donut-solid,.ct-series-e .ct-slice-pie{fill:#453d3f}.ct-series-f .ct-bar,.ct-series-f .ct-line,.ct-series-f .ct-point,.ct-series-f .ct-slice-donut{stroke:#59922b}.ct-series-f .ct-area,.ct-series-f .ct-slice-donut-solid,.ct-series-f .ct-slice-pie{fill:#59922b}.ct-series-g .ct-bar,.ct-series-g .ct-line,.ct-series-g .ct-point,.ct-series-g .ct-slice-donut{stroke:#0544d3}.ct-series-g .ct-area,.ct-series-g .ct-slice-donut-solid,.ct-series-g .ct-slice-pie{fill:#0544d3}.ct-series-h .ct-bar,.ct-series-h .ct-line,.ct-series-h .ct-point,.ct-series-h .ct-slice-donut{stroke:#6b0392}.ct-series-h .ct-area,.ct-series-h .ct-slice-donut-solid,.ct-series-h .ct-slice-pie{fill:#6b0392}.ct-series-i .ct-bar,.ct-series-i .ct-line,.ct-series-i .ct-point,.ct-series-i .ct-slice-donut{stroke:#f05b4f}.ct-series-i .ct-area,.ct-series-i .ct-slice-donut-solid,.ct-series-i .ct-slice-pie{fill:#f05b4f}.ct-series-j .ct-bar,.ct-series-j .ct-line,.ct-series-j .ct-point,.ct-series-j .ct-slice-donut{stroke:#dda458}.ct-series-j .ct-area,.ct-series-j .ct-slice-donut-solid,.ct-series-j .ct-slice-pie{fill:#dda458}.ct-series-k .ct-bar,.ct-series-k .ct-line,.ct-series-k .ct-point,.ct-series-k .ct-slice-donut{stroke:#eacf7d}.ct-series-k .ct-area,.ct-series-k .ct-slice-donut-solid,.ct-series-k .ct-slice-pie{fill:#eacf7d}.ct-series-l .ct-bar,.ct-series-l .ct-line,.ct-series-l .ct-point,.ct-series-l .ct-slice-donut{stroke:#86797d}.ct-series-l .ct-area,.ct-series-l .ct-slice-donut-solid,.ct-series-l .ct-slice-pie{fill:#86797d}.ct-series-m .ct-bar,.ct-series-m .ct-line,.ct-series-m .ct-point,.ct-series-m .ct-slice-donut{stroke:#b2c326}.ct-series-m .ct-area,.ct-series-m .ct-slice-donut-solid,.ct-series-m .ct-slice-pie{fill:#b2c326}.ct-series-n .ct-bar,.ct-series-n .ct-line,.ct-series-n .ct-point,.ct-series-n .ct-slice-donut{stroke:#6188e2}.ct-series-n .ct-area,.ct-series-n .ct-slice-donut-solid,.ct-series-n .ct-slice-pie{fill:#6188e2}.ct-series-o .ct-bar,.ct-series-o .ct-line,.ct-series-o .ct-point,.ct-series-o .ct-slice-donut{stroke:#a748ca}.ct-series-o .ct-area,.ct-series-o .ct-slice-donut-solid,.ct-series-o .ct-slice-pie{fill:#a748ca}.ct-square{display:block;position:relative;width:100%}.ct-square:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:100%}.ct-square:after{display:table}.ct-square>svg{display:block;position:absolute;top:0;left:0}.ct-minor-second{display:block;position:relative;width:100%}.ct-minor-second:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:93.75%}.ct-minor-second:after{display:table}.ct-minor-second>svg{display:block;position:absolute;top:0;left:0}.ct-major-second{display:block;position:relative;width:100%}.ct-major-second:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:88.8888888889%}.ct-major-second:after{display:table}.ct-major-second>svg{display:block;position:absolute;top:0;left:0}.ct-minor-third{display:block;position:relative;width:100%}.ct-minor-third:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:83.3333333333%}.ct-minor-third:after{display:table}.ct-minor-third>svg{display:block;position:absolute;top:0;left:0}.ct-major-third{display:block;position:relative;width:100%}.ct-major-third:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:80%}.ct-major-third:after{display:table}.ct-major-third>svg{display:block;position:absolute;top:0;left:0}.ct-perfect-fourth{display:block;position:relative;width:100%}.ct-perfect-fourth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:75%}.ct-perfect-fourth:after{display:table}.ct-perfect-fourth>svg{display:block;position:absolute;top:0;left:0}.ct-perfect-fifth{display:block;position:relative;width:100%}.ct-perfect-fifth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:66.6666666667%}.ct-perfect-fifth:after{display:table}.ct-perfect-fifth>svg{display:block;position:absolute;top:0;left:0}.ct-minor-sixth{display:block;position:relative;width:100%}.ct-minor-sixth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:62.5%}.ct-minor-sixth:after{display:table}.ct-minor-sixth>svg{display:block;position:absolute;top:0;left:0}.ct-golden-section{display:block;position:relative;width:100%}.ct-golden-section:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:61.804697157%}.ct-golden-section:after{display:table}.ct-golden-section>svg{display:block;position:absolute;top:0;left:0}.ct-major-sixth{display:block;position:relative;width:100%}.ct-major-sixth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:60%}.ct-major-sixth:after{display:table}.ct-major-sixth>svg{display:block;position:absolute;top:0;left:0}.ct-minor-seventh{display:block;position:relative;width:100%}.ct-minor-seventh:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:56.25%}.ct-minor-seventh:after{display:table}.ct-minor-seventh>svg{display:block;position:absolute;top:0;left:0}.ct-major-seventh{display:block;position:relative;width:100%}.ct-major-seventh:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:53.3333333333%}.ct-major-seventh:after{display:table}.ct-major-seventh>svg{display:block;position:absolute;top:0;left:0}.ct-octave{display:block;position:relative;width:100%}.ct-octave:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:50%}.ct-octave:after{display:table}.ct-octave>svg{display:block;position:absolute;top:0;left:0}.ct-major-tenth{display:block;position:relative;width:100%}.ct-major-tenth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:40%}.ct-major-tenth:after{display:table}.ct-major-tenth>svg{display:block;position:absolute;top:0;left:0}.ct-major-eleventh{display:block;position:relative;width:100%}.ct-major-eleventh:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:37.5%}.ct-major-eleventh:after{display:table}.ct-major-eleventh>svg{display:block;position:absolute;top:0;left:0}.ct-major-twelfth{display:block;position:relative;width:100%}.ct-major-twelfth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:33.3333333333%}.ct-major-twelfth:after{display:table}.ct-major-twelfth>svg{display:block;position:absolute;top:0;left:0}.ct-double-octave{display:block;position:relative;width:100%}.ct-double-octave:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:25%}.ct-double-octave:after{display:table}.ct-double-octave>svg{display:block;position:absolute;top:0;left:0}</style>
</head><body><div class="container"><div class="containerleft">
<h1>Summary - Report<a class="button" href="https://github.com/danielpalme/ReportGenerator" title="Star on GitHub"><i class="icon-star"></i>Star</a><a class="button" href="https://github.com/sponsors/danielpalme" title="Become a sponsor"><i class="icon-sponsor"></i>Sponsor</a></h1>
<div class="card-group">
<div class="card">
<div class="card-header">Information</div>
<div class="card-body">
<div class="table">
<table>
<tr>
<th>Parser:</th>
<td class="limit-width " title="OpenCover">OpenCover</td>
</tr>
<tr>
<th>Assemblies:</th>
<td class="limit-width right" title="1">1</td>
</tr>
<tr>
<th>Classes:</th>
<td class="limit-width right" title="58">58</td>
</tr>
<tr>
<th>Files:</th>
<td class="limit-width right" title="60">60</td>
</tr>
<tr>
<th>Tag:</th>
<td class="limit-width " title="97_5977188216">97_5977188216</td>
</tr>
</table>
</div>
</div>
</div>
<div class="card">
<div class="card-header">Line coverage</div>
<div class="card-body">
<div class="large cardpercentagebar cardpercentagebar98">2%</div>
<div class="table">
<table>
<tr>
<th>Covered lines:</th>
<td class="limit-width right" title="217">217</td>
</tr>
<tr>
<th>Uncovered lines:</th>
<td class="limit-width right" title="9470">9470</td>
</tr>
<tr>
<th>Coverable lines:</th>
<td class="limit-width right" title="9687">9687</td>
</tr>
<tr>
<th>Total lines:</th>
<td class="limit-width right" title="0">0</td>
</tr>
<tr>
<th>Line coverage:</th>
<td class="limit-width right" title="217 of 9687">2.2%</td>
</tr>
</table>
</div>
</div>
</div>
<div class="card">
<div class="card-header">Branch coverage</div>
<div class="card-body">
<div class="large cardpercentagebar cardpercentagebar96">4%</div>
<div class="table">
<table>
<tr>
<th>Covered branches:</th>
<td class="limit-width right" title="66">66</td>
</tr>
<tr>
<th>Total branches:</th>
<td class="limit-width right" title="1613">1613</td>
</tr>
<tr>
<th>Branch coverage:</th>
<td class="limit-width right" title="66 of 1613">4%</td>
</tr>
</table>
</div>
</div>
</div>
<div class="card">
<div class="card-header">Method coverage</div>
<div class="card-body">
<div class="center">
<p>Feature is only available for sponsors</p>
<a class="pro-button" href="https://reportgenerator.io/pro" target="_blank">Upgrade to PRO version</a>
</div>
</div>
</div>
</div>
<h1>Coverage history</h1>
<div class="historychart ct-chart" data-data="historyChartDatabf9653c6b161476a8304c3aaa6a7f5dc"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABaoAAACWCAYAAAA/mb8WAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAHU0lEQVR4nO3cz2pcdRjH4R9ORElSEAYCATfJekDc6EKEXEW3pcGVJOBCcOsNKEpFb6A7/6B34NZSKJSzkG6yDEyxFjVYQm3tGRydHM/+fc/L80CafE5XZ5Zfhnfr+QsNAAAAAACCbDUAAAAAAAhkqAYAAAAAIJShGgAAAACAUIZqAAAAAABCGaoBAAAAAAhlqAYAAAAAIJShGgAAAACAUIZqAAAAAABCGaoBAAAAAAhlqAYAAAAAIJShGgAAAACAUIZqAAAAAABCGaoBAAAAAAhlqAYAAAAAIFSZofrs7KxdXFys/t7b21v9Xi6XWmuttdZaa6211lprrRP1zs5OOzg4aJvKDNX9SL1YLK48W38AWmuttdZaa6211lprrXN013VtqMxQDQAAAADANJUZqufzeQMAAAAAILexLbfMUD2bzRoAAAAAALmNbbllhur+EPfw5gkAAAAAALmMbbllhmoAAAAAAKapzFDtRjUAAAAAQH5uVAMAAAAAEMqNagAAAAAAQrlRDQAAAABAOmWGajeqAQAAAADyc6MaAAAAAIBQblQDAAAAABDKjWoAAAAAANIpM1S7UQ0AAAAAkJ8b1QAAAAAAhHKjGgAAAACAUG5UAwAAAACQTpmh2o1qAAAAAID83KgGAAAAACCUG9UAAAAAAIRyoxoAAAAAgHTKDNVuVAMAAAAA5OdGNQAAAAAAocrfqO5/euv7JlprrbXWWmuttdZaa61z9eaztTJDdW+xWFzp4ctqrbXWWmuttdZaa621ju2u69pQmaHajWoAAAAAgPzcqAYAAAAAIFT5G9XDr5IDAAAAAJDL2JZbZqgGAAAAAGCaygzVblQDAAAAAOTnRjUAAAAAAKHcqAYAAAAAIJQb1QAAAAAApFNmqHajGgAAAAAgPzeqAQAAAAAI5UY1AAAAAACh3KgGAAAAACCdMkO1G9UAAAAAAPm5UQ0AAAAAQCg3qgEAAAAACOVGNQAAAAAA6ZQZqt2oBgAAAADIz41qAAAAAABCuVENAAAAAEAoN6oBAAAAAEinzFDtRjUAAAAAQH5uVAMAAAAAEMqNagAAAAAAQpW/Ud113er3+iX7F9Zaa6211lprrbXWWmudp8eUGar7uyb7+/tXnq0/AK211lprrbXWWmuttdY5+vz8vA2VGardqAYAAAAAyM+NagAAAAAAQo1tuWWGagAAAAAApqnMUN3fqAYAAAAAILexLbfMUO1GNQAAAABAfm5UAwAAAAAQyo1qAAAAAADSKTNUu1ENAAAAAJCfG9UAAAAAAIRyoxoAAAAAgFBuVAMAAAAAkE6ZodqNagAAAACA/NyoBgAAAAAglBvVAAAAAACEcqMaAAAAAIB0ygzVblQDAAAAAOTnRjUAAAAAAKHcqAYAAAAAIJQb1QAAAAAApFNmqHajGgAAAAAgPzeqAQAAAAAI5UY1AAAAAACh3KgGAAAAACCdMkP19vZ267pu9fd6je+Xea211lprrbXWWmuttdZ5ut9yh8oM1bu7u+3w8PDKs/UHoLXWWmuttdZaa6211jpHrwfrTWWG6v7lhi8OAAAAAEAuY1tumaEaAAAAAIBpKjNUz+fzBgAAAABAbmNbbpmhejabNQAAAAAAchvbcssM1W5UAwAAAADk50Y1AAAAAADplBmq3agGAAAAAMjPjWoAAAAAAEK5UQ0AAAAAQCg3qgEAAAAASKfMUO1GNQAAAABAfm5UAwAAAAAQyo1qAAAAAABCuVENAAAAAEA6ZYZqN6oBAAAAAPJzoxoAAAAAgFDlblQ/ffqs3fryXvvu+wft0a9/tvduvtFO33+zbW291AAAAAAAyKfcjepPPrvbvvjq3r/96ed32+XlX+2jD99qAAAAAABMw6SH6m++/Xn0maEaAAAAACCncjeqLx//9uLfl0eeAQAAAACQUbkb1e/+fqf98Mo7/3sGAAAAAEBO5W5UH796pz1//KT9uPv2qo/++Kkdv3a/AQAAAAAwHZMeql//4KQdn56241++/u/Zx7caAAAAAAA5lbtRvXdy0mbXrrVHt2+3Jw8ftmfXr7fl0VH/3fHV/y//+b3+GrnWWmuttdZaa6211lrrHL1p0kN1b37jxupnzPCFtdZaa6211lprrbXWWufoTZMfqgEAAAAAmDZDNQAAAAAAoQzVAAAAAACEMlQDAAAAABDKUA0AAAAAQChDNQAAAAAAoQzVAAAAAACEMlQDAAAAABDKUA0AAAAAQChDNQAAAAAAoQzVAAAAAACEMlQDAAAAABDKUA0AAAAAQChDNQAAAAAAoQzVAAAAAACEMlQDAAAAABDKUA0AAAAAQChDNQAAAAAAoQzVAAAAAACEMlQDAAAAABDKUA0AAAAAQChDNQAAAAAAoQzVAAAAAACEMlQDAAAAABDKUA0AAAAAQChDNQAAAAAAoQzVAAAAAACEMlQDAAAAABDKUA0AAAAAQChDNQAAAAAAoQzVAAAAAACEMlQDAAAAABDKUA0AAAAAQKi/AXKPHFWm8ss8AAAAAElFTkSuQmCC" /></div>
<script type="text/javascript">/* <![CDATA[ */
var historyChartDatabf9653c6b161476a8304c3aaa6a7f5dc = {
"series" : [[{ 'meta': 0, 'value': 2.2 }],
[{ 'meta': 0, 'value': 4 }],
[]
],
"tooltips" : ['<h3>25/08/2023 - 15:38:57</h3><br /><span class="linecoverage"></span> Line coverage: 2.2% (217/9687)<br /><span class="branchcoverage"></span> Branch coverage: 4% (66/1613)<br />Total lines: 0<br />Tag: 97_5977188216']
};
/* ]]> */ </script>
<h1>Risk Hotspots</h1>
<risk-hotspots>
<div class="table-responsive">
<table class="overview table-fixed stripped">
<colgroup>
<col />
<col />
<col />
<col class="column105" />
<col class="column105" />
</colgroup>
<thead><tr><th>Assembly</th>
<th>Class</th>
<th>Method</th>
<th>Cyclomatic complexity <a href="https://en.wikipedia.org/wiki/Cyclomatic_complexity" target="_blank"><i class="icon-info-circled"></i></a></th>
<th>NPath complexity <a href="https://modess.io/npath-complexity-cyclomatic-complexity-explained" target="_blank"><i class="icon-info-circled"></i></a></th>
</tr></thead>
<tbody>
<tr>
<td>MewtocolNet</td>
<td>MewtocolNet.ProgramParsing.PlcBinaryProgram</td>
<td title="System.Void MewtocolNet.ProgramParsing.PlcBinaryProgram::AnalyzeProgram()">AnalyzeProgram()</td><td class="lightred right">66</td>
<td class="lightgreen right">66</td>
</tr>
<tr>
<td>MewtocolNet</td>
<td>MewtocolNet.RegisterBuilding.RegisterAssembler</td>
<td title="MewtocolNet.Registers.Register MewtocolNet.RegisterBuilding.RegisterAssembler::Assemble(MewtocolNet.RegisterBuilding.StepData)">Assemble(...)</td><td class="lightred right">48</td>
<td class="lightgreen right">48</td>
</tr>
<tr>
<td>MewtocolNet</td>
<td>MewtocolNet.RegisterBuilding.StepBaseTyper</td>
<td title="MewtocolNet.RegisterBuilding.StepBase MewtocolNet.RegisterBuilding.StepBaseTyper::AsType(MewtocolNet.RegisterBuilding.StepBase,System.Type)">AsType(...)</td><td class="lightred right">40</td>
<td class="lightgreen right">40</td>
</tr>
<tr>
<td>MewtocolNet</td>
<td>MewtocolNet.UnderlyingRegisters.MemoryAreaManager</td>
<td title="System.Void MewtocolNet.UnderlyingRegisters.MemoryAreaManager::AddToArea(MewtocolNet.Registers.Register,MewtocolNet.RegisterPrefix)">AddToArea(...)</td><td class="lightred right">34</td>
<td class="lightgreen right">34</td>
</tr>
<tr>
<td>MewtocolNet</td>
<td>MewtocolNet.UnderlyingRegisters.MemoryAreaManager</td>
<td title="System.String MewtocolNet.UnderlyingRegisters.MemoryAreaManager::ExplainLayout()">ExplainLayout()</td><td class="lightred right">32</td>
<td class="lightgreen right">32</td>
</tr>
</tbody>
</table>
</div>
</risk-hotspots>
<h1>Coverage</h1>
<coverage-info>
<div class="table-responsive">
<table class="overview table-fixed stripped">
<colgroup>
<col class="column-min-200" />
<col class="column90" />
<col class="column105" />
<col class="column100" />
<col class="column70" />
<col class="column60" />
<col class="column112" />
<col class="column90" />
<col class="column70" />
<col class="column60" />
<col class="column112" />
</colgroup>
<thead>
<tr class="header"><th></th><th colspan="6" class="center">Line coverage</th><th colspan="4" class="center">Branch coverage</th></tr>
<tr><th>Name</th><th class="right">Covered</th><th class="right">Uncovered</th><th class="right">Coverable</th><th class="right">Total</th><th class="center" colspan="2">Percentage</th><th class="right">Covered</th><th class="right">Total</th><th class="center" colspan="2">Percentage</th></tr></thead>
<tbody>
<tr><th>MewtocolNet</th><th class="right">217</th><th class="right">9470</th><th class="right">9687</th><th class="right">0</th><th title="217/9687" class="right">2.2%</th><th><table class="coverage"><tr><td class="green covered2">&nbsp;</td><td class="red covered98">&nbsp;</td></tr></table></th><th class="right">66</th><th class="right">1613</th><th class="right" title="66/1613">4%</th><th><table class="coverage"><tr><td class="green covered4">&nbsp;</td><td class="red covered96">&nbsp;</td></tr></table></th></tr>
<tr><td>MewtocolNet.AsyncExtensions</td><td class="right">0</td><td class="right">9</td><td class="right">9</td><td class="right">0</td><td title="0/9" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">6</td><td class="right" title="0/6">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.AutoGeneratedData.FPFunction</td><td class="right">0</td><td class="right">5312</td><td class="right">5312</td><td class="right">0</td><td title="0/5312" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.ComCassette.CassetteFinder</td><td class="right">0</td><td class="right">68</td><td class="right">68</td><td class="right">0</td><td title="0/68" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">24</td><td class="right" title="0/24">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.ComCassette.CassetteInformation</td><td class="right">0</td><td class="right">82</td><td class="right">82</td><td class="right">0</td><td title="0/82" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">36</td><td class="right" title="0/36">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.CRCCalculator</td><td class="right">58</td><td class="right">0</td><td class="right">58</td><td class="right">0</td><td title="58/58" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100">&nbsp;</td></tr></table></td><td class="right">4</td><td class="right">4</td><td class="right" title="4/4">100%</td><td><table class="coverage"><tr><td class="green covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.DataLists.CodeDescriptions</td><td class="right">34</td><td class="right">0</td><td class="right">34</td><td class="right">0</td><td title="34/34" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.DateAndTime</td><td class="right">0</td><td class="right">40</td><td class="right">40</td><td class="right">0</td><td title="0/40" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">24</td><td class="right" title="0/24">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.Documentation.PlcCodeTestedAttribute</td><td class="right">0</td><td class="right">1</td><td class="right">1</td><td class="right">0</td><td title="0/1" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.Documentation.PlcEXRTAttribute</td><td class="right">0</td><td class="right">1</td><td class="right">1</td><td class="right">0</td><td title="0/1" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.Documentation.PlcLegacyAttribute</td><td class="right">0</td><td class="right">1</td><td class="right">1</td><td class="right">0</td><td title="0/1" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.DWord</td><td class="right">0</td><td class="right">48</td><td class="right">48</td><td class="right">0</td><td title="0/48" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">10</td><td class="right" title="0/10">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.Events.PlcModeArgs</td><td class="right">0</td><td class="right">4</td><td class="right">4</td><td class="right">0</td><td title="0/4" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.Events.ReconnectArgs</td><td class="right">0</td><td class="right">45</td><td class="right">45</td><td class="right">0</td><td title="0/45" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">8</td><td class="right" title="0/8">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.Events.RegisterChangedArgs</td><td class="right">0</td><td class="right">4</td><td class="right">4</td><td class="right">0</td><td title="0/4" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.Helpers.LinqHelpers</td><td class="right">0</td><td class="right">14</td><td class="right">14</td><td class="right">0</td><td title="0/14" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">12</td><td class="right" title="0/12">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.Helpers.PlcBitConverter</td><td class="right">0</td><td class="right">8</td><td class="right">8</td><td class="right">0</td><td title="0/8" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.Logging.Logger</td><td class="right">0</td><td class="right">68</td><td class="right">68</td><td class="right">0</td><td title="0/68" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">22</td><td class="right" title="0/22">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.Mewtocol</td><td class="right">0</td><td class="right">194</td><td class="right">194</td><td class="right">0</td><td title="0/194" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">58</td><td class="right" title="0/58">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.MewtocolFrameResponse</td><td class="right">0</td><td class="right">32</td><td class="right">32</td><td class="right">0</td><td title="0/32" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.MewtocolHelpers</td><td class="right">42</td><td class="right">198</td><td class="right">240</td><td class="right">0</td><td title="42/240" class="right">17.5%</td><td><table class="coverage"><tr><td class="green covered18">&nbsp;</td><td class="red covered82">&nbsp;</td></tr></table></td><td class="right">12</td><td class="right">140</td><td class="right" title="12/140">8.5%</td><td><table class="coverage"><tr><td class="green covered8">&nbsp;</td><td class="red covered92">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.MewtocolInterface</td><td class="right">0</td><td class="right">891</td><td class="right">891</td><td class="right">0</td><td title="0/891" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">312</td><td class="right" title="0/312">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.MewtocolInterfaceSerial</td><td class="right">0</td><td class="right">167</td><td class="right">167</td><td class="right">0</td><td title="0/167" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">43</td><td class="right" title="0/43">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.MewtocolInterfaceTcp</td><td class="right">0</td><td class="right">131</td><td class="right">131</td><td class="right">0</td><td title="0/131" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">42</td><td class="right" title="0/42">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.ParsedPlcName</td><td class="right">0</td><td class="right">50</td><td class="right">50</td><td class="right">0</td><td title="0/50" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">10</td><td class="right" title="0/10">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.PlcFormat</td><td class="right">39</td><td class="right">2</td><td class="right">41</td><td class="right">0</td><td title="39/41" class="right">95.1%</td><td><table class="coverage"><tr><td class="green covered95">&nbsp;</td><td class="red covered5">&nbsp;</td></tr></table></td><td class="right">26</td><td class="right">28</td><td class="right" title="26/28">92.8%</td><td><table class="coverage"><tr><td class="green covered93">&nbsp;</td><td class="red covered7">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.PLCInfo</td><td class="right">0</td><td class="right">111</td><td class="right">111</td><td class="right">0</td><td title="0/111" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">24</td><td class="right" title="0/24">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.PlcMetadata</td><td class="right">0</td><td class="right">9</td><td class="right">9</td><td class="right">0</td><td title="0/9" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.PlcTypeConversion`1</td><td class="right">0</td><td class="right">16</td><td class="right">16</td><td class="right">0</td><td title="0/16" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.PlcValueParser</td><td class="right">0</td><td class="right">91</td><td class="right">91</td><td class="right">0</td><td title="0/91" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">46</td><td class="right" title="0/46">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.PlcVarTypeConversions</td><td class="right">0</td><td class="right">25</td><td class="right">25</td><td class="right">0</td><td title="0/25" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">10</td><td class="right" title="0/10">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.ProgramParsing.PlcBinaryProgram</td><td class="right">0</td><td class="right">179</td><td class="right">179</td><td class="right">0</td><td title="0/179" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">102</td><td class="right" title="0/102">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.RegisterAttributes.BitRegisterAttribute</td><td class="right">0</td><td class="right">3</td><td class="right">3</td><td class="right">0</td><td title="0/3" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.RegisterAttributes.PollLevelAttribute</td><td class="right">0</td><td class="right">3</td><td class="right">3</td><td class="right">0</td><td title="0/3" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.RegisterAttributes.RegisterAttribute</td><td class="right">0</td><td class="right">6</td><td class="right">6</td><td class="right">0</td><td title="0/6" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.RegisterAttributes.RegisterCollection</td><td class="right">0</td><td class="right">14</td><td class="right">14</td><td class="right">0</td><td title="0/14" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">4</td><td class="right" title="0/4">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.RegisterAttributes.RegisterPropTarget</td><td class="right">0</td><td class="right">5</td><td class="right">5</td><td class="right">0</td><td title="0/5" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.RegisterAttributes.StringHintAttribute</td><td class="right">0</td><td class="right">3</td><td class="right">3</td><td class="right">0</td><td title="0/3" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.RegisterBuilding.AddressTools</td><td class="right">0</td><td class="right">98</td><td class="right">98</td><td class="right">0</td><td title="0/98" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">40</td><td class="right" title="0/40">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.RegisterBuilding.BuilderPatterns.RBuild</td><td class="right">0</td><td class="right">70</td><td class="right">70</td><td class="right">0</td><td title="0/70" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">12</td><td class="right" title="0/12">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.RegisterBuilding.BuilderPatterns.RBuildAnon</td><td class="right">0</td><td class="right">47</td><td class="right">47</td><td class="right">0</td><td title="0/47" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.RegisterBuilding.BuilderPatterns.RBuildFromAttributes</td><td class="right">0</td><td class="right">28</td><td class="right">28</td><td class="right">0</td><td title="0/28" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.RegisterBuilding.BuilderPatterns.RBuildMulti</td><td class="right">0</td><td class="right">47</td><td class="right">47</td><td class="right">0</td><td title="0/47" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.RegisterBuilding.RegisterAssembler</td><td class="right">0</td><td class="right">100</td><td class="right">100</td><td class="right">0</td><td title="0/100" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">48</td><td class="right" title="0/48">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.RegisterBuilding.StepBaseTyper</td><td class="right">0</td><td class="right">102</td><td class="right">102</td><td class="right">0</td><td title="0/102" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">82</td><td class="right" title="0/82">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.RegisterBuilding.StepData</td><td class="right">0</td><td class="right">2</td><td class="right">2</td><td class="right">0</td><td title="0/2" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.Registers.ArrayRegister`1</td><td class="right">0</td><td class="right">141</td><td class="right">141</td><td class="right">0</td><td title="0/141" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">70</td><td class="right" title="0/70">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.Registers.BoolRegister</td><td class="right">16</td><td class="right">49</td><td class="right">65</td><td class="right">0</td><td title="16/65" class="right">24.6%</td><td><table class="coverage"><tr><td class="green covered25">&nbsp;</td><td class="red covered75">&nbsp;</td></tr></table></td><td class="right">11</td><td class="right">28</td><td class="right" title="11/28">39.2%</td><td><table class="coverage"><tr><td class="green covered39">&nbsp;</td><td class="red covered61">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.Registers.Register</td><td class="right">14</td><td class="right">198</td><td class="right">212</td><td class="right">0</td><td title="14/212" class="right">6.6%</td><td><table class="coverage"><tr><td class="green covered7">&nbsp;</td><td class="red covered93">&nbsp;</td></tr></table></td><td class="right">3</td><td class="right">126</td><td class="right" title="3/126">2.3%</td><td><table class="coverage"><tr><td class="green covered2">&nbsp;</td><td class="red covered98">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.Registers.StringRegister</td><td class="right">0</td><td class="right">67</td><td class="right">67</td><td class="right">0</td><td title="0/67" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">26</td><td class="right" title="0/26">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.Registers.StructRegister`1</td><td class="right">14</td><td class="right">65</td><td class="right">79</td><td class="right">0</td><td title="14/79" class="right">17.7%</td><td><table class="coverage"><tr><td class="green covered18">&nbsp;</td><td class="red covered82">&nbsp;</td></tr></table></td><td class="right">10</td><td class="right">54</td><td class="right" title="10/54">18.5%</td><td><table class="coverage"><tr><td class="green covered18">&nbsp;</td><td class="red covered82">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.SerialPortExtensions</td><td class="right">0</td><td class="right">17</td><td class="right">17</td><td class="right">0</td><td title="0/17" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">2</td><td class="right" title="0/2">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.SetupClasses.InterfaceSettings</td><td class="right">0</td><td class="right">8</td><td class="right">8</td><td class="right">0</td><td title="0/8" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.TypeConversion.Conversions</td><td class="right">0</td><td class="right">171</td><td class="right">171</td><td class="right">0</td><td title="0/171" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">14</td><td class="right" title="0/14">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.UnderlyingRegisters.AreaBase</td><td class="right">0</td><td class="right">88</td><td class="right">88</td><td class="right">0</td><td title="0/88" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">18</td><td class="right" title="0/18">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.UnderlyingRegisters.LinkedRegisterGroup</td><td class="right">0</td><td class="right">1</td><td class="right">1</td><td class="right">0</td><td title="0/1" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.UnderlyingRegisters.MemoryAreaManager</td><td class="right">0</td><td class="right">273</td><td class="right">273</td><td class="right">0</td><td title="0/273" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">118</td><td class="right" title="0/118">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.UnderlyingRegisters.PollLevel</td><td class="right">0</td><td class="right">15</td><td class="right">15</td><td class="right">0</td><td title="0/15" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100">&nbsp;</td></tr></table></td></tr>
<tr><td>MewtocolNet.Word</td><td class="right">0</td><td class="right">48</td><td class="right">48</td><td class="right">0</td><td title="0/48" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td><td class="right">0</td><td class="right">10</td><td class="right" title="0/10">0%</td><td><table class="coverage"><tr><td class="red covered100">&nbsp;</td></tr></table></td></tr>
</tbody>
</table>
</div>
</coverage-info>
<div class="footer">Generated by: ReportGenerator 5.1.22.0<br />25/08/2023 - 15:39:00<br /><a href="https://github.com/danielpalme/ReportGenerator">GitHub</a> | <a href="https://reportgenerator.io">reportgenerator.io</a></div></div></div>
<script type="text/javascript">/* <![CDATA[ */ /* Chartist.js 0.11.4
* Copyright © 2019 Gion Kunz
* Free to use under either the WTFPL license or the MIT license.
* https://raw.githubusercontent.com/gionkunz/chartist-js/master/LICENSE-WTFPL
* https://raw.githubusercontent.com/gionkunz/chartist-js/master/LICENSE-MIT
*/
!function (a, b) { "function" == typeof define && define.amd ? define("Chartist", [], function () { return a.Chartist = b() }) : "object" == typeof module && module.exports ? module.exports = b() : a.Chartist = b() }(this, function () {
var a = { version: "0.11.4" }; return function (a, b) { "use strict"; var c = a.window, d = a.document; b.namespaces = { svg: "http://www.w3.org/2000/svg", xmlns: "http://www.w3.org/2000/xmlns/", xhtml: "http://www.w3.org/1999/xhtml", xlink: "http://www.w3.org/1999/xlink", ct: "http://gionkunz.github.com/chartist-js/ct" }, b.noop = function (a) { return a }, b.alphaNumerate = function (a) { return String.fromCharCode(97 + a % 26) }, b.extend = function (a) { var c, d, e; for (a = a || {}, c = 1; c < arguments.length; c++) { d = arguments[c]; for (var f in d) e = d[f], "object" != typeof e || null === e || e instanceof Array ? a[f] = e : a[f] = b.extend(a[f], e) } return a }, b.replaceAll = function (a, b, c) { return a.replace(new RegExp(b, "g"), c) }, b.ensureUnit = function (a, b) { return "number" == typeof a && (a += b), a }, b.quantity = function (a) { if ("string" == typeof a) { var b = /^(\d+)\s*(.*)$/g.exec(a); return { value: +b[1], unit: b[2] || void 0 } } return { value: a } }, b.querySelector = function (a) { return a instanceof Node ? a : d.querySelector(a) }, b.times = function (a) { return Array.apply(null, new Array(a)) }, b.sum = function (a, b) { return a + (b ? b : 0) }, b.mapMultiply = function (a) { return function (b) { return b * a } }, b.mapAdd = function (a) { return function (b) { return b + a } }, b.serialMap = function (a, c) { var d = [], e = Math.max.apply(null, a.map(function (a) { return a.length })); return b.times(e).forEach(function (b, e) { var f = a.map(function (a) { return a[e] }); d[e] = c.apply(null, f) }), d }, b.roundWithPrecision = function (a, c) { var d = Math.pow(10, c || b.precision); return Math.round(a * d) / d }, b.precision = 8, b.escapingMap = { "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#039;" }, b.serialize = function (a) { return null === a || void 0 === a ? a : ("number" == typeof a ? a = "" + a : "object" == typeof a && (a = JSON.stringify({ data: a })), Object.keys(b.escapingMap).reduce(function (a, c) { return b.replaceAll(a, c, b.escapingMap[c]) }, a)) }, b.deserialize = function (a) { if ("string" != typeof a) return a; a = Object.keys(b.escapingMap).reduce(function (a, c) { return b.replaceAll(a, b.escapingMap[c], c) }, a); try { a = JSON.parse(a), a = void 0 !== a.data ? a.data : a } catch (c) { } return a }, b.createSvg = function (a, c, d, e) { var f; return c = c || "100%", d = d || "100%", Array.prototype.slice.call(a.querySelectorAll("svg")).filter(function (a) { return a.getAttributeNS(b.namespaces.xmlns, "ct") }).forEach(function (b) { a.removeChild(b) }), f = new b.Svg("svg").attr({ width: c, height: d }).addClass(e), f._node.style.width = c, f._node.style.height = d, a.appendChild(f._node), f }, b.normalizeData = function (a, c, d) { var e, f = { raw: a, normalized: {} }; return f.normalized.series = b.getDataArray({ series: a.series || [] }, c, d), e = f.normalized.series.every(function (a) { return a instanceof Array }) ? Math.max.apply(null, f.normalized.series.map(function (a) { return a.length })) : f.normalized.series.length, f.normalized.labels = (a.labels || []).slice(), Array.prototype.push.apply(f.normalized.labels, b.times(Math.max(0, e - f.normalized.labels.length)).map(function () { return "" })), c && b.reverseData(f.normalized), f }, b.safeHasProperty = function (a, b) { return null !== a && "object" == typeof a && a.hasOwnProperty(b) }, b.isDataHoleValue = function (a) { return null === a || void 0 === a || "number" == typeof a && isNaN(a) }, b.reverseData = function (a) { a.labels.reverse(), a.series.reverse(); for (var b = 0; b < a.series.length; b++)"object" == typeof a.series[b] && void 0 !== a.series[b].data ? a.series[b].data.reverse() : a.series[b] instanceof Array && a.series[b].reverse() }, b.getDataArray = function (a, c, d) { function e(a) { if (b.safeHasProperty(a, "value")) return e(a.value); if (b.safeHasProperty(a, "data")) return e(a.data); if (a instanceof Array) return a.map(e); if (!b.isDataHoleValue(a)) { if (d) { var c = {}; return "string" == typeof d ? c[d] = b.getNumberOrUndefined(a) : c.y = b.getNumberOrUndefined(a), c.x = a.hasOwnProperty("x") ? b.getNumberOrUndefined(a.x) : c.x, c.y = a.hasOwnProperty("y") ? b.getNumberOrUndefined(a.y) : c.y, c } return b.getNumberOrUndefined(a) } } return a.series.map(e) }, b.normalizePadding = function (a, b) { return b = b || 0, "number" == typeof a ? { top: a, right: a, bottom: a, left: a } : { top: "number" == typeof a.top ? a.top : b, right: "number" == typeof a.right ? a.right : b, bottom: "number" == typeof a.bottom ? a.bottom : b, left: "number" == typeof a.left ? a.left : b } }, b.getMetaData = function (a, b) { var c = a.data ? a.data[b] : a[b]; return c ? c.meta : void 0 }, b.orderOfMagnitude = function (a) { return Math.floor(Math.log(Math.abs(a)) / Math.LN10) }, b.projectLength = function (a, b, c) { return b / c.range * a }, b.getAvailableHeight = function (a, c) { return Math.max((b.quantity(c.height).value || a.height()) - (c.chartPadding.top + c.chartPadding.bottom) - c.axisX.offset, 0) }, b.getHighLow = function (a, c, d) { function e(a) { if (void 0 !== a) if (a instanceof Array) for (var b = 0; b < a.length; b++)e(a[b]); else { var c = d ? +a[d] : +a; g && c > f.high && (f.high = c), h && c < f.low && (f.low = c) } } c = b.extend({}, c, d ? c["axis" + d.toUpperCase()] : {}); var f = { high: void 0 === c.high ? -Number.MAX_VALUE : +c.high, low: void 0 === c.low ? Number.MAX_VALUE : +c.low }, g = void 0 === c.high, h = void 0 === c.low; return (g || h) && e(a), (c.referenceValue || 0 === c.referenceValue) && (f.high = Math.max(c.referenceValue, f.high), f.low = Math.min(c.referenceValue, f.low)), f.high <= f.low && (0 === f.low ? f.high = 1 : f.low < 0 ? f.high = 0 : f.high > 0 ? f.low = 0 : (f.high = 1, f.low = 0)), f }, b.isNumeric = function (a) { return null !== a && isFinite(a) }, b.isFalseyButZero = function (a) { return !a && 0 !== a }, b.getNumberOrUndefined = function (a) { return b.isNumeric(a) ? +a : void 0 }, b.isMultiValue = function (a) { return "object" == typeof a && ("x" in a || "y" in a) }, b.getMultiValue = function (a, c) { return b.isMultiValue(a) ? b.getNumberOrUndefined(a[c || "y"]) : b.getNumberOrUndefined(a) }, b.rho = function (a) { function b(a, c) { return a % c === 0 ? c : b(c, a % c) } function c(a) { return a * a + 1 } if (1 === a) return a; var d, e = 2, f = 2; if (a % 2 === 0) return 2; do e = c(e) % a, f = c(c(f)) % a, d = b(Math.abs(e - f), a); while (1 === d); return d }, b.getBounds = function (a, c, d, e) { function f(a, b) { return a === (a += b) && (a *= 1 + (b > 0 ? o : -o)), a } var g, h, i, j = 0, k = { high: c.high, low: c.low }; k.valueRange = k.high - k.low, k.oom = b.orderOfMagnitude(k.valueRange), k.step = Math.pow(10, k.oom), k.min = Math.floor(k.low / k.step) * k.step, k.max = Math.ceil(k.high / k.step) * k.step, k.range = k.max - k.min, k.numberOfSteps = Math.round(k.range / k.step); var l = b.projectLength(a, k.step, k), m = l < d, n = e ? b.rho(k.range) : 0; if (e && b.projectLength(a, 1, k) >= d) k.step = 1; else if (e && n < k.step && b.projectLength(a, n, k) >= d) k.step = n; else for (; ;) { if (m && b.projectLength(a, k.step, k) <= d) k.step *= 2; else { if (m || !(b.projectLength(a, k.step / 2, k) >= d)) break; if (k.step /= 2, e && k.step % 1 !== 0) { k.step *= 2; break } } if (j++ > 1e3) throw new Error("Exceeded maximum number of iterations while optimizing scale step!") } var o = 2.221e-16; for (k.step = Math.max(k.step, o), h = k.min, i = k.max; h + k.step <= k.low;)h = f(h, k.step); for (; i - k.step >= k.high;)i = f(i, -k.step); k.min = h, k.max = i, k.range = k.max - k.min; var p = []; for (g = k.min; g <= k.max; g = f(g, k.step)) { var q = b.roundWithPrecision(g); q !== p[p.length - 1] && p.push(q) } return k.values = p, k }, b.polarToCartesian = function (a, b, c, d) { var e = (d - 90) * Math.PI / 180; return { x: a + c * Math.cos(e), y: b + c * Math.sin(e) } }, b.createChartRect = function (a, c, d) { var e = !(!c.axisX && !c.axisY), f = e ? c.axisY.offset : 0, g = e ? c.axisX.offset : 0, h = a.width() || b.quantity(c.width).value || 0, i = a.height() || b.quantity(c.height).value || 0, j = b.normalizePadding(c.chartPadding, d); h = Math.max(h, f + j.left + j.right), i = Math.max(i, g + j.top + j.bottom); var k = { padding: j, width: function () { return this.x2 - this.x1 }, height: function () { return this.y1 - this.y2 } }; return e ? ("start" === c.axisX.position ? (k.y2 = j.top + g, k.y1 = Math.max(i - j.bottom, k.y2 + 1)) : (k.y2 = j.top, k.y1 = Math.max(i - j.bottom - g, k.y2 + 1)), "start" === c.axisY.position ? (k.x1 = j.left + f, k.x2 = Math.max(h - j.right, k.x1 + 1)) : (k.x1 = j.left, k.x2 = Math.max(h - j.right - f, k.x1 + 1))) : (k.x1 = j.left, k.x2 = Math.max(h - j.right, k.x1 + 1), k.y2 = j.top, k.y1 = Math.max(i - j.bottom, k.y2 + 1)), k }, b.createGrid = function (a, c, d, e, f, g, h, i) { var j = {}; j[d.units.pos + "1"] = a, j[d.units.pos + "2"] = a, j[d.counterUnits.pos + "1"] = e, j[d.counterUnits.pos + "2"] = e + f; var k = g.elem("line", j, h.join(" ")); i.emit("draw", b.extend({ type: "grid", axis: d, index: c, group: g, element: k }, j)) }, b.createGridBackground = function (a, b, c, d) { var e = a.elem("rect", { x: b.x1, y: b.y2, width: b.width(), height: b.height() }, c, !0); d.emit("draw", { type: "gridBackground", group: a, element: e }) }, b.createLabel = function (a, c, e, f, g, h, i, j, k, l, m) { var n, o = {}; if (o[g.units.pos] = a + i[g.units.pos], o[g.counterUnits.pos] = i[g.counterUnits.pos], o[g.units.len] = c, o[g.counterUnits.len] = Math.max(0, h - 10), l) { var p = d.createElement("span"); p.className = k.join(" "), p.setAttribute("xmlns", b.namespaces.xhtml), p.innerText = f[e], p.style[g.units.len] = Math.round(o[g.units.len]) + "px", p.style[g.counterUnits.len] = Math.round(o[g.counterUnits.len]) + "px", n = j.foreignObject(p, b.extend({ style: "overflow: visible;" }, o)) } else n = j.elem("text", o, k.join(" ")).text(f[e]); m.emit("draw", b.extend({ type: "label", axis: g, index: e, group: j, element: n, text: f[e] }, o)) }, b.getSeriesOption = function (a, b, c) { if (a.name && b.series && b.series[a.name]) { var d = b.series[a.name]; return d.hasOwnProperty(c) ? d[c] : b[c] } return b[c] }, b.optionsProvider = function (a, d, e) { function f(a) { var f = h; if (h = b.extend({}, j), d) for (i = 0; i < d.length; i++) { var g = c.matchMedia(d[i][0]); g.matches && (h = b.extend(h, d[i][1])) } e && a && e.emit("optionsChanged", { previousOptions: f, currentOptions: h }) } function g() { k.forEach(function (a) { a.removeListener(f) }) } var h, i, j = b.extend({}, a), k = []; if (!c.matchMedia) throw "window.matchMedia not found! Make sure you're using a polyfill."; if (d) for (i = 0; i < d.length; i++) { var l = c.matchMedia(d[i][0]); l.addListener(f), k.push(l) } return f(), { removeMediaQueryListeners: g, getCurrentOptions: function () { return b.extend({}, h) } } }, b.splitIntoSegments = function (a, c, d) { var e = { increasingX: !1, fillHoles: !1 }; d = b.extend({}, e, d); for (var f = [], g = !0, h = 0; h < a.length; h += 2)void 0 === b.getMultiValue(c[h / 2].value) ? d.fillHoles || (g = !0) : (d.increasingX && h >= 2 && a[h] <= a[h - 2] && (g = !0), g && (f.push({ pathCoordinates: [], valueData: [] }), g = !1), f[f.length - 1].pathCoordinates.push(a[h], a[h + 1]), f[f.length - 1].valueData.push(c[h / 2])); return f } }(this || global, a), function (a, b) { "use strict"; b.Interpolation = {}, b.Interpolation.none = function (a) { var c = { fillHoles: !1 }; return a = b.extend({}, c, a), function (c, d) { for (var e = new b.Svg.Path, f = !0, g = 0; g < c.length; g += 2) { var h = c[g], i = c[g + 1], j = d[g / 2]; void 0 !== b.getMultiValue(j.value) ? (f ? e.move(h, i, !1, j) : e.line(h, i, !1, j), f = !1) : a.fillHoles || (f = !0) } return e } }, b.Interpolation.simple = function (a) { var c = { divisor: 2, fillHoles: !1 }; a = b.extend({}, c, a); var d = 1 / Math.max(1, a.divisor); return function (c, e) { for (var f, g, h, i = new b.Svg.Path, j = 0; j < c.length; j += 2) { var k = c[j], l = c[j + 1], m = (k - f) * d, n = e[j / 2]; void 0 !== n.value ? (void 0 === h ? i.move(k, l, !1, n) : i.curve(f + m, g, k - m, l, k, l, !1, n), f = k, g = l, h = n) : a.fillHoles || (f = k = h = void 0) } return i } }, b.Interpolation.cardinal = function (a) { var c = { tension: 1, fillHoles: !1 }; a = b.extend({}, c, a); var d = Math.min(1, Math.max(0, a.tension)), e = 1 - d; return function f(c, g) { var h = b.splitIntoSegments(c, g, { fillHoles: a.fillHoles }); if (h.length) { if (h.length > 1) { var i = []; return h.forEach(function (a) { i.push(f(a.pathCoordinates, a.valueData)) }), b.Svg.Path.join(i) } if (c = h[0].pathCoordinates, g = h[0].valueData, c.length <= 4) return b.Interpolation.none()(c, g); for (var j, k = (new b.Svg.Path).move(c[0], c[1], !1, g[0]), l = 0, m = c.length; m - 2 * !j > l; l += 2) { var n = [{ x: +c[l - 2], y: +c[l - 1] }, { x: +c[l], y: +c[l + 1] }, { x: +c[l + 2], y: +c[l + 3] }, { x: +c[l + 4], y: +c[l + 5] }]; j ? l ? m - 4 === l ? n[3] = { x: +c[0], y: +c[1] } : m - 2 === l && (n[2] = { x: +c[0], y: +c[1] }, n[3] = { x: +c[2], y: +c[3] }) : n[0] = { x: +c[m - 2], y: +c[m - 1] } : m - 4 === l ? n[3] = n[2] : l || (n[0] = { x: +c[l], y: +c[l + 1] }), k.curve(d * (-n[0].x + 6 * n[1].x + n[2].x) / 6 + e * n[2].x, d * (-n[0].y + 6 * n[1].y + n[2].y) / 6 + e * n[2].y, d * (n[1].x + 6 * n[2].x - n[3].x) / 6 + e * n[2].x, d * (n[1].y + 6 * n[2].y - n[3].y) / 6 + e * n[2].y, n[2].x, n[2].y, !1, g[(l + 2) / 2]) } return k } return b.Interpolation.none()([]) } }, b.Interpolation.monotoneCubic = function (a) { var c = { fillHoles: !1 }; return a = b.extend({}, c, a), function d(c, e) { var f = b.splitIntoSegments(c, e, { fillHoles: a.fillHoles, increasingX: !0 }); if (f.length) { if (f.length > 1) { var g = []; return f.forEach(function (a) { g.push(d(a.pathCoordinates, a.valueData)) }), b.Svg.Path.join(g) } if (c = f[0].pathCoordinates, e = f[0].valueData, c.length <= 4) return b.Interpolation.none()(c, e); var h, i, j = [], k = [], l = c.length / 2, m = [], n = [], o = [], p = []; for (h = 0; h < l; h++)j[h] = c[2 * h], k[h] = c[2 * h + 1]; for (h = 0; h < l - 1; h++)o[h] = k[h + 1] - k[h], p[h] = j[h + 1] - j[h], n[h] = o[h] / p[h]; for (m[0] = n[0], m[l - 1] = n[l - 2], h = 1; h < l - 1; h++)0 === n[h] || 0 === n[h - 1] || n[h - 1] > 0 != n[h] > 0 ? m[h] = 0 : (m[h] = 3 * (p[h - 1] + p[h]) / ((2 * p[h] + p[h - 1]) / n[h - 1] + (p[h] + 2 * p[h - 1]) / n[h]), isFinite(m[h]) || (m[h] = 0)); for (i = (new b.Svg.Path).move(j[0], k[0], !1, e[0]), h = 0; h < l - 1; h++)i.curve(j[h] + p[h] / 3, k[h] + m[h] * p[h] / 3, j[h + 1] - p[h] / 3, k[h + 1] - m[h + 1] * p[h] / 3, j[h + 1], k[h + 1], !1, e[h + 1]); return i } return b.Interpolation.none()([]) } }, b.Interpolation.step = function (a) { var c = { postpone: !0, fillHoles: !1 }; return a = b.extend({}, c, a), function (c, d) { for (var e, f, g, h = new b.Svg.Path, i = 0; i < c.length; i += 2) { var j = c[i], k = c[i + 1], l = d[i / 2]; void 0 !== l.value ? (void 0 === g ? h.move(j, k, !1, l) : (a.postpone ? h.line(j, f, !1, g) : h.line(e, k, !1, l), h.line(j, k, !1, l)), e = j, f = k, g = l) : a.fillHoles || (e = f = g = void 0) } return h } } }(this || global, a), function (a, b) { "use strict"; b.EventEmitter = function () { function a(a, b) { d[a] = d[a] || [], d[a].push(b) } function b(a, b) { d[a] && (b ? (d[a].splice(d[a].indexOf(b), 1), 0 === d[a].length && delete d[a]) : delete d[a]) } function c(a, b) { d[a] && d[a].forEach(function (a) { a(b) }), d["*"] && d["*"].forEach(function (c) { c(a, b) }) } var d = []; return { addEventHandler: a, removeEventHandler: b, emit: c } } }(this || global, a), function (a, b) { "use strict"; function c(a) { var b = []; if (a.length) for (var c = 0; c < a.length; c++)b.push(a[c]); return b } function d(a, c) { var d = c || this.prototype || b.Class, e = Object.create(d); b.Class.cloneDefinitions(e, a); var f = function () { var a, c = e.constructor || function () { }; return a = this === b ? Object.create(e) : this, c.apply(a, Array.prototype.slice.call(arguments, 0)), a }; return f.prototype = e, f["super"] = d, f.extend = this.extend, f } function e() { var a = c(arguments), b = a[0]; return a.splice(1, a.length - 1).forEach(function (a) { Object.getOwnPropertyNames(a).forEach(function (c) { delete b[c], Object.defineProperty(b, c, Object.getOwnPropertyDescriptor(a, c)) }) }), b } b.Class = { extend: d, cloneDefinitions: e } }(this || global, a), function (a, b) { "use strict"; function c(a, c, d) { return a && (this.data = a || {}, this.data.labels = this.data.labels || [], this.data.series = this.data.series || [], this.eventEmitter.emit("data", { type: "update", data: this.data })), c && (this.options = b.extend({}, d ? this.options : this.defaultOptions, c), this.initializeTimeoutId || (this.optionsProvider.removeMediaQueryListeners(), this.optionsProvider = b.optionsProvider(this.options, this.responsiveOptions, this.eventEmitter))), this.initializeTimeoutId || this.createChart(this.optionsProvider.getCurrentOptions()), this } function d() { return this.initializeTimeoutId ? i.clearTimeout(this.initializeTimeoutId) : (i.removeEventListener("resize", this.resizeListener), this.optionsProvider.removeMediaQueryListeners()), this } function e(a, b) { return this.eventEmitter.addEventHandler(a, b), this } function f(a, b) { return this.eventEmitter.removeEventHandler(a, b), this } function g() { i.addEventListener("resize", this.resizeListener), this.optionsProvider = b.optionsProvider(this.options, this.responsiveOptions, this.eventEmitter), this.eventEmitter.addEventHandler("optionsChanged", function () { this.update() }.bind(this)), this.options.plugins && this.options.plugins.forEach(function (a) { a instanceof Array ? a[0](this, a[1]) : a(this) }.bind(this)), this.eventEmitter.emit("data", { type: "initial", data: this.data }), this.createChart(this.optionsProvider.getCurrentOptions()), this.initializeTimeoutId = void 0 } function h(a, c, d, e, f) { this.container = b.querySelector(a), this.data = c || {}, this.data.labels = this.data.labels || [], this.data.series = this.data.series || [], this.defaultOptions = d, this.options = e, this.responsiveOptions = f, this.eventEmitter = b.EventEmitter(), this.supportsForeignObject = b.Svg.isSupported("Extensibility"), this.supportsAnimations = b.Svg.isSupported("AnimationEventsAttribute"), this.resizeListener = function () { this.update() }.bind(this), this.container && (this.container.__chartist__ && this.container.__chartist__.detach(), this.container.__chartist__ = this), this.initializeTimeoutId = setTimeout(g.bind(this), 0) } var i = a.window; b.Base = b.Class.extend({ constructor: h, optionsProvider: void 0, container: void 0, svg: void 0, eventEmitter: void 0, createChart: function () { throw new Error("Base chart type can't be instantiated!") }, update: c, detach: d, on: e, off: f, version: b.version, supportsForeignObject: !1 }) }(this || global, a), function (a, b) { "use strict"; function c(a, c, d, e, f) { a instanceof Element ? this._node = a : (this._node = y.createElementNS(b.namespaces.svg, a), "svg" === a && this.attr({ "xmlns:ct": b.namespaces.ct })), c && this.attr(c), d && this.addClass(d), e && (f && e._node.firstChild ? e._node.insertBefore(this._node, e._node.firstChild) : e._node.appendChild(this._node)) } function d(a, c) { return "string" == typeof a ? c ? this._node.getAttributeNS(c, a) : this._node.getAttribute(a) : (Object.keys(a).forEach(function (c) { if (void 0 !== a[c]) if (c.indexOf(":") !== -1) { var d = c.split(":"); this._node.setAttributeNS(b.namespaces[d[0]], c, a[c]) } else this._node.setAttribute(c, a[c]) }.bind(this)), this) } function e(a, c, d, e) { return new b.Svg(a, c, d, this, e) } function f() { return this._node.parentNode instanceof SVGElement ? new b.Svg(this._node.parentNode) : null } function g() { for (var a = this._node; "svg" !== a.nodeName;)a = a.parentNode; return new b.Svg(a) } function h(a) { var c = this._node.querySelector(a); return c ? new b.Svg(c) : null } function i(a) { var c = this._node.querySelectorAll(a); return c.length ? new b.Svg.List(c) : null } function j() { return this._node } function k(a, c, d, e) { if ("string" == typeof a) { var f = y.createElement("div"); f.innerHTML = a, a = f.firstChild } a.setAttribute("xmlns", b.namespaces.xmlns); var g = this.elem("foreignObject", c, d, e); return g._node.appendChild(a), g } function l(a) { return this._node.appendChild(y.createTextNode(a)), this } function m() { for (; this._node.firstChild;)this._node.removeChild(this._node.firstChild); return this } function n() { return this._node.parentNode.removeChild(this._node), this.parent() } function o(a) { return this._node.parentNode.replaceChild(a._node, this._node), a } function p(a, b) { return b && this._node.firstChild ? this._node.insertBefore(a._node, this._node.firstChild) : this._node.appendChild(a._node), this } function q() { return this._node.getAttribute("class") ? this._node.getAttribute("class").trim().split(/\s+/) : [] } function r(a) { return this._node.setAttribute("class", this.classes(this._node).concat(a.trim().split(/\s+/)).filter(function (a, b, c) { return c.indexOf(a) === b }).join(" ")), this } function s(a) { var b = a.trim().split(/\s+/); return this._node.setAttribute("class", this.classes(this._node).filter(function (a) { return b.indexOf(a) === -1 }).join(" ")), this } function t() { return this._node.setAttribute("class", ""), this } function u() { return this._node.getBoundingClientRect().height } function v() { return this._node.getBoundingClientRect().width } function w(a, c, d) { return void 0 === c && (c = !0), Object.keys(a).forEach(function (e) { function f(a, c) { var f, g, h, i = {}; a.easing && (h = a.easing instanceof Array ? a.easing : b.Svg.Easing[a.easing], delete a.easing), a.begin = b.ensureUnit(a.begin, "ms"), a.dur = b.ensureUnit(a.dur, "ms"), h && (a.calcMode = "spline", a.keySplines = h.join(" "), a.keyTimes = "0;1"), c && (a.fill = "freeze", i[e] = a.from, this.attr(i), g = b.quantity(a.begin || 0).value, a.begin = "indefinite"), f = this.elem("animate", b.extend({ attributeName: e }, a)), c && setTimeout(function () { try { f._node.beginElement() } catch (b) { i[e] = a.to, this.attr(i), f.remove() } }.bind(this), g), d && f._node.addEventListener("beginEvent", function () { d.emit("animationBegin", { element: this, animate: f._node, params: a }) }.bind(this)), f._node.addEventListener("endEvent", function () { d && d.emit("animationEnd", { element: this, animate: f._node, params: a }), c && (i[e] = a.to, this.attr(i), f.remove()) }.bind(this)) } a[e] instanceof Array ? a[e].forEach(function (a) { f.bind(this)(a, !1) }.bind(this)) : f.bind(this)(a[e], c) }.bind(this)), this } function x(a) { var c = this; this.svgElements = []; for (var d = 0; d < a.length; d++)this.svgElements.push(new b.Svg(a[d])); Object.keys(b.Svg.prototype).filter(function (a) { return ["constructor", "parent", "querySelector", "querySelectorAll", "replace", "append", "classes", "height", "width"].indexOf(a) === -1 }).forEach(function (a) { c[a] = function () { var d = Array.prototype.slice.call(arguments, 0); return c.svgElements.forEach(function (c) { b.Svg.prototype[a].apply(c, d) }), c } }) } var y = a.document; b.Svg = b.Class.extend({ constructor: c, attr: d, elem: e, parent: f, root: g, querySelector: h, querySelectorAll: i, getNode: j, foreignObject: k, text: l, empty: m, remove: n, replace: o, append: p, classes: q, addClass: r, removeClass: s, removeAllClasses: t, height: u, width: v, animate: w }), b.Svg.isSupported = function (a) { return y.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#" + a, "1.1") }; var z = { easeInSine: [.47, 0, .745, .715], easeOutSine: [.39, .575, .565, 1], easeInOutSine: [.445, .05, .55, .95], easeInQuad: [.55, .085, .68, .53], easeOutQuad: [.25, .46, .45, .94], easeInOutQuad: [.455, .03, .515, .955], easeInCubic: [.55, .055, .675, .19], easeOutCubic: [.215, .61, .355, 1], easeInOutCubic: [.645, .045, .355, 1], easeInQuart: [.895, .03, .685, .22], easeOutQuart: [.165, .84, .44, 1], easeInOutQuart: [.77, 0, .175, 1], easeInQuint: [.755, .05, .855, .06], easeOutQuint: [.23, 1, .32, 1], easeInOutQuint: [.86, 0, .07, 1], easeInExpo: [.95, .05, .795, .035], easeOutExpo: [.19, 1, .22, 1], easeInOutExpo: [1, 0, 0, 1], easeInCirc: [.6, .04, .98, .335], easeOutCirc: [.075, .82, .165, 1], easeInOutCirc: [.785, .135, .15, .86], easeInBack: [.6, -.28, .735, .045], easeOutBack: [.175, .885, .32, 1.275], easeInOutBack: [.68, -.55, .265, 1.55] }; b.Svg.Easing = z, b.Svg.List = b.Class.extend({ constructor: x }) }(this || global, a), function (a, b) { "use strict"; function c(a, c, d, e, f, g) { var h = b.extend({ command: f ? a.toLowerCase() : a.toUpperCase() }, c, g ? { data: g } : {}); d.splice(e, 0, h) } function d(a, b) { a.forEach(function (c, d) { t[c.command.toLowerCase()].forEach(function (e, f) { b(c, e, d, f, a) }) }) } function e(a, c) { this.pathElements = [], this.pos = 0, this.close = a, this.options = b.extend({}, u, c) } function f(a) { return void 0 !== a ? (this.pos = Math.max(0, Math.min(this.pathElements.length, a)), this) : this.pos } function g(a) { return this.pathElements.splice(this.pos, a), this } function h(a, b, d, e) { return c("M", { x: +a, y: +b }, this.pathElements, this.pos++, d, e), this } function i(a, b, d, e) { return c("L", { x: +a, y: +b }, this.pathElements, this.pos++, d, e), this } function j(a, b, d, e, f, g, h, i) { return c("C", { x1: +a, y1: +b, x2: +d, y2: +e, x: +f, y: +g }, this.pathElements, this.pos++, h, i), this } function k(a, b, d, e, f, g, h, i, j) { return c("A", { rx: +a, ry: +b, xAr: +d, lAf: +e, sf: +f, x: +g, y: +h }, this.pathElements, this.pos++, i, j), this } function l(a) { var c = a.replace(/([A-Za-z])([0-9])/g, "$1 $2").replace(/([0-9])([A-Za-z])/g, "$1 $2").split(/[\s,]+/).reduce(function (a, b) { return b.match(/[A-Za-z]/) && a.push([]), a[a.length - 1].push(b), a }, []); "Z" === c[c.length - 1][0].toUpperCase() && c.pop(); var d = c.map(function (a) { var c = a.shift(), d = t[c.toLowerCase()]; return b.extend({ command: c }, d.reduce(function (b, c, d) { return b[c] = +a[d], b }, {})) }), e = [this.pos, 0]; return Array.prototype.push.apply(e, d), Array.prototype.splice.apply(this.pathElements, e), this.pos += d.length, this } function m() { var a = Math.pow(10, this.options.accuracy); return this.pathElements.reduce(function (b, c) { var d = t[c.command.toLowerCase()].map(function (b) { return this.options.accuracy ? Math.round(c[b] * a) / a : c[b] }.bind(this)); return b + c.command + d.join(",") }.bind(this), "") + (this.close ? "Z" : "") } function n(a, b) { return d(this.pathElements, function (c, d) { c[d] *= "x" === d[0] ? a : b }), this } function o(a, b) { return d(this.pathElements, function (c, d) { c[d] += "x" === d[0] ? a : b }), this } function p(a) { return d(this.pathElements, function (b, c, d, e, f) { var g = a(b, c, d, e, f); (g || 0 === g) && (b[c] = g) }), this } function q(a) { var c = new b.Svg.Path(a || this.close); return c.pos = this.pos, c.pathElements = this.pathElements.slice().map(function (a) { return b.extend({}, a) }), c.options = b.extend({}, this.options), c } function r(a) { var c = [new b.Svg.Path]; return this.pathElements.forEach(function (d) { d.command === a.toUpperCase() && 0 !== c[c.length - 1].pathElements.length && c.push(new b.Svg.Path), c[c.length - 1].pathElements.push(d) }), c } function s(a, c, d) { for (var e = new b.Svg.Path(c, d), f = 0; f < a.length; f++)for (var g = a[f], h = 0; h < g.pathElements.length; h++)e.pathElements.push(g.pathElements[h]); return e } var t = { m: ["x", "y"], l: ["x", "y"], c: ["x1", "y1", "x2", "y2", "x", "y"], a: ["rx", "ry", "xAr", "lAf", "sf", "x", "y"] }, u = { accuracy: 3 }; b.Svg.Path = b.Class.extend({ constructor: e, position: f, remove: g, move: h, line: i, curve: j, arc: k, scale: n, translate: o, transform: p, parse: l, stringify: m, clone: q, splitByCommand: r }), b.Svg.Path.elementDescriptions = t, b.Svg.Path.join = s }(this || global, a), function (a, b) { "use strict"; function c(a, b, c, d) { this.units = a, this.counterUnits = a === e.x ? e.y : e.x, this.chartRect = b, this.axisLength = b[a.rectEnd] - b[a.rectStart], this.gridOffset = b[a.rectOffset], this.ticks = c, this.options = d } function d(a, c, d, e, f) { var g = e["axis" + this.units.pos.toUpperCase()], h = this.ticks.map(this.projectValue.bind(this)), i = this.ticks.map(g.labelInterpolationFnc); h.forEach(function (j, k) { var l, m = { x: 0, y: 0 }; l = h[k + 1] ? h[k + 1] - j : Math.max(this.axisLength - j, 30), b.isFalseyButZero(i[k]) && "" !== i[k] || ("x" === this.units.pos ? (j = this.chartRect.x1 + j, m.x = e.axisX.labelOffset.x, "start" === e.axisX.position ? m.y = this.chartRect.padding.top + e.axisX.labelOffset.y + (d ? 5 : 20) : m.y = this.chartRect.y1 + e.axisX.labelOffset.y + (d ? 5 : 20)) : (j = this.chartRect.y1 - j, m.y = e.axisY.labelOffset.y - (d ? l : 0), "start" === e.axisY.position ? m.x = d ? this.chartRect.padding.left + e.axisY.labelOffset.x : this.chartRect.x1 - 10 : m.x = this.chartRect.x2 + e.axisY.labelOffset.x + 10), g.showGrid && b.createGrid(j, k, this, this.gridOffset, this.chartRect[this.counterUnits.len](), a, [e.classNames.grid, e.classNames[this.units.dir]], f), g.showLabel && b.createLabel(j, l, k, i, this, g.offset, m, c, [e.classNames.label, e.classNames[this.units.dir], "start" === g.position ? e.classNames[g.position] : e.classNames.end], d, f)) }.bind(this)) } var e = (a.window, a.document, { x: { pos: "x", len: "width", dir: "horizontal", rectStart: "x1", rectEnd: "x2", rectOffset: "y2" }, y: { pos: "y", len: "height", dir: "vertical", rectStart: "y2", rectEnd: "y1", rectOffset: "x1" } }); b.Axis = b.Class.extend({ constructor: c, createGridAndLabels: d, projectValue: function (a, b, c) { throw new Error("Base axis can't be instantiated!") } }), b.Axis.units = e }(this || global, a), function (a, b) { "use strict"; function c(a, c, d, e) { var f = e.highLow || b.getHighLow(c, e, a.pos); this.bounds = b.getBounds(d[a.rectEnd] - d[a.rectStart], f, e.scaleMinSpace || 20, e.onlyInteger), this.range = { min: this.bounds.min, max: this.bounds.max }, b.AutoScaleAxis["super"].constructor.call(this, a, d, this.bounds.values, e) } function d(a) { return this.axisLength * (+b.getMultiValue(a, this.units.pos) - this.bounds.min) / this.bounds.range } a.window, a.document; b.AutoScaleAxis = b.Axis.extend({ constructor: c, projectValue: d }) }(this || global, a), function (a, b) { "use strict"; function c(a, c, d, e) { var f = e.highLow || b.getHighLow(c, e, a.pos); this.divisor = e.divisor || 1, this.ticks = e.ticks || b.times(this.divisor).map(function (a, b) { return f.low + (f.high - f.low) / this.divisor * b }.bind(this)), this.ticks.sort(function (a, b) { return a - b }), this.range = { min: f.low, max: f.high }, b.FixedScaleAxis["super"].constructor.call(this, a, d, this.ticks, e), this.stepLength = this.axisLength / this.divisor } function d(a) { return this.axisLength * (+b.getMultiValue(a, this.units.pos) - this.range.min) / (this.range.max - this.range.min) } a.window, a.document; b.FixedScaleAxis = b.Axis.extend({ constructor: c, projectValue: d }) }(this || global, a), function (a, b) { "use strict"; function c(a, c, d, e) { b.StepAxis["super"].constructor.call(this, a, d, e.ticks, e); var f = Math.max(1, e.ticks.length - (e.stretch ? 1 : 0)); this.stepLength = this.axisLength / f } function d(a, b) { return this.stepLength * b } a.window, a.document; b.StepAxis = b.Axis.extend({ constructor: c, projectValue: d }) }(this || global, a), function (a, b) { "use strict"; function c(a) { var c = b.normalizeData(this.data, a.reverseData, !0); this.svg = b.createSvg(this.container, a.width, a.height, a.classNames.chart); var d, f, g = this.svg.elem("g").addClass(a.classNames.gridGroup), h = this.svg.elem("g"), i = this.svg.elem("g").addClass(a.classNames.labelGroup), j = b.createChartRect(this.svg, a, e.padding); d = void 0 === a.axisX.type ? new b.StepAxis(b.Axis.units.x, c.normalized.series, j, b.extend({}, a.axisX, { ticks: c.normalized.labels, stretch: a.fullWidth })) : a.axisX.type.call(b, b.Axis.units.x, c.normalized.series, j, a.axisX), f = void 0 === a.axisY.type ? new b.AutoScaleAxis(b.Axis.units.y, c.normalized.series, j, b.extend({}, a.axisY, { high: b.isNumeric(a.high) ? a.high : a.axisY.high, low: b.isNumeric(a.low) ? a.low : a.axisY.low })) : a.axisY.type.call(b, b.Axis.units.y, c.normalized.series, j, a.axisY), d.createGridAndLabels(g, i, this.supportsForeignObject, a, this.eventEmitter), f.createGridAndLabels(g, i, this.supportsForeignObject, a, this.eventEmitter), a.showGridBackground && b.createGridBackground(g, j, a.classNames.gridBackground, this.eventEmitter), c.raw.series.forEach(function (e, g) { var i = h.elem("g"); i.attr({ "ct:series-name": e.name, "ct:meta": b.serialize(e.meta) }), i.addClass([a.classNames.series, e.className || a.classNames.series + "-" + b.alphaNumerate(g)].join(" ")); var k = [], l = []; c.normalized.series[g].forEach(function (a, h) { var i = { x: j.x1 + d.projectValue(a, h, c.normalized.series[g]), y: j.y1 - f.projectValue(a, h, c.normalized.series[g]) }; k.push(i.x, i.y), l.push({ value: a, valueIndex: h, meta: b.getMetaData(e, h) }) }.bind(this)); var m = { lineSmooth: b.getSeriesOption(e, a, "lineSmooth"), showPoint: b.getSeriesOption(e, a, "showPoint"), showLine: b.getSeriesOption(e, a, "showLine"), showArea: b.getSeriesOption(e, a, "showArea"), areaBase: b.getSeriesOption(e, a, "areaBase") }, n = "function" == typeof m.lineSmooth ? m.lineSmooth : m.lineSmooth ? b.Interpolation.monotoneCubic() : b.Interpolation.none(), o = n(k, l); if (m.showPoint && o.pathElements.forEach(function (c) { var h = i.elem("line", { x1: c.x, y1: c.y, x2: c.x + .01, y2: c.y }, a.classNames.point).attr({ "ct:value": [c.data.value.x, c.data.value.y].filter(b.isNumeric).join(","), "ct:meta": b.serialize(c.data.meta) }); this.eventEmitter.emit("draw", { type: "point", value: c.data.value, index: c.data.valueIndex, meta: c.data.meta, series: e, seriesIndex: g, axisX: d, axisY: f, group: i, element: h, x: c.x, y: c.y }) }.bind(this)), m.showLine) { var p = i.elem("path", { d: o.stringify() }, a.classNames.line, !0); this.eventEmitter.emit("draw", { type: "line", values: c.normalized.series[g], path: o.clone(), chartRect: j, index: g, series: e, seriesIndex: g, seriesMeta: e.meta, axisX: d, axisY: f, group: i, element: p }) } if (m.showArea && f.range) { var q = Math.max(Math.min(m.areaBase, f.range.max), f.range.min), r = j.y1 - f.projectValue(q); o.splitByCommand("M").filter(function (a) { return a.pathElements.length > 1 }).map(function (a) { var b = a.pathElements[0], c = a.pathElements[a.pathElements.length - 1]; return a.clone(!0).position(0).remove(1).move(b.x, r).line(b.x, b.y).position(a.pathElements.length + 1).line(c.x, r) }).forEach(function (b) { var h = i.elem("path", { d: b.stringify() }, a.classNames.area, !0); this.eventEmitter.emit("draw", { type: "area", values: c.normalized.series[g], path: b.clone(), series: e, seriesIndex: g, axisX: d, axisY: f, chartRect: j, index: g, group: i, element: h }) }.bind(this)) } }.bind(this)), this.eventEmitter.emit("created", { bounds: f.bounds, chartRect: j, axisX: d, axisY: f, svg: this.svg, options: a }) } function d(a, c, d, f) { b.Line["super"].constructor.call(this, a, c, e, b.extend({}, e, d), f) } var e = (a.window, a.document, { axisX: { offset: 30, position: "end", labelOffset: { x: 0, y: 0 }, showLabel: !0, showGrid: !0, labelInterpolationFnc: b.noop, type: void 0 }, axisY: { offset: 40, position: "start", labelOffset: { x: 0, y: 0 }, showLabel: !0, showGrid: !0, labelInterpolationFnc: b.noop, type: void 0, scaleMinSpace: 20, onlyInteger: !1 }, width: void 0, height: void 0, showLine: !0, showPoint: !0, showArea: !1, areaBase: 0, lineSmooth: !0, showGridBackground: !1, low: void 0, high: void 0, chartPadding: { top: 15, right: 15, bottom: 5, left: 10 }, fullWidth: !1, reverseData: !1, classNames: { chart: "ct-chart-line", label: "ct-label", labelGroup: "ct-labels", series: "ct-series", line: "ct-line", point: "ct-point", area: "ct-area", grid: "ct-grid", gridGroup: "ct-grids", gridBackground: "ct-grid-background", vertical: "ct-vertical", horizontal: "ct-horizontal", start: "ct-start", end: "ct-end" } }); b.Line = b.Base.extend({ constructor: d, createChart: c }) }(this || global, a), function (a, b) {
"use strict"; function c(a) {
var c, d; a.distributeSeries ? (c = b.normalizeData(this.data, a.reverseData, a.horizontalBars ? "x" : "y"), c.normalized.series = c.normalized.series.map(function (a) { return [a] })) : c = b.normalizeData(this.data, a.reverseData, a.horizontalBars ? "x" : "y"), this.svg = b.createSvg(this.container, a.width, a.height, a.classNames.chart + (a.horizontalBars ? " " + a.classNames.horizontalBars : "")); var f = this.svg.elem("g").addClass(a.classNames.gridGroup), g = this.svg.elem("g"), h = this.svg.elem("g").addClass(a.classNames.labelGroup);
if (a.stackBars && 0 !== c.normalized.series.length) { var i = b.serialMap(c.normalized.series, function () { return Array.prototype.slice.call(arguments).map(function (a) { return a }).reduce(function (a, b) { return { x: a.x + (b && b.x) || 0, y: a.y + (b && b.y) || 0 } }, { x: 0, y: 0 }) }); d = b.getHighLow([i], a, a.horizontalBars ? "x" : "y") } else d = b.getHighLow(c.normalized.series, a, a.horizontalBars ? "x" : "y"); d.high = +a.high || (0 === a.high ? 0 : d.high), d.low = +a.low || (0 === a.low ? 0 : d.low); var j, k, l, m, n, o = b.createChartRect(this.svg, a, e.padding); k = a.distributeSeries && a.stackBars ? c.normalized.labels.slice(0, 1) : c.normalized.labels, a.horizontalBars ? (j = m = void 0 === a.axisX.type ? new b.AutoScaleAxis(b.Axis.units.x, c.normalized.series, o, b.extend({}, a.axisX, { highLow: d, referenceValue: 0 })) : a.axisX.type.call(b, b.Axis.units.x, c.normalized.series, o, b.extend({}, a.axisX, { highLow: d, referenceValue: 0 })), l = n = void 0 === a.axisY.type ? new b.StepAxis(b.Axis.units.y, c.normalized.series, o, { ticks: k }) : a.axisY.type.call(b, b.Axis.units.y, c.normalized.series, o, a.axisY)) : (l = m = void 0 === a.axisX.type ? new b.StepAxis(b.Axis.units.x, c.normalized.series, o, { ticks: k }) : a.axisX.type.call(b, b.Axis.units.x, c.normalized.series, o, a.axisX), j = n = void 0 === a.axisY.type ? new b.AutoScaleAxis(b.Axis.units.y, c.normalized.series, o, b.extend({}, a.axisY, { highLow: d, referenceValue: 0 })) : a.axisY.type.call(b, b.Axis.units.y, c.normalized.series, o, b.extend({}, a.axisY, { highLow: d, referenceValue: 0 }))); var p = a.horizontalBars ? o.x1 + j.projectValue(0) : o.y1 - j.projectValue(0), q = []; l.createGridAndLabels(f, h, this.supportsForeignObject, a, this.eventEmitter), j.createGridAndLabels(f, h, this.supportsForeignObject, a, this.eventEmitter), a.showGridBackground && b.createGridBackground(f, o, a.classNames.gridBackground, this.eventEmitter), c.raw.series.forEach(function (d, e) { var f, h, i = e - (c.raw.series.length - 1) / 2; f = a.distributeSeries && !a.stackBars ? l.axisLength / c.normalized.series.length / 2 : a.distributeSeries && a.stackBars ? l.axisLength / 2 : l.axisLength / c.normalized.series[e].length / 2, h = g.elem("g"), h.attr({ "ct:series-name": d.name, "ct:meta": b.serialize(d.meta) }), h.addClass([a.classNames.series, d.className || a.classNames.series + "-" + b.alphaNumerate(e)].join(" ")), c.normalized.series[e].forEach(function (g, k) { var r, s, t, u; if (u = a.distributeSeries && !a.stackBars ? e : a.distributeSeries && a.stackBars ? 0 : k, r = a.horizontalBars ? { x: o.x1 + j.projectValue(g && g.x ? g.x : 0, k, c.normalized.series[e]), y: o.y1 - l.projectValue(g && g.y ? g.y : 0, u, c.normalized.series[e]) } : { x: o.x1 + l.projectValue(g && g.x ? g.x : 0, u, c.normalized.series[e]), y: o.y1 - j.projectValue(g && g.y ? g.y : 0, k, c.normalized.series[e]) }, l instanceof b.StepAxis && (l.options.stretch || (r[l.units.pos] += f * (a.horizontalBars ? -1 : 1)), r[l.units.pos] += a.stackBars || a.distributeSeries ? 0 : i * a.seriesBarDistance * (a.horizontalBars ? -1 : 1)), t = q[k] || p, q[k] = t - (p - r[l.counterUnits.pos]), void 0 !== g) { var v = {}; v[l.units.pos + "1"] = r[l.units.pos], v[l.units.pos + "2"] = r[l.units.pos], !a.stackBars || "accumulate" !== a.stackMode && a.stackMode ? (v[l.counterUnits.pos + "1"] = p, v[l.counterUnits.pos + "2"] = r[l.counterUnits.pos]) : (v[l.counterUnits.pos + "1"] = t, v[l.counterUnits.pos + "2"] = q[k]), v.x1 = Math.min(Math.max(v.x1, o.x1), o.x2), v.x2 = Math.min(Math.max(v.x2, o.x1), o.x2), v.y1 = Math.min(Math.max(v.y1, o.y2), o.y1), v.y2 = Math.min(Math.max(v.y2, o.y2), o.y1); var w = b.getMetaData(d, k); s = h.elem("line", v, a.classNames.bar).attr({ "ct:value": [g.x, g.y].filter(b.isNumeric).join(","), "ct:meta": b.serialize(w) }), this.eventEmitter.emit("draw", b.extend({ type: "bar", value: g, index: k, meta: w, series: d, seriesIndex: e, axisX: m, axisY: n, chartRect: o, group: h, element: s }, v)) } }.bind(this)) }.bind(this)), this.eventEmitter.emit("created", { bounds: j.bounds, chartRect: o, axisX: m, axisY: n, svg: this.svg, options: a })
} function d(a, c, d, f) { b.Bar["super"].constructor.call(this, a, c, e, b.extend({}, e, d), f) } var e = (a.window, a.document, { axisX: { offset: 30, position: "end", labelOffset: { x: 0, y: 0 }, showLabel: !0, showGrid: !0, labelInterpolationFnc: b.noop, scaleMinSpace: 30, onlyInteger: !1 }, axisY: { offset: 40, position: "start", labelOffset: { x: 0, y: 0 }, showLabel: !0, showGrid: !0, labelInterpolationFnc: b.noop, scaleMinSpace: 20, onlyInteger: !1 }, width: void 0, height: void 0, high: void 0, low: void 0, referenceValue: 0, chartPadding: { top: 15, right: 15, bottom: 5, left: 10 }, seriesBarDistance: 15, stackBars: !1, stackMode: "accumulate", horizontalBars: !1, distributeSeries: !1, reverseData: !1, showGridBackground: !1, classNames: { chart: "ct-chart-bar", horizontalBars: "ct-horizontal-bars", label: "ct-label", labelGroup: "ct-labels", series: "ct-series", bar: "ct-bar", grid: "ct-grid", gridGroup: "ct-grids", gridBackground: "ct-grid-background", vertical: "ct-vertical", horizontal: "ct-horizontal", start: "ct-start", end: "ct-end" } }); b.Bar = b.Base.extend({ constructor: d, createChart: c })
}(this || global, a), function (a, b) { "use strict"; function c(a, b, c) { var d = b.x > a.x; return d && "explode" === c || !d && "implode" === c ? "start" : d && "implode" === c || !d && "explode" === c ? "end" : "middle" } function d(a) { var d, e, g, h, i, j = b.normalizeData(this.data), k = [], l = a.startAngle; this.svg = b.createSvg(this.container, a.width, a.height, a.donut ? a.classNames.chartDonut : a.classNames.chartPie), e = b.createChartRect(this.svg, a, f.padding), g = Math.min(e.width() / 2, e.height() / 2), i = a.total || j.normalized.series.reduce(function (a, b) { return a + b }, 0); var m = b.quantity(a.donutWidth); "%" === m.unit && (m.value *= g / 100), g -= a.donut && !a.donutSolid ? m.value / 2 : 0, h = "outside" === a.labelPosition || a.donut && !a.donutSolid ? g : "center" === a.labelPosition ? 0 : a.donutSolid ? g - m.value / 2 : g / 2, h += a.labelOffset; var n = { x: e.x1 + e.width() / 2, y: e.y2 + e.height() / 2 }, o = 1 === j.raw.series.filter(function (a) { return a.hasOwnProperty("value") ? 0 !== a.value : 0 !== a }).length; j.raw.series.forEach(function (a, b) { k[b] = this.svg.elem("g", null, null) }.bind(this)), a.showLabel && (d = this.svg.elem("g", null, null)), j.raw.series.forEach(function (e, f) { if (0 !== j.normalized.series[f] || !a.ignoreEmptyValues) { k[f].attr({ "ct:series-name": e.name }), k[f].addClass([a.classNames.series, e.className || a.classNames.series + "-" + b.alphaNumerate(f)].join(" ")); var p = i > 0 ? l + j.normalized.series[f] / i * 360 : 0, q = Math.max(0, l - (0 === f || o ? 0 : .2)); p - q >= 359.99 && (p = q + 359.99); var r, s, t, u = b.polarToCartesian(n.x, n.y, g, q), v = b.polarToCartesian(n.x, n.y, g, p), w = new b.Svg.Path(!a.donut || a.donutSolid).move(v.x, v.y).arc(g, g, 0, p - l > 180, 0, u.x, u.y); a.donut ? a.donutSolid && (t = g - m.value, r = b.polarToCartesian(n.x, n.y, t, l - (0 === f || o ? 0 : .2)), s = b.polarToCartesian(n.x, n.y, t, p), w.line(r.x, r.y), w.arc(t, t, 0, p - l > 180, 1, s.x, s.y)) : w.line(n.x, n.y); var x = a.classNames.slicePie; a.donut && (x = a.classNames.sliceDonut, a.donutSolid && (x = a.classNames.sliceDonutSolid)); var y = k[f].elem("path", { d: w.stringify() }, x); if (y.attr({ "ct:value": j.normalized.series[f], "ct:meta": b.serialize(e.meta) }), a.donut && !a.donutSolid && (y._node.style.strokeWidth = m.value + "px"), this.eventEmitter.emit("draw", { type: "slice", value: j.normalized.series[f], totalDataSum: i, index: f, meta: e.meta, series: e, group: k[f], element: y, path: w.clone(), center: n, radius: g, startAngle: l, endAngle: p }), a.showLabel) { var z; z = 1 === j.raw.series.length ? { x: n.x, y: n.y } : b.polarToCartesian(n.x, n.y, h, l + (p - l) / 2); var A; A = j.normalized.labels && !b.isFalseyButZero(j.normalized.labels[f]) ? j.normalized.labels[f] : j.normalized.series[f]; var B = a.labelInterpolationFnc(A, f); if (B || 0 === B) { var C = d.elem("text", { dx: z.x, dy: z.y, "text-anchor": c(n, z, a.labelDirection) }, a.classNames.label).text("" + B); this.eventEmitter.emit("draw", { type: "label", index: f, group: d, element: C, text: "" + B, x: z.x, y: z.y }) } } l = p } }.bind(this)), this.eventEmitter.emit("created", { chartRect: e, svg: this.svg, options: a }) } function e(a, c, d, e) { b.Pie["super"].constructor.call(this, a, c, f, b.extend({}, f, d), e) } var f = (a.window, a.document, { width: void 0, height: void 0, chartPadding: 5, classNames: { chartPie: "ct-chart-pie", chartDonut: "ct-chart-donut", series: "ct-series", slicePie: "ct-slice-pie", sliceDonut: "ct-slice-donut", sliceDonutSolid: "ct-slice-donut-solid", label: "ct-label" }, startAngle: 0, total: void 0, donut: !1, donutSolid: !1, donutWidth: 60, showLabel: !0, labelOffset: 0, labelPosition: "inside", labelInterpolationFnc: b.noop, labelDirection: "neutral", reverseData: !1, ignoreEmptyValues: !1 }); b.Pie = b.Base.extend({ constructor: e, createChart: d, determineAnchorPosition: c }) }(this || global, a), a
});
//# sourceMappingURL=chartist.min.js.map
var i, l, selectedLine = null;
/* Navigate to hash without browser history entry */
var navigateToHash = function () {
if (window.history !== undefined && window.history.replaceState !== undefined) {
window.history.replaceState(undefined, undefined, this.getAttribute("href"));
}
};
var hashLinks = document.getElementsByClassName('navigatetohash');
for (i = 0, l = hashLinks.length; i < l; i++) {
hashLinks[i].addEventListener('click', navigateToHash);
}
/* Switch test method */
var switchTestMethod = function () {
var method = this.getAttribute("value");
console.log("Selected test method: " + method);
var lines, i, l, coverageData, lineAnalysis, cells;
lines = document.querySelectorAll('.lineAnalysis tr');
for (i = 1, l = lines.length; i < l; i++) {
coverageData = JSON.parse(lines[i].getAttribute('data-coverage').replace(/'/g, '"'));
lineAnalysis = coverageData[method];
cells = lines[i].querySelectorAll('td');
if (lineAnalysis === undefined) {
lineAnalysis = coverageData.AllTestMethods;
if (lineAnalysis.LVS !== 'gray') {
cells[0].setAttribute('class', 'red');
cells[1].innerText = cells[1].textContent = '0';
cells[4].setAttribute('class', 'lightred');
}
} else {
cells[0].setAttribute('class', lineAnalysis.LVS);
cells[1].innerText = cells[1].textContent = lineAnalysis.VC;
cells[4].setAttribute('class', 'light' + lineAnalysis.LVS);
}
}
};
var testMethods = document.getElementsByClassName('switchtestmethod');
for (i = 0, l = testMethods.length; i < l; i++) {
testMethods[i].addEventListener('change', switchTestMethod);
}
/* Highlight test method by line */
var toggleLine = function () {
if (selectedLine === this) {
selectedLine = null;
} else {
selectedLine = null;
unhighlightTestMethods();
highlightTestMethods.call(this);
selectedLine = this;
}
};
var highlightTestMethods = function () {
if (selectedLine !== null) {
return;
}
var lineAnalysis;
var coverageData = JSON.parse(this.getAttribute('data-coverage').replace(/'/g, '"'));
var testMethods = document.getElementsByClassName('testmethod');
for (i = 0, l = testMethods.length; i < l; i++) {
lineAnalysis = coverageData[testMethods[i].id];
if (lineAnalysis === undefined) {
testMethods[i].className = testMethods[i].className.replace(/\s*light.+/g, "");
} else {
testMethods[i].className += ' light' + lineAnalysis.LVS;
}
}
};
var unhighlightTestMethods = function () {
if (selectedLine !== null) {
return;
}
var testMethods = document.getElementsByClassName('testmethod');
for (i = 0, l = testMethods.length; i < l; i++) {
testMethods[i].className = testMethods[i].className.replace(/\s*light.+/g, "");
}
};
var coverableLines = document.getElementsByClassName('coverableline');
for (i = 0, l = coverableLines.length; i < l; i++) {
coverableLines[i].addEventListener('click', toggleLine);
coverableLines[i].addEventListener('mouseenter', highlightTestMethods);
coverableLines[i].addEventListener('mouseleave', unhighlightTestMethods);
}
/* History charts */
var renderChart = function (chart) {
// Remove current children (e.g. PNG placeholder)
while (chart.firstChild) {
chart.firstChild.remove();
}
var chartData = window[chart.getAttribute('data-data')];
var options = {
axisY: {
type: undefined,
onlyInteger: true
},
lineSmooth: false,
low: 0,
high: 100,
scaleMinSpace: 20,
onlyInteger: true,
fullWidth: true
};
var lineChart = new Chartist.Line(chart, {
labels: [],
series: chartData.series
}, options);
/* Zoom */
var zoomButtonDiv = document.createElement("div");
zoomButtonDiv.className = "toggleZoom";
var zoomButtonLink = document.createElement("a");
zoomButtonLink.setAttribute("href", "");
var zoomButtonText = document.createElement("i");
zoomButtonText.className = "icon-search-plus";
zoomButtonLink.appendChild(zoomButtonText);
zoomButtonDiv.appendChild(zoomButtonLink);
chart.appendChild(zoomButtonDiv);
zoomButtonDiv.addEventListener('click', function (event) {
event.preventDefault();
if (options.axisY.type === undefined) {
options.axisY.type = Chartist.AutoScaleAxis;
zoomButtonText.className = "icon-search-minus";
} else {
options.axisY.type = undefined;
zoomButtonText.className = "icon-search-plus";
}
lineChart.update(null, options);
});
var tooltip = document.createElement("div");
tooltip.className = "tooltip";
chart.appendChild(tooltip);
/* Tooltips */
var showToolTip = function () {
var index = this.getAttribute('ct:meta');
tooltip.innerHTML = chartData.tooltips[index];
tooltip.style.display = 'block';
};
var moveToolTip = function (event) {
var box = chart.getBoundingClientRect();
var left = event.pageX - box.left - window.pageXOffset;
var top = event.pageY - box.top - window.pageYOffset;
left = left + 20;
top = top - tooltip.offsetHeight / 2;
if (left + tooltip.offsetWidth > box.width) {
left -= tooltip.offsetWidth + 40;
}
if (top < 0) {
top = 0;
}
if (top + tooltip.offsetHeight > box.height) {
top = box.height - tooltip.offsetHeight;
}
tooltip.style.left = left + 'px';
tooltip.style.top = top + 'px';
};
var hideToolTip = function () {
tooltip.style.display = 'none';
};
chart.addEventListener('mousemove', moveToolTip);
lineChart.on('created', function () {
var chartPoints = chart.getElementsByClassName('ct-point');
for (i = 0, l = chartPoints.length; i < l; i++) {
chartPoints[i].addEventListener('mousemove', showToolTip);
chartPoints[i].addEventListener('mouseout', hideToolTip);
}
});
};
var charts = document.getElementsByClassName('historychart');
for (i = 0, l = charts.length; i < l; i++) {
renderChart(charts[i]);
}
var assemblies = [
{
"name": "MewtocolNet",
"classes": [
{ "name": "MewtocolNet.AsyncExtensions", "rp": "", "cl": 0, "ucl": 9, "cal": 9, "tl": 0, "cb": 0, "tb": 6, "cm": 0, "tm": 0, "lch": [0], "bch": [0], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 9, "cal": 9, "tl": 0, "lcq": 0, "cb": 0, "tb": 6, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.AutoGeneratedData.FPFunction", "rp": "", "cl": 0, "ucl": 5312, "cal": 5312, "tl": 0, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [0], "bch": [], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 5312, "cal": 5312, "tl": 0, "lcq": 0, "cb": 0, "tb": 0, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.ComCassette.CassetteFinder", "rp": "", "cl": 0, "ucl": 68, "cal": 68, "tl": 0, "cb": 0, "tb": 24, "cm": 0, "tm": 0, "lch": [0], "bch": [0], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 68, "cal": 68, "tl": 0, "lcq": 0, "cb": 0, "tb": 24, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.ComCassette.CassetteInformation", "rp": "", "cl": 0, "ucl": 82, "cal": 82, "tl": 0, "cb": 0, "tb": 36, "cm": 0, "tm": 0, "lch": [0], "bch": [0], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 82, "cal": 82, "tl": 0, "lcq": 0, "cb": 0, "tb": 36, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.CRCCalculator", "rp": "", "cl": 58, "ucl": 0, "cal": 58, "tl": 0, "cb": 4, "tb": 4, "cm": 0, "tm": 0, "lch": [100], "bch": [100], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 58, "ucl": 0, "cal": 58, "tl": 0, "lcq": 100, "cb": 4, "tb": 4, "bcq": 100, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.DataLists.CodeDescriptions", "rp": "", "cl": 34, "ucl": 0, "cal": 34, "tl": 0, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [100], "bch": [], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 34, "ucl": 0, "cal": 34, "tl": 0, "lcq": 100, "cb": 0, "tb": 0, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.DateAndTime", "rp": "", "cl": 0, "ucl": 40, "cal": 40, "tl": 0, "cb": 0, "tb": 24, "cm": 0, "tm": 0, "lch": [0], "bch": [0], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 40, "cal": 40, "tl": 0, "lcq": 0, "cb": 0, "tb": 24, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.Documentation.PlcCodeTestedAttribute", "rp": "", "cl": 0, "ucl": 1, "cal": 1, "tl": 0, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [0], "bch": [], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 1, "cal": 1, "tl": 0, "lcq": 0, "cb": 0, "tb": 0, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.Documentation.PlcEXRTAttribute", "rp": "", "cl": 0, "ucl": 1, "cal": 1, "tl": 0, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [0], "bch": [], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 1, "cal": 1, "tl": 0, "lcq": 0, "cb": 0, "tb": 0, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.Documentation.PlcLegacyAttribute", "rp": "", "cl": 0, "ucl": 1, "cal": 1, "tl": 0, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [0], "bch": [], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 1, "cal": 1, "tl": 0, "lcq": 0, "cb": 0, "tb": 0, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.DWord", "rp": "", "cl": 0, "ucl": 48, "cal": 48, "tl": 0, "cb": 0, "tb": 10, "cm": 0, "tm": 0, "lch": [0], "bch": [0], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 48, "cal": 48, "tl": 0, "lcq": 0, "cb": 0, "tb": 10, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.Events.PlcModeArgs", "rp": "", "cl": 0, "ucl": 4, "cal": 4, "tl": 0, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [0], "bch": [], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 4, "cal": 4, "tl": 0, "lcq": 0, "cb": 0, "tb": 0, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.Events.ReconnectArgs", "rp": "", "cl": 0, "ucl": 45, "cal": 45, "tl": 0, "cb": 0, "tb": 8, "cm": 0, "tm": 0, "lch": [0], "bch": [0], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 45, "cal": 45, "tl": 0, "lcq": 0, "cb": 0, "tb": 8, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.Events.RegisterChangedArgs", "rp": "", "cl": 0, "ucl": 4, "cal": 4, "tl": 0, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [0], "bch": [], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 4, "cal": 4, "tl": 0, "lcq": 0, "cb": 0, "tb": 0, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.Helpers.LinqHelpers", "rp": "", "cl": 0, "ucl": 14, "cal": 14, "tl": 0, "cb": 0, "tb": 12, "cm": 0, "tm": 0, "lch": [0], "bch": [0], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 14, "cal": 14, "tl": 0, "lcq": 0, "cb": 0, "tb": 12, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.Helpers.PlcBitConverter", "rp": "", "cl": 0, "ucl": 8, "cal": 8, "tl": 0, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [0], "bch": [], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 8, "cal": 8, "tl": 0, "lcq": 0, "cb": 0, "tb": 0, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.Logging.Logger", "rp": "", "cl": 0, "ucl": 68, "cal": 68, "tl": 0, "cb": 0, "tb": 22, "cm": 0, "tm": 0, "lch": [0], "bch": [0], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 68, "cal": 68, "tl": 0, "lcq": 0, "cb": 0, "tb": 22, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.Mewtocol", "rp": "", "cl": 0, "ucl": 194, "cal": 194, "tl": 0, "cb": 0, "tb": 58, "cm": 0, "tm": 0, "lch": [0], "bch": [0], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 194, "cal": 194, "tl": 0, "lcq": 0, "cb": 0, "tb": 58, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.MewtocolFrameResponse", "rp": "", "cl": 0, "ucl": 32, "cal": 32, "tl": 0, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [0], "bch": [], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 32, "cal": 32, "tl": 0, "lcq": 0, "cb": 0, "tb": 0, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.MewtocolHelpers", "rp": "", "cl": 42, "ucl": 198, "cal": 240, "tl": 0, "cb": 12, "tb": 140, "cm": 0, "tm": 0, "lch": [17.5], "bch": [8.5], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 42, "ucl": 198, "cal": 240, "tl": 0, "lcq": 17.5, "cb": 12, "tb": 140, "bcq": 8.5, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.MewtocolInterface", "rp": "", "cl": 0, "ucl": 891, "cal": 891, "tl": 0, "cb": 0, "tb": 312, "cm": 0, "tm": 0, "lch": [0], "bch": [0], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 891, "cal": 891, "tl": 0, "lcq": 0, "cb": 0, "tb": 312, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.MewtocolInterfaceSerial", "rp": "", "cl": 0, "ucl": 167, "cal": 167, "tl": 0, "cb": 0, "tb": 43, "cm": 0, "tm": 0, "lch": [0], "bch": [0], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 167, "cal": 167, "tl": 0, "lcq": 0, "cb": 0, "tb": 43, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.MewtocolInterfaceTcp", "rp": "", "cl": 0, "ucl": 131, "cal": 131, "tl": 0, "cb": 0, "tb": 42, "cm": 0, "tm": 0, "lch": [0], "bch": [0], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 131, "cal": 131, "tl": 0, "lcq": 0, "cb": 0, "tb": 42, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.ParsedPlcName", "rp": "", "cl": 0, "ucl": 50, "cal": 50, "tl": 0, "cb": 0, "tb": 10, "cm": 0, "tm": 0, "lch": [0], "bch": [0], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 50, "cal": 50, "tl": 0, "lcq": 0, "cb": 0, "tb": 10, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.PlcFormat", "rp": "", "cl": 39, "ucl": 2, "cal": 41, "tl": 0, "cb": 26, "tb": 28, "cm": 0, "tm": 0, "lch": [95.1], "bch": [92.8], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 39, "ucl": 2, "cal": 41, "tl": 0, "lcq": 95.1, "cb": 26, "tb": 28, "bcq": 92.8, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.PLCInfo", "rp": "", "cl": 0, "ucl": 111, "cal": 111, "tl": 0, "cb": 0, "tb": 24, "cm": 0, "tm": 0, "lch": [0], "bch": [0], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 111, "cal": 111, "tl": 0, "lcq": 0, "cb": 0, "tb": 24, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.PlcMetadata", "rp": "", "cl": 0, "ucl": 9, "cal": 9, "tl": 0, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [0], "bch": [], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 9, "cal": 9, "tl": 0, "lcq": 0, "cb": 0, "tb": 0, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.PlcTypeConversion<T>", "rp": "", "cl": 0, "ucl": 16, "cal": 16, "tl": 0, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [0], "bch": [], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 16, "cal": 16, "tl": 0, "lcq": 0, "cb": 0, "tb": 0, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.PlcValueParser", "rp": "", "cl": 0, "ucl": 91, "cal": 91, "tl": 0, "cb": 0, "tb": 46, "cm": 0, "tm": 0, "lch": [0], "bch": [0], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 91, "cal": 91, "tl": 0, "lcq": 0, "cb": 0, "tb": 46, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.PlcVarTypeConversions", "rp": "", "cl": 0, "ucl": 25, "cal": 25, "tl": 0, "cb": 0, "tb": 10, "cm": 0, "tm": 0, "lch": [0], "bch": [0], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 25, "cal": 25, "tl": 0, "lcq": 0, "cb": 0, "tb": 10, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.ProgramParsing.PlcBinaryProgram", "rp": "", "cl": 0, "ucl": 179, "cal": 179, "tl": 0, "cb": 0, "tb": 102, "cm": 0, "tm": 0, "lch": [0], "bch": [0], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 179, "cal": 179, "tl": 0, "lcq": 0, "cb": 0, "tb": 102, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.RegisterAttributes.BitRegisterAttribute", "rp": "", "cl": 0, "ucl": 3, "cal": 3, "tl": 0, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [0], "bch": [], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 3, "cal": 3, "tl": 0, "lcq": 0, "cb": 0, "tb": 0, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.RegisterAttributes.PollLevelAttribute", "rp": "", "cl": 0, "ucl": 3, "cal": 3, "tl": 0, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [0], "bch": [], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 3, "cal": 3, "tl": 0, "lcq": 0, "cb": 0, "tb": 0, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.RegisterAttributes.RegisterAttribute", "rp": "", "cl": 0, "ucl": 6, "cal": 6, "tl": 0, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [0], "bch": [], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 6, "cal": 6, "tl": 0, "lcq": 0, "cb": 0, "tb": 0, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.RegisterAttributes.RegisterCollection", "rp": "", "cl": 0, "ucl": 14, "cal": 14, "tl": 0, "cb": 0, "tb": 4, "cm": 0, "tm": 0, "lch": [0], "bch": [0], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 14, "cal": 14, "tl": 0, "lcq": 0, "cb": 0, "tb": 4, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.RegisterAttributes.RegisterPropTarget", "rp": "", "cl": 0, "ucl": 5, "cal": 5, "tl": 0, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [0], "bch": [], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 5, "cal": 5, "tl": 0, "lcq": 0, "cb": 0, "tb": 0, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.RegisterAttributes.StringHintAttribute", "rp": "", "cl": 0, "ucl": 3, "cal": 3, "tl": 0, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [0], "bch": [], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 3, "cal": 3, "tl": 0, "lcq": 0, "cb": 0, "tb": 0, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.RegisterBuilding.AddressTools", "rp": "", "cl": 0, "ucl": 98, "cal": 98, "tl": 0, "cb": 0, "tb": 40, "cm": 0, "tm": 0, "lch": [0], "bch": [0], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 98, "cal": 98, "tl": 0, "lcq": 0, "cb": 0, "tb": 40, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.RegisterBuilding.BuilderPatterns.RBuild", "rp": "", "cl": 0, "ucl": 70, "cal": 70, "tl": 0, "cb": 0, "tb": 12, "cm": 0, "tm": 0, "lch": [0], "bch": [0], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 70, "cal": 70, "tl": 0, "lcq": 0, "cb": 0, "tb": 12, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.RegisterBuilding.BuilderPatterns.RBuildAnon", "rp": "", "cl": 0, "ucl": 47, "cal": 47, "tl": 0, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [0], "bch": [], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 47, "cal": 47, "tl": 0, "lcq": 0, "cb": 0, "tb": 0, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.RegisterBuilding.BuilderPatterns.RBuildFromAttributes", "rp": "", "cl": 0, "ucl": 28, "cal": 28, "tl": 0, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [0], "bch": [], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 28, "cal": 28, "tl": 0, "lcq": 0, "cb": 0, "tb": 0, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.RegisterBuilding.BuilderPatterns.RBuildMulti", "rp": "", "cl": 0, "ucl": 47, "cal": 47, "tl": 0, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [0], "bch": [], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 47, "cal": 47, "tl": 0, "lcq": 0, "cb": 0, "tb": 0, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.RegisterBuilding.RegisterAssembler", "rp": "", "cl": 0, "ucl": 100, "cal": 100, "tl": 0, "cb": 0, "tb": 48, "cm": 0, "tm": 0, "lch": [0], "bch": [0], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 100, "cal": 100, "tl": 0, "lcq": 0, "cb": 0, "tb": 48, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.RegisterBuilding.StepBaseTyper", "rp": "", "cl": 0, "ucl": 102, "cal": 102, "tl": 0, "cb": 0, "tb": 82, "cm": 0, "tm": 0, "lch": [0], "bch": [0], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 102, "cal": 102, "tl": 0, "lcq": 0, "cb": 0, "tb": 82, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.RegisterBuilding.StepData", "rp": "", "cl": 0, "ucl": 2, "cal": 2, "tl": 0, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [0], "bch": [], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 2, "cal": 2, "tl": 0, "lcq": 0, "cb": 0, "tb": 0, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.Registers.ArrayRegister<T>", "rp": "", "cl": 0, "ucl": 141, "cal": 141, "tl": 0, "cb": 0, "tb": 70, "cm": 0, "tm": 0, "lch": [0], "bch": [0], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 141, "cal": 141, "tl": 0, "lcq": 0, "cb": 0, "tb": 70, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.Registers.BoolRegister", "rp": "", "cl": 16, "ucl": 49, "cal": 65, "tl": 0, "cb": 11, "tb": 28, "cm": 0, "tm": 0, "lch": [24.6], "bch": [39.2], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 16, "ucl": 49, "cal": 65, "tl": 0, "lcq": 24.6, "cb": 11, "tb": 28, "bcq": 39.2, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.Registers.Register", "rp": "", "cl": 14, "ucl": 198, "cal": 212, "tl": 0, "cb": 3, "tb": 126, "cm": 0, "tm": 0, "lch": [6.6], "bch": [2.3], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 14, "ucl": 198, "cal": 212, "tl": 0, "lcq": 6.6, "cb": 3, "tb": 126, "bcq": 2.3, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.Registers.StringRegister", "rp": "", "cl": 0, "ucl": 67, "cal": 67, "tl": 0, "cb": 0, "tb": 26, "cm": 0, "tm": 0, "lch": [0], "bch": [0], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 67, "cal": 67, "tl": 0, "lcq": 0, "cb": 0, "tb": 26, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.Registers.StructRegister<T>", "rp": "", "cl": 14, "ucl": 65, "cal": 79, "tl": 0, "cb": 10, "tb": 54, "cm": 0, "tm": 0, "lch": [17.7], "bch": [18.5], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 14, "ucl": 65, "cal": 79, "tl": 0, "lcq": 17.7, "cb": 10, "tb": 54, "bcq": 18.5, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.SerialPortExtensions", "rp": "", "cl": 0, "ucl": 17, "cal": 17, "tl": 0, "cb": 0, "tb": 2, "cm": 0, "tm": 0, "lch": [0], "bch": [0], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 17, "cal": 17, "tl": 0, "lcq": 0, "cb": 0, "tb": 2, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.SetupClasses.InterfaceSettings", "rp": "", "cl": 0, "ucl": 8, "cal": 8, "tl": 0, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [0], "bch": [], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 8, "cal": 8, "tl": 0, "lcq": 0, "cb": 0, "tb": 0, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.TypeConversion.Conversions", "rp": "", "cl": 0, "ucl": 171, "cal": 171, "tl": 0, "cb": 0, "tb": 14, "cm": 0, "tm": 0, "lch": [0], "bch": [0], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 171, "cal": 171, "tl": 0, "lcq": 0, "cb": 0, "tb": 14, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.UnderlyingRegisters.AreaBase", "rp": "", "cl": 0, "ucl": 88, "cal": 88, "tl": 0, "cb": 0, "tb": 18, "cm": 0, "tm": 0, "lch": [0], "bch": [0], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 88, "cal": 88, "tl": 0, "lcq": 0, "cb": 0, "tb": 18, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.UnderlyingRegisters.LinkedRegisterGroup", "rp": "", "cl": 0, "ucl": 1, "cal": 1, "tl": 0, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [0], "bch": [], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 1, "cal": 1, "tl": 0, "lcq": 0, "cb": 0, "tb": 0, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.UnderlyingRegisters.MemoryAreaManager", "rp": "", "cl": 0, "ucl": 273, "cal": 273, "tl": 0, "cb": 0, "tb": 118, "cm": 0, "tm": 0, "lch": [0], "bch": [0], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 273, "cal": 273, "tl": 0, "lcq": 0, "cb": 0, "tb": 118, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.UnderlyingRegisters.PollLevel", "rp": "", "cl": 0, "ucl": 15, "cal": 15, "tl": 0, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [0], "bch": [], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 15, "cal": 15, "tl": 0, "lcq": 0, "cb": 0, "tb": 0, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
{ "name": "MewtocolNet.Word", "rp": "", "cl": 0, "ucl": 48, "cal": 48, "tl": 0, "cb": 0, "tb": 10, "cm": 0, "tm": 0, "lch": [0], "bch": [0], "mch": [], "hc": [{ "et": "25/08/2023 - 15:38:57 - 97_5977188216", "cl": 0, "ucl": 48, "cal": 48, "tl": 0, "lcq": 0, "cb": 0, "tb": 10, "bcq": 0, "cm": 0, "tm": 0, "mcq": 0 }], "metrics": { } },
]},
];
var metrics = [{ "name": "Cyclomatic complexity", "abbreviation": "cc", "explanationUrl": "https://en.wikipedia.org/wiki/Cyclomatic_complexity" }, { "name": "NPath complexity", "abbreviation": "npth", "explanationUrl": "https://modess.io/npath-complexity-cyclomatic-complexity-explained" }, { "name": "Sequence coverage", "abbreviation": "seq", "explanationUrl": "https://en.wikipedia.org/wiki/Code_coverage" }, { "name": "Branch coverage", "abbreviation": "bcov", "explanationUrl": "https://en.wikipedia.org/wiki/Code_coverage" }];
var historicCoverageExecutionTimes = [];
var riskHotspotMetrics = [
{ "name": "Cyclomatic complexity", "explanationUrl": "https://en.wikipedia.org/wiki/Cyclomatic_complexity" },
{ "name": "NPath complexity", "explanationUrl": "https://modess.io/npath-complexity-cyclomatic-complexity-explained" },
];
var riskHotspots = [
{
"assembly": "MewtocolNet", "class": "MewtocolNet.ProgramParsing.PlcBinaryProgram", "reportPath": "", "methodName": "System.Void MewtocolNet.ProgramParsing.PlcBinaryProgram::AnalyzeProgram()", "methodShortName": "AnalyzeProgram()", "fileIndex": 0, "line": null,
"metrics": [
{ "value": 66, "exceeded": true },
{ "value": 66, "exceeded": false },
]},
{
"assembly": "MewtocolNet", "class": "MewtocolNet.RegisterBuilding.RegisterAssembler", "reportPath": "", "methodName": "MewtocolNet.Registers.Register MewtocolNet.RegisterBuilding.RegisterAssembler::Assemble(MewtocolNet.RegisterBuilding.StepData)", "methodShortName": "Assemble(...)", "fileIndex": 0, "line": null,
"metrics": [
{ "value": 48, "exceeded": true },
{ "value": 48, "exceeded": false },
]},
{
"assembly": "MewtocolNet", "class": "MewtocolNet.RegisterBuilding.StepBaseTyper", "reportPath": "", "methodName": "MewtocolNet.RegisterBuilding.StepBase MewtocolNet.RegisterBuilding.StepBaseTyper::AsType(MewtocolNet.RegisterBuilding.StepBase,System.Type)", "methodShortName": "AsType(...)", "fileIndex": 0, "line": null,
"metrics": [
{ "value": 40, "exceeded": true },
{ "value": 40, "exceeded": false },
]},
{
"assembly": "MewtocolNet", "class": "MewtocolNet.UnderlyingRegisters.MemoryAreaManager", "reportPath": "", "methodName": "System.Void MewtocolNet.UnderlyingRegisters.MemoryAreaManager::AddToArea(MewtocolNet.Registers.Register,MewtocolNet.RegisterPrefix)", "methodShortName": "AddToArea(...)", "fileIndex": 0, "line": null,
"metrics": [
{ "value": 34, "exceeded": true },
{ "value": 34, "exceeded": false },
]},
{
"assembly": "MewtocolNet", "class": "MewtocolNet.UnderlyingRegisters.MemoryAreaManager", "reportPath": "", "methodName": "System.String MewtocolNet.UnderlyingRegisters.MemoryAreaManager::ExplainLayout()", "methodShortName": "ExplainLayout()", "fileIndex": 0, "line": null,
"metrics": [
{ "value": 32, "exceeded": true },
{ "value": 32, "exceeded": false },
]},
];
var branchCoverageAvailable = true;
var methodCoverageAvailable = false;
var translations = {
'top': 'Top:',
'all': 'All',
'assembly': 'Assembly',
'class': 'Class',
'method': 'Method',
'lineCoverage': 'Line coverage',
'noGrouping': 'No grouping',
'byAssembly': 'By assembly',
'byNamespace': 'By namespace, Level:',
'all': 'All',
'collapseAll': 'Collapse all',
'expandAll': 'Expand all',
'grouping': 'Grouping:',
'filter': 'Filter:',
'name': 'Name',
'covered': 'Covered',
'uncovered': 'Uncovered',
'coverable': 'Coverable',
'total': 'Total',
'coverage': 'Line coverage',
'branchCoverage': 'Branch coverage',
'methodCoverage': 'Method coverage',
'percentage': 'Percentage',
'history': 'Coverage history',
'compareHistory': 'Compare with:',
'date': 'Date',
'allChanges': 'All changes',
'selectCoverageTypes': 'Select coverage types',
'selectCoverageTypesAndMetrics': 'Select coverage types & metrics',
'coverageTypes': 'Coverage types',
'metrics': 'Metrics',
'methodCoverageProVersion': 'Feature is only available for sponsors',
'lineCoverageIncreaseOnly': 'Line coverage: Increase only',
'lineCoverageDecreaseOnly': 'Line coverage: Decrease only',
'branchCoverageIncreaseOnly': 'Branch coverage: Increase only',
'branchCoverageDecreaseOnly': 'Branch coverage: Decrease only',
'methodCoverageIncreaseOnly': 'Method coverage: Increase only',
'methodCoverageDecreaseOnly': 'Method coverage: Decrease only'
};
(()=>{"use strict";var e,_={},p={};function n(e){var a=p[e];if(void 0!==a)return a.exports;var r=p[e]={exports:{}};return _[e](r,r.exports,n),r.exports}n.m=_,e=[],n.O=(a,r,u,l)=>{if(!r){var o=1/0;for(f=0;f<e.length;f++){for(var[r,u,l]=e[f],v=!0,t=0;t<r.length;t++)(!1&l||o>=l)&&Object.keys(n.O).every(h=>n.O[h](r[t]))?r.splice(t--,1):(v=!1,l<o&&(o=l));if(v){e.splice(f--,1);var c=u();void 0!==c&&(a=c)}}return a}l=l||0;for(var f=e.length;f>0&&e[f-1][2]>l;f--)e[f]=e[f-1];e[f]=[r,u,l]},n.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return n.d(a,{a}),a},n.d=(e,a)=>{for(var r in a)n.o(a,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:a[r]})},n.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),(()=>{var e={666:0};n.O.j=u=>0===e[u];var a=(u,l)=>{var t,c,[f,o,v]=l,s=0;if(f.some(d=>0!==e[d])){for(t in o)n.o(o,t)&&(n.m[t]=o[t]);if(v)var b=v(n)}for(u&&u(l);s<f.length;s++)n.o(e,c=f[s])&&e[c]&&e[c][0](),e[c]=0;return n.O(b)},r=self.webpackChunkcoverage_app=self.webpackChunkcoverage_app||[];r.forEach(a.bind(null,0)),r.push=a.bind(null,r.push.bind(r))})()})();
"use strict";(self.webpackChunkcoverage_app=self.webpackChunkcoverage_app||[]).push([[429],{435:(ie,Ee,de)=>{de(583)},583:()=>{!function(t){const n=t.performance;function i(M){n&&n.mark&&n.mark(M)}function o(M,T){n&&n.measure&&n.measure(M,T)}i("Zone");const c=t.__Zone_symbol_prefix||"__zone_symbol__";function a(M){return c+M}const y=!0===t[a("forceDuplicateZoneCheck")];if(t.Zone){if(y||"function"!=typeof t.Zone.__symbol__)throw new Error("Zone already loaded.");return t.Zone}let d=(()=>{class M{static assertZonePatched(){if(t.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 e=M.current;for(;e.parent;)e=e.parent;return e}static get current(){return U.zone}static get currentTask(){return re}static __load_patch(e,r,k=!1){if(oe.hasOwnProperty(e)){if(!k&&y)throw Error("Already loaded patch: "+e)}else if(!t["__Zone_disable_"+e]){const C="Zone:"+e;i(C),oe[e]=r(t,M,z),o(C,C)}}get parent(){return this._parent}get name(){return this._name}constructor(e,r){this._parent=e,this._name=r?r.name||"unnamed":"<root>",this._properties=r&&r.properties||{},this._zoneDelegate=new v(this,this._parent&&this._parent._zoneDelegate,r)}get(e){const r=this.getZoneWith(e);if(r)return r._properties[e]}getZoneWith(e){let r=this;for(;r;){if(r._properties.hasOwnProperty(e))return r;r=r._parent}return null}fork(e){if(!e)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,e)}wrap(e,r){if("function"!=typeof e)throw new Error("Expecting function got: "+e);const k=this._zoneDelegate.intercept(this,e,r),C=this;return function(){return C.runGuarded(k,this,arguments,r)}}run(e,r,k,C){U={parent:U,zone:this};try{return this._zoneDelegate.invoke(this,e,r,k,C)}finally{U=U.parent}}runGuarded(e,r=null,k,C){U={parent:U,zone:this};try{try{return this._zoneDelegate.invoke(this,e,r,k,C)}catch($){if(this._zoneDelegate.handleError(this,$))throw $}}finally{U=U.parent}}runTask(e,r,k){if(e.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(e.zone||K).name+"; Execution: "+this.name+")");if(e.state===x&&(e.type===Q||e.type===P))return;const C=e.state!=E;C&&e._transitionTo(E,A),e.runCount++;const $=re;re=e,U={parent:U,zone:this};try{e.type==P&&e.data&&!e.data.isPeriodic&&(e.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,e,r,k)}catch(l){if(this._zoneDelegate.handleError(this,l))throw l}}finally{e.state!==x&&e.state!==h&&(e.type==Q||e.data&&e.data.isPeriodic?C&&e._transitionTo(A,E):(e.runCount=0,this._updateTaskCount(e,-1),C&&e._transitionTo(x,E,x))),U=U.parent,re=$}}scheduleTask(e){if(e.zone&&e.zone!==this){let k=this;for(;k;){if(k===e.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${e.zone.name}`);k=k.parent}}e._transitionTo(X,x);const r=[];e._zoneDelegates=r,e._zone=this;try{e=this._zoneDelegate.scheduleTask(this,e)}catch(k){throw e._transitionTo(h,X,x),this._zoneDelegate.handleError(this,k),k}return e._zoneDelegates===r&&this._updateTaskCount(e,1),e.state==X&&e._transitionTo(A,X),e}scheduleMicroTask(e,r,k,C){return this.scheduleTask(new p(I,e,r,k,C,void 0))}scheduleMacroTask(e,r,k,C,$){return this.scheduleTask(new p(P,e,r,k,C,$))}scheduleEventTask(e,r,k,C,$){return this.scheduleTask(new p(Q,e,r,k,C,$))}cancelTask(e){if(e.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(e.zone||K).name+"; Execution: "+this.name+")");if(e.state===A||e.state===E){e._transitionTo(G,A,E);try{this._zoneDelegate.cancelTask(this,e)}catch(r){throw e._transitionTo(h,G),this._zoneDelegate.handleError(this,r),r}return this._updateTaskCount(e,-1),e._transitionTo(x,G),e.runCount=0,e}}_updateTaskCount(e,r){const k=e._zoneDelegates;-1==r&&(e._zoneDelegates=null);for(let C=0;C<k.length;C++)k[C]._updateTaskCount(e.type,r)}}return M.__symbol__=a,M})();const b={name:"",onHasTask:(M,T,e,r)=>M.hasTask(e,r),onScheduleTask:(M,T,e,r)=>M.scheduleTask(e,r),onInvokeTask:(M,T,e,r,k,C)=>M.invokeTask(e,r,k,C),onCancelTask:(M,T,e,r)=>M.cancelTask(e,r)};class v{constructor(T,e,r){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=T,this._parentDelegate=e,this._forkZS=r&&(r&&r.onFork?r:e._forkZS),this._forkDlgt=r&&(r.onFork?e:e._forkDlgt),this._forkCurrZone=r&&(r.onFork?this.zone:e._forkCurrZone),this._interceptZS=r&&(r.onIntercept?r:e._interceptZS),this._interceptDlgt=r&&(r.onIntercept?e:e._interceptDlgt),this._interceptCurrZone=r&&(r.onIntercept?this.zone:e._interceptCurrZone),this._invokeZS=r&&(r.onInvoke?r:e._invokeZS),this._invokeDlgt=r&&(r.onInvoke?e:e._invokeDlgt),this._invokeCurrZone=r&&(r.onInvoke?this.zone:e._invokeCurrZone),this._handleErrorZS=r&&(r.onHandleError?r:e._handleErrorZS),this._handleErrorDlgt=r&&(r.onHandleError?e:e._handleErrorDlgt),this._handleErrorCurrZone=r&&(r.onHandleError?this.zone:e._handleErrorCurrZone),this._scheduleTaskZS=r&&(r.onScheduleTask?r:e._scheduleTaskZS),this._scheduleTaskDlgt=r&&(r.onScheduleTask?e:e._scheduleTaskDlgt),this._scheduleTaskCurrZone=r&&(r.onScheduleTask?this.zone:e._scheduleTaskCurrZone),this._invokeTaskZS=r&&(r.onInvokeTask?r:e._invokeTaskZS),this._invokeTaskDlgt=r&&(r.onInvokeTask?e:e._invokeTaskDlgt),this._invokeTaskCurrZone=r&&(r.onInvokeTask?this.zone:e._invokeTaskCurrZone),this._cancelTaskZS=r&&(r.onCancelTask?r:e._cancelTaskZS),this._cancelTaskDlgt=r&&(r.onCancelTask?e:e._cancelTaskDlgt),this._cancelTaskCurrZone=r&&(r.onCancelTask?this.zone:e._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const k=r&&r.onHasTask;(k||e&&e._hasTaskZS)&&(this._hasTaskZS=k?r:b,this._hasTaskDlgt=e,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=T,r.onScheduleTask||(this._scheduleTaskZS=b,this._scheduleTaskDlgt=e,this._scheduleTaskCurrZone=this.zone),r.onInvokeTask||(this._invokeTaskZS=b,this._invokeTaskDlgt=e,this._invokeTaskCurrZone=this.zone),r.onCancelTask||(this._cancelTaskZS=b,this._cancelTaskDlgt=e,this._cancelTaskCurrZone=this.zone))}fork(T,e){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,T,e):new d(T,e)}intercept(T,e,r){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,T,e,r):e}invoke(T,e,r,k,C){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,T,e,r,k,C):e.apply(r,k)}handleError(T,e){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,T,e)}scheduleTask(T,e){let r=e;if(this._scheduleTaskZS)this._hasTaskZS&&r._zoneDelegates.push(this._hasTaskDlgtOwner),r=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,T,e),r||(r=e);else if(e.scheduleFn)e.scheduleFn(e);else{if(e.type!=I)throw new Error("Task is missing scheduleFn.");R(e)}return r}invokeTask(T,e,r,k){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,T,e,r,k):e.callback.apply(r,k)}cancelTask(T,e){let r;if(this._cancelTaskZS)r=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,T,e);else{if(!e.cancelFn)throw Error("Task is not cancelable");r=e.cancelFn(e)}return r}hasTask(T,e){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,T,e)}catch(r){this.handleError(T,r)}}_updateTaskCount(T,e){const r=this._taskCounts,k=r[T],C=r[T]=k+e;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,e,r,k,C,$){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=T,this.source=e,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(t,l,this,arguments)}}static invokeTask(T,e,r){T||(T=this),ee++;try{return T.runCount++,T.zone.runTask(T,e,r)}finally{1==ee&&_(),ee--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(x,X)}_transitionTo(T,e,r){if(this._state!==e&&this._state!==r)throw new Error(`${this.type} '${this.source}': can not transition to '${T}', expecting state '${e}'${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 L=a("setTimeout"),Z=a("Promise"),N=a("then");let J,B=[],H=!1;function q(M){if(J||t[Z]&&(J=t[Z].resolve(0)),J){let T=J[N];T||(T=J.then),T.call(J,M)}else t[L](M,0)}function R(M){0===ee&&0===B.length&&q(_),M&&B.push(M)}function _(){if(!H){for(H=!0;B.length;){const M=B;B=[];for(let T=0;T<M.length;T++){const e=M[T];try{e.zone.runTask(e,null,null)}catch(r){z.onUnhandledError(r)}}}z.microtaskDrainDone(),H=!1}}const K={name:"NO ZONE"},x="notScheduled",X="scheduling",A="scheduled",E="running",G="canceling",h="unknown",I="microTask",P="macroTask",Q="eventTask",oe={},z={symbol:a,currentZoneFrame:()=>U,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"),t.Zone=d}(typeof window<"u"&&window||typeof self<"u"&&self||global);const ie=Object.getOwnPropertyDescriptor,Ee=Object.defineProperty,de=Object.getPrototypeOf,ge=Object.create,Ve=Array.prototype.slice,Se="addEventListener",Oe="removeEventListener",Ze=Zone.__symbol__(Se),Ne=Zone.__symbol__(Oe),ce="true",ae="false",ke=Zone.__symbol__("");function Ie(t,n){return Zone.current.wrap(t,n)}function Me(t,n,i,o,c){return Zone.current.scheduleMacroTask(t,n,i,o,c)}const j=Zone.__symbol__,Pe=typeof window<"u",Te=Pe?window:void 0,Y=Pe&&Te||"object"==typeof self&&self||global,ct="removeAttribute";function Le(t,n){for(let i=t.length-1;i>=0;i--)"function"==typeof t[i]&&(t[i]=Ie(t[i],n+"_"+i));return t}function Fe(t){return!t||!1!==t.writable&&!("function"==typeof t.get&&typeof t.set>"u")}const Be=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,we=!("nw"in Y)&&typeof Y.process<"u"&&"[object process]"==={}.toString.call(Y.process),Ae=!we&&!Be&&!(!Pe||!Te.HTMLElement),Ue=typeof Y.process<"u"&&"[object process]"==={}.toString.call(Y.process)&&!Be&&!(!Pe||!Te.HTMLElement),Re={},We=function(t){if(!(t=t||Y.event))return;let n=Re[t.type];n||(n=Re[t.type]=j("ON_PROPERTY"+t.type));const i=this||t.target||Y,o=i[n];let c;return Ae&&i===Te&&"error"===t.type?(c=o&&o.call(this,t.message,t.filename,t.lineno,t.colno,t.error),!0===c&&t.preventDefault()):(c=o&&o.apply(this,arguments),null!=c&&!c&&t.preventDefault()),c};function qe(t,n,i){let o=ie(t,n);if(!o&&i&&ie(i,n)&&(o={enumerable:!0,configurable:!0}),!o||!o.configurable)return;const c=j("on"+n+"patched");if(t.hasOwnProperty(c)&&t[c])return;delete o.writable,delete o.value;const a=o.get,y=o.set,d=n.slice(2);let b=Re[d];b||(b=Re[d]=j("ON_PROPERTY"+d)),o.set=function(v){let p=this;!p&&t===Y&&(p=Y),p&&("function"==typeof p[b]&&p.removeEventListener(d,We),y&&y.call(p,null),p[b]=v,"function"==typeof v&&p.addEventListener(d,We,!1))},o.get=function(){let v=this;if(!v&&t===Y&&(v=Y),!v)return null;const p=v[b];if(p)return p;if(a){let L=a.call(this);if(L)return o.set.call(this,L),"function"==typeof v[ct]&&v.removeAttribute(n),L}return null},Ee(t,n,o),t[c]=!0}function Xe(t,n,i){if(n)for(let o=0;o<n.length;o++)qe(t,"on"+n[o],i);else{const o=[];for(const c in t)"on"==c.slice(0,2)&&o.push(c);for(let c=0;c<o.length;c++)qe(t,o[c],i)}}const ne=j("originalInstance");function ve(t){const n=Y[t];if(!n)return;Y[j(t)]=n,Y[t]=function(){const c=Le(arguments,t);switch(c.length){case 0:this[ne]=new n;break;case 1:this[ne]=new n(c[0]);break;case 2:this[ne]=new n(c[0],c[1]);break;case 3:this[ne]=new n(c[0],c[1],c[2]);break;case 4:this[ne]=new n(c[0],c[1],c[2],c[3]);break;default:throw new Error("Arg list too long.")}},ue(Y[t],n);const i=new n(function(){});let o;for(o in i)"XMLHttpRequest"===t&&"responseBlob"===o||function(c){"function"==typeof i[c]?Y[t].prototype[c]=function(){return this[ne][c].apply(this[ne],arguments)}:Ee(Y[t].prototype,c,{set:function(a){"function"==typeof a?(this[ne][c]=Ie(a,t+"."+c),ue(this[ne][c],a)):this[ne][c]=a},get:function(){return this[ne][c]}})}(o);for(o in n)"prototype"!==o&&n.hasOwnProperty(o)&&(Y[t][o]=n[o])}function le(t,n,i){let o=t;for(;o&&!o.hasOwnProperty(n);)o=de(o);!o&&t[n]&&(o=t);const c=j(n);let a=null;if(o&&(!(a=o[c])||!o.hasOwnProperty(c))&&(a=o[c]=o[n],Fe(o&&ie(o,n)))){const d=i(a,c,n);o[n]=function(){return d(this,arguments)},ue(o[n],a)}return a}function lt(t,n,i){let o=null;function c(a){const y=a.data;return y.args[y.cbIdx]=function(){a.invoke.apply(this,arguments)},o.apply(y.target,y.args),a}o=le(t,n,a=>function(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 ue(t,n){t[j("OriginalDelegate")]=n}let ze=!1,je=!1;function ft(){if(ze)return je;ze=!0;try{const t=Te.navigator.userAgent;(-1!==t.indexOf("MSIE ")||-1!==t.indexOf("Trident/")||-1!==t.indexOf("Edge/"))&&(je=!0)}catch{}return je}Zone.__load_patch("ZoneAwarePromise",(t,n,i)=>{const o=Object.getOwnPropertyDescriptor,c=Object.defineProperty,y=i.symbol,d=[],b=!0===t[y("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],v=y("Promise"),p=y("then"),L="__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 Z=y("unhandledPromiseRejectionHandler");function N(l){i.onUnhandledError(l);try{const u=n[Z];"function"==typeof u&&u.call(this,l)}catch{}}function B(l){return l&&l.then}function H(l){return l}function J(l){return e.reject(l)}const q=y("state"),R=y("value"),_=y("finally"),K=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 e&&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[K]),u===G&&s instanceof Error){const m=n.currentTask&&n.currentTask.data&&n.currentTask.data[L];m&&c(s,oe,{configurable:!0,enumerable:!1,writable:!0,value:m})}for(let m=0;m<w.length;)ee(l,w[m++],w[m++],w[m++],w[m++]);if(0==w.length&&u==G){l[q]=h;let m=s;try{throw new Error("Uncaught (in promise): "+function a(l){return l&&l.toString===Object.prototype.toString?(l.constructor&&l.constructor.name||"")+": "+JSON.stringify(l):l?l.toString():Object.prototype.toString.call(l)}(s)+(s&&s.stack?"\n"+s.stack:""))}catch(D){m=D}b&&(m.throwOriginal=!0),m.rejection=s,m.promise=l,m.zone=n.current,m.task=n.currentTask,d.push(m),i.scheduleMicroTask()}}}return l}const U=y("rejectionHandledHandler");function re(l){if(l[q]===h){try{const u=n[U];u&&"function"==typeof u&&u.call(this,{rejection:l[R],promise:l})}catch{}l[q]=G;for(let u=0;u<d.length;u++)l===d[u].promise&&d.splice(u,1)}}function ee(l,u,s,f,g){re(l);const w=l[q],m=w?"function"==typeof f?f:H:"function"==typeof g?g:J;u.scheduleMicroTask(X,()=>{try{const D=l[R],S=!!s&&_===s[_];S&&(s[K]=D,s[x]=w);const O=u.run(m,void 0,S&&m!==J&&m!==H?[]:[D]);z(s,!0,O)}catch(D){z(s,!1,D)}},s)}const M=function(){},T=t.AggregateError;class e{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(e.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 e((m,D)=>{for(let S=0;S<s.length;S++)s[S].then(O=>{g||(g=!0,m(O))},O=>{w.push(O),f--,0===f&&(g=!0,D(new T(w,"All promises were rejected")))})})}static race(u){let s,f,g=new this((D,S)=>{s=D,f=S});function w(D){s(D)}function m(D){f(D)}for(let D of u)B(D)||(D=this.resolve(D)),D.then(w,m);return g}static all(u){return e.allWithCallback(u)}static allSettled(u){return(this&&this.prototype instanceof e?this:e).allWithCallback(u,{thenCallback:f=>({status:"fulfilled",value:f}),errorCallback:f=>({status:"rejected",reason:f})})}static allWithCallback(u,s){let f,g,w=new this((O,V)=>{f=O,g=V}),m=2,D=0;const S=[];for(let O of u){B(O)||(O=this.resolve(O));const V=D;try{O.then(F=>{S[V]=s?s.thenCallback(F):F,m--,0===m&&f(S)},F=>{s?(S[V]=s.errorCallback(F),m--,0===m&&f(S)):g(F)})}catch(F){g(F)}m++,D++}return m-=2,0===m&&f(S),w}constructor(u){const s=this;if(!(s instanceof e))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 e}then(u,s){let f=this.constructor?.[Symbol.species];(!f||"function"!=typeof f)&&(f=this.constructor||e);const g=new f(M),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=e);const f=new s(M);f[_]=_;const g=n.current;return this[q]==A?this[R].push(g,f,u,u):ee(this,g,f,u,u),f}}e.resolve=e.resolve,e.reject=e.reject,e.race=e.race,e.all=e.all;const r=t[v]=t.Promise;t.Promise=e;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 e((D,S)=>{f.call(this,D,S)}).then(g,w)},l[k]=!0}return i.patchThen=C,r&&(C(r),le(t,"fetch",l=>function $(l){return function(u,s){let f=l.apply(u,s);if(f instanceof e)return f;let g=f.constructor;return g[k]||C(g),f}}(l))),Promise[n.__symbol__("uncaughtPromiseErrors")]=d,e}),Zone.__load_patch("toString",t=>{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=t[o];if(p)return n.call(p)}if(this===Error){const p=t[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 ye=!1;if(typeof window<"u")try{const t=Object.defineProperty({},"passive",{get:function(){ye=!0}});window.addEventListener("test",t,t),window.removeEventListener("test",t,t)}catch{ye=!1}const ht={useG:!0},te={},Ye={},$e=new RegExp("^"+ke+"(\\w+)(true|false)$"),Ke=j("propagationStopped");function Je(t,n){const i=(n?n(t):t)+ae,o=(n?n(t):t)+ce,c=ke+i,a=ke+o;te[t]={},te[t][ae]=c,te[t][ce]=a}function dt(t,n,i,o){const c=o&&o.add||Se,a=o&&o.rm||Oe,y=o&&o.listeners||"eventListeners",d=o&&o.rmAll||"removeAllListeners",b=j(c),v="."+c+":",p="prependListener",L="."+p+":",Z=function(R,_,K){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,_,[K])}catch(E){X=E}const A=R.options;return A&&"object"==typeof A&&A.once&&_[a].call(_,K.type,R.originalDelegate?R.originalDelegate:R.callback,A),X};function N(R,_,K){if(!(_=_||t.event))return;const x=R||_.target||t,X=x[te[_.type][K?ce:ae]];if(X){const A=[];if(1===X.length){const E=Z(X[0],x,_);E&&A.push(E)}else{const E=X.slice();for(let G=0;G<E.length&&(!_||!0!==_[Ke]);G++){const h=Z(E[G],x,_);h&&A.push(h)}}if(1===A.length)throw A[0];for(let E=0;E<A.length;E++){const G=A[E];n.nativeScheduleMicroTask(()=>{throw G})}}}const B=function(R){return N(this,R,!1)},H=function(R){return N(this,R,!0)};function J(R,_){if(!R)return!1;let K=!0;_&&void 0!==_.useG&&(K=_.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=de(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 e=K?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=K?function(s){if(!s.isRemoved){const f=te[s.eventName];let g;f&&(g=f[s.capture?ce:ae]);const w=g&&s.target[g];if(w)for(let m=0;m<w.length;m++)if(w[m]===s){w.splice(m,1),s.isRemoved=!0,0===w.length&&(s.allRemoved=!0,s.target[g]=null);break}}if(s.allRemoved)return P.call(s.target,s.eventName,s.capture?H:B,s.options)}:function(s){return P.call(s.target,s.eventName,s.invoke,s.options)},C=_&&_.diff?_.diff:function(s,f){const g=typeof f;return"function"===g&&s.callback===f||"object"===g&&s.originalDelegate===f},$=Zone[j("UNPATCHED_EVENTS")],l=t[j("PASSIVE_EVENTS")],u=function(s,f,g,w,m=!1,D=!1){return function(){const S=this||t;let O=arguments[0];_&&_.transferEventName&&(O=_.transferEventName(O));let V=arguments[1];if(!V)return s.apply(this,arguments);if(we&&"uncaughtException"===O)return s.apply(this,arguments);let F=!1;if("function"!=typeof V){if(!V.handleEvent)return s.apply(this,arguments);F=!0}if(x&&!x(s,V,S,arguments))return;const fe=ye&&!!l&&-1!==l.indexOf(O),se=function U(s,f){return!ye&&"object"==typeof s&&s?!!s.capture:ye&&f?"boolean"==typeof s?{capture:s,passive:!0}:s?"object"==typeof s&&!1!==s.passive?{...s,passive:!0}:s:{passive:!0}:s}(arguments[2],fe);if($)for(let _e=0;_e<$.length;_e++)if(O===$[_e])return fe?s.call(S,O,V,se):s.apply(this,arguments);const xe=!!se&&("boolean"==typeof se||se.capture),nt=!(!se||"object"!=typeof se)&&se.once,gt=Zone.current;let Ge=te[O];Ge||(Je(O,G),Ge=te[O]);const rt=Ge[xe?ce:ae];let De,me=S[rt],ot=!1;if(me){if(ot=!0,X)for(let _e=0;_e<me.length;_e++)if(C(me[_e],V))return}else me=S[rt]=[];const st=S.constructor.name,it=Ye[st];it&&(De=it[O]),De||(De=st+f+(G?G(O):O)),h.options=se,nt&&(h.options.once=!1),h.target=S,h.capture=xe,h.eventName=O,h.isExisting=ot;const be=K?ht:void 0;be&&(be.taskData=h);const he=gt.scheduleEventTask(De,V,be,g,w);return h.target=null,be&&(be.taskData=null),nt&&(se.once=!0),!ye&&"boolean"==typeof he.options||(he.options=se),he.target=S,he.capture=xe,he.eventName=O,F&&(he.originalDelegate=V),D?me.unshift(he):me.push(he),m?S:void 0}};return E[c]=u(I,v,e,r,A),z&&(E[p]=u(z,L,function(s){return z.call(h.target,h.eventName,s.invoke,h.options)},r,A,!0)),E[a]=function(){const s=this||t;let f=arguments[0];_&&_.transferEventName&&(f=_.transferEventName(f));const g=arguments[2],w=!!g&&("boolean"==typeof g||g.capture),m=arguments[1];if(!m)return P.apply(this,arguments);if(x&&!x(P,m,s,arguments))return;const D=te[f];let S;D&&(S=D[w?ce:ae]);const O=S&&s[S];if(O)for(let V=0;V<O.length;V++){const F=O[V];if(C(F,m))return O.splice(V,1),F.isRemoved=!0,0===O.length&&(F.allRemoved=!0,s[S]=null,"string"==typeof f)&&(s[ke+"ON_PROPERTY"+f]=null),F.zone.cancelTask(F),A?s:void 0}return P.apply(this,arguments)},E[y]=function(){const s=this||t;let f=arguments[0];_&&_.transferEventName&&(f=_.transferEventName(f));const g=[],w=Qe(s,G?G(f):f);for(let m=0;m<w.length;m++){const D=w[m];g.push(D.originalDelegate?D.originalDelegate:D.callback)}return g},E[d]=function(){const s=this||t;let f=arguments[0];if(f){_&&_.transferEventName&&(f=_.transferEventName(f));const g=te[f];if(g){const D=s[g[ae]],S=s[g[ce]];if(D){const O=D.slice();for(let V=0;V<O.length;V++){const F=O[V];this[a].call(this,f,F.originalDelegate?F.originalDelegate:F.callback,F.options)}}if(S){const O=S.slice();for(let V=0;V<O.length;V++){const F=O[V];this[a].call(this,f,F.originalDelegate?F.originalDelegate:F.callback,F.options)}}}}else{const g=Object.keys(s);for(let w=0;w<g.length;w++){const D=$e.exec(g[w]);let S=D&&D[1];S&&"removeListener"!==S&&this[d].call(this,S)}this[d].call(this,"removeListener")}if(A)return this},ue(E[c],I),ue(E[a],P),oe&&ue(E[d],oe),Q&&ue(E[y],Q),!0}let q=[];for(let R=0;R<i.length;R++)q[R]=J(i[R],o);return q}function Qe(t,n){if(!n){const a=[];for(let y in t){const d=$e.exec(y);let b=d&&d[1];if(b&&(!n||b===n)){const v=t[y];if(v)for(let p=0;p<v.length;p++)a.push(v[p])}}return a}let i=te[n];i||(Je(n),i=te[n]);const o=t[i[ae]],c=t[i[ce]];return o?c?o.concat(c):o.slice():c?c.slice():[]}function _t(t,n){const i=t.Event;i&&i.prototype&&n.patchMethod(i.prototype,"stopImmediatePropagation",o=>function(c,a){c[Ke]=!0,o&&o.apply(c,a)})}function Et(t,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 L=`${i}.${o}::`+p,Z=b.prototype;try{if(Z.hasOwnProperty(p)){const N=t.ObjectGetOwnPropertyDescriptor(Z,p);N&&N.value?(N.value=t.wrapWithCurrentZone(N.value,L),t._redefineProperty(b.prototype,p,N)):Z[p]&&(Z[p]=t.wrapWithCurrentZone(Z[p],L))}else Z[p]&&(Z[p]=t.wrapWithCurrentZone(Z[p],L))}catch{}}),y.call(n,d,b,v)},t.attachOriginToPatched(n[o],y)}function et(t,n,i){if(!i||0===i.length)return n;const o=i.filter(a=>a.target===t);if(!o||0===o.length)return n;const c=o[0].ignoreProperties;return n.filter(a=>-1===c.indexOf(a))}function tt(t,n,i,o){t&&Xe(t,et(t,n,i),o)}function He(t){return Object.getOwnPropertyNames(t).filter(n=>n.startsWith("on")&&n.length>2).map(n=>n.substring(2))}Zone.__load_patch("util",(t,n,i)=>{const o=He(t);i.patchOnProperties=Xe,i.patchMethod=le,i.bindArguments=Le,i.patchMacroTask=lt;const c=n.__symbol__("BLACK_LISTED_EVENTS"),a=n.__symbol__("UNPATCHED_EVENTS");t[a]&&(t[c]=t[a]),t[c]&&(n[c]=n[a]=t[c]),i.patchEventPrototype=_t,i.patchEventTarget=dt,i.isIEOrEdge=ft,i.ObjectDefineProperty=Ee,i.ObjectGetOwnPropertyDescriptor=ie,i.ObjectCreate=ge,i.ArraySlice=Ve,i.patchClass=ve,i.wrapWithCurrentZone=Ie,i.filterProperties=et,i.attachOriginToPatched=ue,i._redefineProperty=Object.defineProperty,i.patchCallbacks=Et,i.getGlobalObjects=()=>({globalSources:Ye,zoneSymbolEventNames:te,eventNames:o,isBrowser:Ae,isMix:Ue,isNode:we,TRUE_STR:ce,FALSE_STR:ae,ZONE_SYMBOL_PREFIX:ke,ADD_EVENT_LISTENER_STR:Se,REMOVE_EVENT_LISTENER_STR:Oe})});const Ce=j("zoneTask");function pe(t,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(t,p.args),v}function b(v){return a.call(t,v.data.handleId)}c=le(t,n+=o,v=>function(p,L){if("function"==typeof L[0]){const Z={isPeriodic:"Interval"===o,delay:"Timeout"===o||"Interval"===o?L[1]||0:void 0,args:L},N=L[0];L[0]=function(){try{return N.apply(this,arguments)}finally{Z.isPeriodic||("number"==typeof Z.handleId?delete y[Z.handleId]:Z.handleId&&(Z.handleId[Ce]=null))}};const B=Me(n,L[0],Z,d,b);if(!B)return B;const H=B.data.handleId;return"number"==typeof H?y[H]=B:H&&(H[Ce]=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(t,L)}),a=le(t,i,v=>function(p,L){const Z=L[0];let N;"number"==typeof Z?N=y[Z]:(N=Z&&Z[Ce],N||(N=Z)),N&&"string"==typeof N.type?"notScheduled"!==N.state&&(N.cancelFn&&N.data.isPeriodic||0===N.runCount)&&("number"==typeof Z?delete y[Z]:Z&&(Z[Ce]=null),N.zone.cancelTask(N)):v.apply(t,L)})}Zone.__load_patch("legacy",t=>{const n=t[Zone.__symbol__("legacyPatch")];n&&n()}),Zone.__load_patch("queueMicrotask",(t,n,i)=>{i.patchMethod(t,"queueMicrotask",o=>function(c,a){n.current.scheduleMicroTask("queueMicrotask",a[0])})}),Zone.__load_patch("timers",t=>{const n="set",i="clear";pe(t,n,i,"Timeout"),pe(t,n,i,"Interval"),pe(t,n,i,"Immediate")}),Zone.__load_patch("requestAnimationFrame",t=>{pe(t,"request","cancel","AnimationFrame"),pe(t,"mozRequest","mozCancel","AnimationFrame"),pe(t,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(t,n)=>{const i=["alert","prompt","confirm"];for(let o=0;o<i.length;o++)le(t,i[o],(a,y,d)=>function(b,v){return n.current.run(a,t,v,d)})}),Zone.__load_patch("EventTarget",(t,n,i)=>{(function mt(t,n){n.patchEventPrototype(t,n)})(t,i),function pt(t,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<i.length;b++){const v=i[b],Z=y+(v+a),N=y+(v+c);o[v]={},o[v][a]=Z,o[v][c]=N}const d=t.EventTarget;d&&d.prototype&&n.patchEventTarget(t,n,[d&&d.prototype])}(t,i);const o=t.XMLHttpRequestEventTarget;o&&o.prototype&&i.patchEventTarget(t,i,[o.prototype])}),Zone.__load_patch("MutationObserver",(t,n,i)=>{ve("MutationObserver"),ve("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(t,n,i)=>{ve("IntersectionObserver")}),Zone.__load_patch("FileReader",(t,n,i)=>{ve("FileReader")}),Zone.__load_patch("on_property",(t,n,i)=>{!function Tt(t,n){if(we&&!Ue||Zone[t.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 t=Te.navigator.userAgent;if(-1!==t.indexOf("MSIE ")||-1!==t.indexOf("Trident/"))return!0}catch{}return!1}()?[{target:c,ignoreProperties:["error"]}]:[];tt(c,He(c),i&&i.concat(a),de(c))}o=o.concat(["XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","WebSocket"]);for(let c=0;c<o.length;c++){const a=n[o[c]];a&&a.prototype&&tt(a.prototype,He(a.prototype),i)}}(i,t)}),Zone.__load_patch("customElements",(t,n,i)=>{!function yt(t,n){const{isBrowser:i,isMix:o}=n.getGlobalObjects();(i||o)&&t.customElements&&"customElements"in t&&n.patchCallbacks(n,t.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(t,i)}),Zone.__load_patch("XHR",(t,n)=>{!function b(v){const p=v.XMLHttpRequest;if(!p)return;const L=p.prototype;let N=L[Ze],B=L[Ne];if(!N){const h=v.XMLHttpRequestEventTarget;if(h){const I=h.prototype;N=I[Ze],B=I[Ne]}}const H="readystatechange",J="scheduled";function q(h){const I=h.data,P=I.target;P[a]=!1,P[d]=!1;const Q=P[c];N||(N=P[Ze],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===J){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;W<ee.length;W++)ee[W]===h&&ee.splice(W,1);!I.aborted&&h.state===J&&re.call(h)},U.push(h)}else h.invoke()}else!I.aborted&&!1===P[a]&&(P[d]=!0)};return N.call(P,H,oe),P[i]||(P[i]=h),E.apply(P,I.args),P[a]=!0,h}function R(){}function _(h){const I=h.data;return I.aborted=!0,G.apply(I.target,I.args)}const K=le(L,"open",()=>function(h,I){return h[o]=0==I[2],h[y]=I[1],K.apply(h,I)}),X=j("fetchTaskAborting"),A=j("fetchTaskScheduling"),E=le(L,"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===J&&Q.invoke()}}),G=le(L,"abort",()=>function(h,I){const P=function Z(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)})}(t);const i=j("xhrTask"),o=j("xhrSync"),c=j("xhrListener"),a=j("xhrScheduled"),y=j("xhrURL"),d=j("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",t=>{t.navigator&&t.navigator.geolocation&&function at(t,n){const i=t.constructor.name;for(let o=0;o<n.length;o++){const c=n[o],a=t[c];if(a){if(!Fe(ie(t,c)))continue;t[c]=(d=>{const b=function(){return d.apply(this,Le(arguments,i+"."+c))};return ue(b,d),b})(a)}}}(t.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(t,n)=>{function i(o){return function(c){Qe(t,o).forEach(y=>{const d=t.PromiseRejectionEvent;if(d){const b=new d(o,{promise:c.promise,reason:c.rejection});y.invoke(b)}})}}t.PromiseRejectionEvent&&(n[j("unhandledPromiseRejectionHandler")]=i("unhandledrejection"),n[j("rejectionHandledHandler")]=i("rejectionhandled"))})}},ie=>{ie(ie.s=435)}]);
"use strict";(self.webpackChunkcoverage_app=self.webpackChunkcoverage_app||[]).push([[179],{445:()=>{function ve(e){return"function"==typeof e}function Yo(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 Qo=Yo(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 jr(e,n){if(e){const t=e.indexOf(n);0<=t&&e.splice(t,1)}}class xt{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._teardowns=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(ve(r))try{r()}catch(i){n=i instanceof Qo?i.errors:[i]}const{_teardowns:o}=this;if(o){this._teardowns=null;for(const i of o)try{Ku(i)}catch(s){n=n??[],s instanceof Qo?n=[...n,...s.errors]:n.push(s)}}if(n)throw new Qo(n)}}add(n){var t;if(n&&n!==this)if(this.closed)Ku(n);else{if(n instanceof xt){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._teardowns=null!==(t=this._teardowns)&&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)&&jr(t,n)}remove(n){const{_teardowns:t}=this;t&&jr(t,n),n instanceof xt&&n._removeParent(this)}}xt.EMPTY=(()=>{const e=new xt;return e.closed=!0,e})();const Yu=xt.EMPTY;function Qu(e){return e instanceof xt||e&&"closed"in e&&ve(e.remove)&&ve(e.add)&&ve(e.unsubscribe)}function Ku(e){ve(e)?e():e.unsubscribe()}const Sn={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},Ko={setTimeout(...e){const{delegate:n}=Ko;return(n?.setTimeout||setTimeout)(...e)},clearTimeout(e){const{delegate:n}=Ko;return(n?.clearTimeout||clearTimeout)(e)},delegate:void 0};function Ju(e){Ko.setTimeout(()=>{const{onUnhandledError:n}=Sn;if(!n)throw e;n(e)})}function Jo(){}const Py=Xs("C",void 0,void 0);function Xs(e,n,t){return{kind:e,value:n,error:t}}let An=null;function Xo(e){if(Sn.useDeprecatedSynchronousErrorHandling){const n=!An;if(n&&(An={errorThrown:!1,error:null}),e(),n){const{errorThrown:t,error:r}=An;if(An=null,t)throw r}}else e()}class ea extends xt{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,Qu(n)&&n.add(this)):this.destination=Hy}static create(n,t,r){return new ta(n,t,r)}next(n){this.isStopped?ra(function Ly(e){return Xs("N",e,void 0)}(n),this):this._next(n)}error(n){this.isStopped?ra(function ky(e){return Xs("E",void 0,e)}(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?ra(Py,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()}}}class ta extends ea{constructor(n,t,r){let o;if(super(),ve(n))o=n;else if(n){let i;({next:o,error:t,complete:r}=n),this&&Sn.useDeprecatedNextContext?(i=Object.create(n),i.unsubscribe=()=>this.unsubscribe()):i=n,o=o?.bind(i),t=t?.bind(i),r=r?.bind(i)}this.destination={next:o?na(o):Jo,error:na(t??Xu),complete:r?na(r):Jo}}}function na(e,n){return(...t)=>{try{e(...t)}catch(r){Sn.useDeprecatedSynchronousErrorHandling?function Vy(e){Sn.useDeprecatedSynchronousErrorHandling&&An&&(An.errorThrown=!0,An.error=e)}(r):Ju(r)}}}function Xu(e){throw e}function ra(e,n){const{onStoppedNotification:t}=Sn;t&&Ko.setTimeout(()=>t(e,n))}const Hy={closed:!0,next:Jo,error:Xu,complete:Jo},oa="function"==typeof Symbol&&Symbol.observable||"@@observable";function ia(e){return e}let qe=(()=>{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 jy(e){return e&&e instanceof ea||function By(e){return e&&ve(e.next)&&ve(e.error)&&ve(e.complete)}(e)&&Qu(e)}(t)?t:new ta(t,r,o);return Xo(()=>{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=td(r))((o,i)=>{let s;s=this.subscribe(a=>{try{t(a)}catch(l){i(l),s?.unsubscribe()}},i,o)})}_subscribe(t){var r;return null===(r=this.source)||void 0===r?void 0:r.subscribe(t)}[oa](){return this}pipe(...t){return function ed(e){return 0===e.length?ia:1===e.length?e[0]:function(t){return e.reduce((r,o)=>o(r),t)}}(t)(this)}toPromise(t){return new(t=td(t))((r,o)=>{let i;this.subscribe(s=>i=s,s=>o(s),()=>r(i))})}}return e.create=n=>new e(n),e})();function td(e){var n;return null!==(n=e??Sn.Promise)&&void 0!==n?n:Promise}const $y=Yo(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let ei=(()=>{class e extends qe{constructor(){super(),this.closed=!1,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const r=new nd(this,this);return r.operator=t,r}_throwIfClosed(){if(this.closed)throw new $y}next(t){Xo(()=>{if(this._throwIfClosed(),!this.isStopped){const r=this.observers.slice();for(const o of r)o.next(t)}})}error(t){Xo(()=>{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(){Xo(()=>{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=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?Yu:(i.push(t),new xt(()=>jr(i,t)))}_checkFinalizedStatuses(t){const{hasError:r,thrownError:o,isStopped:i}=this;r?t.error(o):i&&t.complete()}asObservable(){const t=new qe;return t.source=this,t}}return e.create=(n,t)=>new nd(n,t),e})();class nd extends ei{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:Yu}}class Uy extends ei{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 Tn(e){return n=>{if(function zy(e){return ve(e?.lift)}(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")}}class Nn extends ea{constructor(n,t,r,o,i){super(n),this.onFinalize=i,this._next=t?function(s){try{t(s)}catch(a){n.error(a)}}:super._next,this._error=o?function(s){try{o(s)}catch(a){n.error(a)}finally{this.unsubscribe()}}:super._error,this._complete=r?function(){try{r()}catch(s){n.error(s)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;const{closed:t}=this;super.unsubscribe(),!t&&(null===(n=this.onFinalize)||void 0===n||n.call(this))}}function sa(e,n){return Tn((t,r)=>{let o=0;t.subscribe(new Nn(r,i=>{r.next(e.call(n,i,o++))}))})}function xn(e){return this instanceof xn?(this.v=e,this):new xn(e)}function Zy(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 id(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,l){!function o(i,s,a,l){Promise.resolve(l).then(function(c){i({value:c,done:a})},s)}(a,l,(s=e[i](s)).done,s.value)})}}}const sd=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function ad(e){return ve(e?.then)}function ld(e){return ve(e[oa])}function cd(e){return Symbol.asyncIterator&&ve(e?.[Symbol.asyncIterator])}function ud(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 dd=function Qy(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function fd(e){return ve(e?.[dd])}function hd(e){return function qy(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(h){r[h]&&(o[h]=function(p){return new Promise(function(v,w){i.push([h,p,v,w])>1||a(h,p)})})}function a(h,p){try{!function l(h){h.value instanceof xn?Promise.resolve(h.value.v).then(c,u):d(i[0][2],h)}(r[h](p))}catch(v){d(i[0][3],v)}}function c(h){a("next",h)}function u(h){a("throw",h)}function d(h,p){h(p),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 xn(t.read());if(o)return yield xn(void 0);yield yield xn(r)}}finally{t.releaseLock()}})}function pd(e){return ve(e?.getReader)}function On(e){if(e instanceof qe)return e;if(null!=e){if(ld(e))return function Ky(e){return new qe(n=>{const t=e[oa]();if(ve(t.subscribe))return t.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(sd(e))return function Jy(e){return new qe(n=>{for(let t=0;t<e.length&&!n.closed;t++)n.next(e[t]);n.complete()})}(e);if(ad(e))return function Xy(e){return new qe(n=>{e.then(t=>{n.closed||(n.next(t),n.complete())},t=>n.error(t)).then(null,Ju)})}(e);if(cd(e))return gd(e);if(fd(e))return function eC(e){return new qe(n=>{for(const t of e)if(n.next(t),n.closed)return;n.complete()})}(e);if(pd(e))return function tC(e){return gd(hd(e))}(e)}throw ud(e)}function gd(e){return new qe(n=>{(function nC(e,n){var t,r,o,i;return function Gy(e,n,t,r){return new(t||(t=Promise))(function(i,s){function a(u){try{c(r.next(u))}catch(d){s(d)}}function l(u){try{c(r.throw(u))}catch(d){s(d)}}function c(u){u.done?i(u.value):function o(i){return i instanceof t?i:new t(function(s){s(i)})}(u.value).then(a,l)}c((r=r.apply(e,n||[])).next())})}(this,void 0,void 0,function*(){try{for(t=Zy(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 ln(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 la(e,n,t=1/0){return ve(n)?la((r,o)=>sa((i,s)=>n(r,i,o,s))(On(e(r,o))),t):("number"==typeof n&&(t=n),Tn((r,o)=>function rC(e,n,t,r,o,i,s,a){const l=[];let c=0,u=0,d=!1;const h=()=>{d&&!l.length&&!c&&n.complete()},p=w=>c<r?v(w):l.push(w),v=w=>{i&&n.next(w),c++;let M=!1;On(t(w,u++)).subscribe(new Nn(n,A=>{o?.(A),i?p(A):n.next(A)},()=>{M=!0},void 0,()=>{if(M)try{for(c--;l.length&&c<r;){const A=l.shift();s?ln(n,s,()=>v(A)):v(A)}h()}catch(A){n.error(A)}}))};return e.subscribe(new Nn(n,p,()=>{d=!0,h()})),()=>{a?.()}}(r,o,e,t)))}const ca=new qe(e=>e.complete());function ua(e){return e[e.length-1]}function md(e){return function sC(e){return e&&ve(e.schedule)}(ua(e))?e.pop():void 0}function vd(e,n=0){return Tn((t,r)=>{t.subscribe(new Nn(r,o=>ln(r,e,()=>r.next(o),n),()=>ln(r,e,()=>r.complete(),n),o=>ln(r,e,()=>r.error(o),n)))})}function _d(e,n=0){return Tn((t,r)=>{r.add(e.schedule(()=>t.subscribe(r),n))})}function yd(e,n){if(!e)throw new Error("Iterable cannot be null");return new qe(t=>{ln(t,n,()=>{const r=e[Symbol.asyncIterator]();ln(t,n,()=>{r.next().then(o=>{o.done?t.complete():t.next(o.value)})},0,!0)})})}function ti(e,n){return n?function pC(e,n){if(null!=e){if(ld(e))return function cC(e,n){return On(e).pipe(_d(n),vd(n))}(e,n);if(sd(e))return function dC(e,n){return new qe(t=>{let r=0;return n.schedule(function(){r===e.length?t.complete():(t.next(e[r++]),t.closed||this.schedule())})})}(e,n);if(ad(e))return function uC(e,n){return On(e).pipe(_d(n),vd(n))}(e,n);if(cd(e))return yd(e,n);if(fd(e))return function fC(e,n){return new qe(t=>{let r;return ln(t,n,()=>{r=e[dd](),ln(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)}),()=>ve(r?.return)&&r.return()})}(e,n);if(pd(e))return function hC(e,n){return yd(hd(e),n)}(e,n)}throw ud(e)}(e,n):On(e)}function Cd(e={}){const{connector:n=(()=>new ei),resetOnError:t=!0,resetOnComplete:r=!0,resetOnRefCountZero:o=!0}=e;return i=>{let s=null,a=null,l=null,c=0,u=!1,d=!1;const h=()=>{a?.unsubscribe(),a=null},p=()=>{h(),s=l=null,u=d=!1},v=()=>{const w=s;p(),w?.unsubscribe()};return Tn((w,M)=>{c++,!d&&!u&&h();const A=l=l??n();M.add(()=>{c--,0===c&&!d&&!u&&(a=da(v,o))}),A.subscribe(M),s||(s=new ta({next:D=>A.next(D),error:D=>{d=!0,h(),a=da(p,t,D),A.error(D)},complete:()=>{u=!0,h(),a=da(p,r),A.complete()}}),ti(w).subscribe(s))})(i)}}function da(e,n,...t){return!0===n?(e(),null):!1===n?null:n(...t).pipe(function vC(e){return e<=0?()=>ca:Tn((n,t)=>{let r=0;n.subscribe(new Nn(t,o=>{++r<=e&&(t.next(o),e<=r&&t.complete())}))})}(1)).subscribe(()=>e())}function yC(e,n){return e===n}function le(e){for(let n in e)if(e[n]===le)return n;throw Error("Could not find renamed property on target object.")}function fa(e,n){for(const t in n)n.hasOwnProperty(t)&&!e.hasOwnProperty(t)&&(e[t]=n[t])}function xe(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(xe).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 ha(e,n){return null==e||""===e?null===n?"":n:null==n||""===n?e:e+" "+n}const CC=le({__forward_ref__:le});function de(e){return e.__forward_ref__=de,e.toString=function(){return xe(this())},e}function j(e){return pa(e)?e():e}function pa(e){return"function"==typeof e&&e.hasOwnProperty(CC)&&e.__forward_ref__===de}function ga(e){return e&&!!e.\u0275providers}const Dd="https://g.co/ng/security#xss";class S extends Error{constructor(n,t){super(function ni(e,n){return`NG0${Math.abs(e)}${n?": "+n:""}`}(n,t)),this.code=n}}function $(e){return"string"==typeof e?e:null==e?"":String(e)}function ri(e,n){throw new S(-201,!1)}function gt(e,n){null==e&&function ae(e,n,t,r){throw new Error(`ASSERTION ERROR: ${e}`+(null==r?"":` [Expected=> ${t} ${r} ${n} <=Actual]`))}(n,e,null,"!=")}function ue(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function Wt(e){return{providers:e.providers||[],imports:e.imports||[]}}function oi(e){return wd(e,ii)||wd(e,Ed)}function wd(e,n){return e.hasOwnProperty(n)?e[n]:null}function bd(e){return e&&(e.hasOwnProperty(ma)||e.hasOwnProperty(SC))?e[ma]:null}const ii=le({\u0275prov:le}),ma=le({\u0275inj:le}),Ed=le({ngInjectableDef:le}),SC=le({ngInjectorDef:le});var H=(()=>((H=H||{})[H.Default=0]="Default",H[H.Host=1]="Host",H[H.Self=2]="Self",H[H.SkipSelf=4]="SkipSelf",H[H.Optional=8]="Optional",H))();let va;function Xe(e){const n=va;return va=e,n}function Id(e,n,t){const r=oi(e);return r&&"root"==r.providedIn?void 0===r.value?r.value=r.factory():r.value:t&H.Optional?null:void 0!==n?n:void ri(xe(e))}const fe=(()=>typeof globalThis<"u"&&globalThis||typeof global<"u"&&global||typeof window<"u"&&window||typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&self)(),$r={},_a="__NG_DI_FLAG__",si="ngTempTokenPath",TC=/\n/gm,Sd="__source";let Kn;function un(e){const n=Kn;return Kn=e,n}function OC(e,n=H.Default){if(void 0===Kn)throw new S(-203,!1);return null===Kn?Id(e,void 0,n):Kn.get(e,n&H.Optional?null:void 0,n)}function ne(e,n=H.Default){return(function Md(){return va}()||OC)(j(e),n)}function pe(e,n=H.Default){return ne(e,ai(n))}function ai(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function ya(e){const n=[];for(let t=0;t<e.length;t++){const r=j(e[t]);if(Array.isArray(r)){if(0===r.length)throw new S(900,!1);let o,i=H.Default;for(let s=0;s<r.length;s++){const a=r[s],l=FC(a);"number"==typeof l?-1===l?o=a.token:i|=l:o=a}n.push(ne(o,i))}else n.push(ne(r))}return n}function Ur(e,n){return e[_a]=n,e.prototype[_a]=n,e}function FC(e){return e[_a]}function qt(e){return{toString:e}.toString()}var Ot=(()=>((Ot=Ot||{})[Ot.OnPush=0]="OnPush",Ot[Ot.Default=1]="Default",Ot))(),ct=(()=>{return(e=ct||(ct={}))[e.Emulated=0]="Emulated",e[e.None=2]="None",e[e.ShadowDom=3]="ShadowDom",ct;var e})();const Zt={},oe=[],li=le({\u0275cmp:le}),Ca=le({\u0275dir:le}),Da=le({\u0275pipe:le}),Td=le({\u0275mod:le}),Yt=le({\u0275fac:le}),zr=le({__NG_ELEMENT_ID__:le}),Nd=le({__NG_ENV_ID__:le});function xd(e,n,t){let r=e.length;for(;;){const o=e.indexOf(n,t);if(-1===o)return o;if(0===o||e.charCodeAt(o-1)<=32){const i=n.length;if(o+i===r||e.charCodeAt(o+i)<=32)return o}t=o+1}}function wa(e,n,t){let r=0;for(;r<t.length;){const o=t[r];if("number"==typeof o){if(0!==o)break;r++;const i=t[r++],s=t[r++],a=t[r++];e.setAttribute(n,s,a,i)}else{const i=o,s=t[++r];Fd(i)?e.setProperty(n,i,s):e.setAttribute(n,i,s),r++}}return r}function Od(e){return 3===e||4===e||6===e}function Fd(e){return 64===e.charCodeAt(0)}function Gr(e,n){if(null!==n&&0!==n.length)if(null===e||0===e.length)e=n.slice();else{let t=-1;for(let r=0;r<n.length;r++){const o=n[r];"number"==typeof o?t=o:0===t||Rd(e,t,o,null,-1===t||2===t?n[++r]:null)}}return e}function Rd(e,n,t,r,o){let i=0,s=e.length;if(-1===n)s=-1;else for(;i<e.length;){const a=e[i++];if("number"==typeof a){if(a===n){s=-1;break}if(a>n){s=i-1;break}}}for(;i<e.length;){const a=e[i];if("number"==typeof a)break;if(a===t){if(null===r)return void(null!==o&&(e[i+1]=o));if(r===e[i+1])return void(e[i+2]=o)}i++,null!==r&&i++,null!==o&&i++}-1!==s&&(e.splice(s,0,n),i=s+1),e.splice(i++,0,t),null!==r&&e.splice(i++,0,r),null!==o&&e.splice(i++,0,o)}const Pd="ng-template";function kC(e,n,t){let r=0,o=!0;for(;r<e.length;){let i=e[r++];if("string"==typeof i&&o){const s=e[r++];if(t&&"class"===i&&-1!==xd(s.toLowerCase(),n,0))return!0}else{if(1===i){for(;r<e.length&&"string"==typeof(i=e[r++]);)if(i.toLowerCase()===n)return!0;return!1}"number"==typeof i&&(o=!1)}}return!1}function kd(e){return 4===e.type&&e.value!==Pd}function LC(e,n,t){return n===(4!==e.type||t?e.value:Pd)}function VC(e,n,t){let r=4;const o=e.attrs||[],i=function jC(e){for(let n=0;n<e.length;n++)if(Od(e[n]))return n;return e.length}(o);let s=!1;for(let a=0;a<n.length;a++){const l=n[a];if("number"!=typeof l){if(!s)if(4&r){if(r=2|1&r,""!==l&&!LC(e,l,t)||""===l&&1===n.length){if(Ct(r))return!1;s=!0}}else{const c=8&r?l:n[++a];if(8&r&&null!==e.attrs){if(!kC(e.attrs,c,t)){if(Ct(r))return!1;s=!0}continue}const d=HC(8&r?"class":l,o,kd(e),t);if(-1===d){if(Ct(r))return!1;s=!0;continue}if(""!==c){let h;h=d>i?"":o[d+1].toLowerCase();const p=8&r?h:null;if(p&&-1!==xd(p,c,0)||2&r&&c!==h){if(Ct(r))return!1;s=!0}}}}else{if(!s&&!Ct(r)&&!Ct(l))return!1;if(s&&Ct(l))continue;s=!1,r=l|1&r}}return Ct(r)||s}function Ct(e){return 0==(1&e)}function HC(e,n,t,r){if(null===n)return-1;let o=0;if(r||!t){let i=!1;for(;o<n.length;){const s=n[o];if(s===e)return o;if(3===s||6===s)i=!0;else{if(1===s||2===s){let a=n[++o];for(;"string"==typeof a;)a=n[++o];continue}if(4===s)break;if(0===s){o+=4;continue}}o+=i?1:2}return-1}return function $C(e,n){let t=e.indexOf(4);if(t>-1)for(t++;t<e.length;){const r=e[t];if("number"==typeof r)return-1;if(r===n)return t;t++}return-1}(n,e)}function Ld(e,n,t=!1){for(let r=0;r<n.length;r++)if(VC(e,n[r],t))return!0;return!1}function Vd(e,n){return e?":not("+n.trim()+")":n}function zC(e){let n=e[0],t=1,r=2,o="",i=!1;for(;t<e.length;){let s=e[t];if("string"==typeof s)if(2&r){const a=e[++t];o+="["+s+(a.length>0?'="'+a+'"':"")+"]"}else 8&r?o+="."+s:4&r&&(o+=" "+s);else""!==o&&!Ct(s)&&(n+=Vd(i,o),o=""),r=s,i=i||!Ct(r);t++}return""!==o&&(n+=Vd(i,o)),n}function Qt(e){return qt(()=>{const n=Bd(e),t={...n,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===Ot.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&e.dependencies||null,getStandaloneInjector:null,data:e.data||{},encapsulation:e.encapsulation||ct.Emulated,styles:e.styles||oe,_:null,schemas:e.schemas||null,tView:null,id:""};jd(t);const r=e.dependencies;return t.directiveDefs=ci(r,!1),t.pipeDefs=ci(r,!0),t.id=function JC(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.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 ZC(e){return ie(e)||je(e)}function YC(e){return null!==e}function dn(e){return qt(()=>({type:e.type,bootstrap:e.bootstrap||oe,declarations:e.declarations||oe,imports:e.imports||oe,exports:e.exports||oe,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function Hd(e,n){if(null==e)return Zt;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 U(e){return qt(()=>{const n=Bd(e);return jd(n),n})}function et(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 ie(e){return e[li]||null}function je(e){return e[Ca]||null}function tt(e){return e[Da]||null}function Bd(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,exportAs:e.exportAs||null,standalone:!0===e.standalone,selectors:e.selectors||oe,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:Hd(e.inputs,n),outputs:Hd(e.outputs)}}function jd(e){e.features?.forEach(n=>n(e))}function ci(e,n){if(!e)return null;const t=n?tt:ZC;return()=>("function"==typeof e?e():e).map(r=>t(r)).filter(YC)}const Oe=0,T=1,W=2,_e=3,Dt=4,Fn=5,$e=6,Jn=7,De=8,Xn=9,Rn=10,z=11,qr=12,$d=13,er=14,Se=15,Zr=16,tr=17,Ft=18,Yr=19,Ud=20,fn=21,Kt=22,ui=23,di=24,X=25,ba=1,zd=2,Rt=7,fi=8,nr=9,He=11;function dt(e){return Array.isArray(e)&&"object"==typeof e[ba]}function nt(e){return Array.isArray(e)&&!0===e[ba]}function Ea(e){return 0!=(4&e.flags)}function Pn(e){return e.componentOffset>-1}function hi(e){return 1==(1&e.flags)}function wt(e){return!!e.template}function Ma(e){return 0!=(512&e[W])}function kn(e,n){return e.hasOwnProperty(Yt)?e[Yt]:null}let rD=fe.WeakRef??class nD{constructor(n){this.ref=n}deref(){return this.ref}},iD=0,Pt=null,pi=!1;function Le(e){const n=Pt;return Pt=e,n}class Yd{constructor(){this.id=iD++,this.ref=function oD(e){return new rD(e)}(this),this.producers=new Map,this.consumers=new Map,this.trackingVersion=0,this.valueVersion=0}consumerPollProducersForChange(){for(const[n,t]of this.producers){const r=t.producerNode.deref();if(void 0!==r&&t.atTrackingVersion===this.trackingVersion){if(r.producerPollStatus(t.seenValueVersion))return!0}else this.producers.delete(n),r?.consumers.delete(this.id)}return!1}producerMayHaveChanged(){const n=pi;pi=!0;try{for(const[t,r]of this.consumers){const o=r.consumerNode.deref();void 0!==o&&o.trackingVersion===r.atTrackingVersion?o.onConsumerDependencyMayHaveChanged():(this.consumers.delete(t),o?.producers.delete(this.id))}}finally{pi=n}}producerAccessed(){if(pi)throw new Error("");if(null===Pt)return;let n=Pt.producers.get(this.id);void 0===n?(n={consumerNode:Pt.ref,producerNode:this.ref,seenValueVersion:this.valueVersion,atTrackingVersion:Pt.trackingVersion},Pt.producers.set(this.id,n),this.consumers.set(Pt.id,n)):(n.seenValueVersion=this.valueVersion,n.atTrackingVersion=Pt.trackingVersion)}get hasProducers(){return this.producers.size>0}get producerUpdatesAllowed(){return!1!==Pt?.consumerAllowSignalWrites}producerPollStatus(n){return this.valueVersion!==n||(this.onProducerUpdateValueVersion(),this.valueVersion!==n)}}let Qd=null;const Jd=()=>{};class cD extends Yd{constructor(n,t,r){super(),this.watch=n,this.schedule=t,this.dirty=!1,this.cleanupFn=Jd,this.registerOnCleanup=o=>{this.cleanupFn=o},this.consumerAllowSignalWrites=r}notify(){this.dirty||this.schedule(this),this.dirty=!0}onConsumerDependencyMayHaveChanged(){this.notify()}onProducerUpdateValueVersion(){}run(){if(this.dirty=!1,0!==this.trackingVersion&&!this.consumerPollProducersForChange())return;const n=Le(this);this.trackingVersion++;try{this.cleanupFn(),this.cleanupFn=Jd,this.watch(this.registerOnCleanup)}finally{Le(n)}}cleanup(){this.cleanupFn()}}class uD{constructor(n,t,r){this.previousValue=n,this.currentValue=t,this.firstChange=r}isFirstChange(){return this.firstChange}}function Jt(){return Xd}function Xd(e){return e.type.prototype.ngOnChanges&&(e.setInput=fD),dD}function dD(){const e=tf(this),n=e?.current;if(n){const t=e.previous;if(t===Zt)e.previous=n;else for(let r in n)t[r]=n[r];e.current=null,this.ngOnChanges(n)}}function fD(e,n,t,r){const o=this.declaredInputs[t],i=tf(e)||function hD(e,n){return e[ef]=n}(e,{previous:Zt,current:null}),s=i.current||(i.current={}),a=i.previous,l=a[o];s[o]=new uD(l&&l.currentValue,n,a===Zt),e[r]=n}Jt.ngInherit=!0;const ef="__ngSimpleChanges__";function tf(e){return e[ef]||null}const kt=function(e,n,t){};function ge(e){for(;Array.isArray(e);)e=e[Oe];return e}function vi(e,n){return ge(n[e])}function rt(e,n){return ge(n[e.index])}function of(e,n){return e.data[n]}function ot(e,n){const t=n[e];return dt(t)?t:t[Oe]}function _i(e){return 128==(128&e[W])}function hn(e,n){return null==n?null:e[n]}function sf(e){e[tr]=0}function yD(e){1024&e[W]||(e[W]|=1024,lf(e,1))}function af(e){1024&e[W]&&(e[W]&=-1025,lf(e,-1))}function lf(e,n){let t=e[_e];if(null===t)return;t[Fn]+=n;let r=t;for(t=t[_e];null!==t&&(1===n&&1===r[Fn]||-1===n&&0===r[Fn]);)t[Fn]+=n,r=t,t=t[_e]}const V={lFrame:yf(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function df(){return V.bindingsEnabled}function E(){return V.lFrame.lView}function re(){return V.lFrame.tView}function Y(e){return V.lFrame.contextLView=e,e[De]}function Q(e){return V.lFrame.contextLView=null,e}function Be(){let e=ff();for(;null!==e&&64===e.type;)e=e.parent;return e}function ff(){return V.lFrame.currentTNode}function Lt(e,n){const t=V.lFrame;t.currentTNode=e,t.isParent=n}function xa(){return V.lFrame.isParent}function Oa(){V.lFrame.isParent=!1}function Ze(){const e=V.lFrame;let n=e.bindingRootIndex;return-1===n&&(n=e.bindingRootIndex=e.tView.bindingStartIndex),n}function ir(){return V.lFrame.bindingIndex++}function en(e){const n=V.lFrame,t=n.bindingIndex;return n.bindingIndex=n.bindingIndex+e,t}function xD(e,n){const t=V.lFrame;t.bindingIndex=t.bindingRootIndex=e,Fa(n)}function Fa(e){V.lFrame.currentDirectiveIndex=e}function Pa(e){V.lFrame.currentQueryIndex=e}function FD(e){const n=e[T];return 2===n.type?n.declTNode:1===n.type?e[$e]:null}function vf(e,n,t){if(t&H.SkipSelf){let o=n,i=e;for(;!(o=o.parent,null!==o||t&H.Host||(o=FD(i),null===o||(i=i[er],10&o.type))););if(null===o)return!1;n=o,e=i}const r=V.lFrame=_f();return r.currentTNode=n,r.lView=e,!0}function ka(e){const n=_f(),t=e[T];V.lFrame=n,n.currentTNode=t.firstChild,n.lView=e,n.tView=t,n.contextLView=e,n.bindingIndex=t.bindingStartIndex,n.inI18n=!1}function _f(){const e=V.lFrame,n=null===e?null:e.child;return null===n?yf(e):n}function yf(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 Cf(){const e=V.lFrame;return V.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const Df=Cf;function La(){const e=Cf();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 Ye(){return V.lFrame.selectedIndex}function Ln(e){V.lFrame.selectedIndex=e}function ye(){const e=V.lFrame;return of(e.tView,e.selectedIndex)}let Ef=!0;function yi(){return Ef}function pn(e){Ef=e}function Ci(e,n){for(let t=n.directiveStart,r=n.directiveEnd;t<r;t++){const i=e.data[t].type.prototype,{ngAfterContentInit:s,ngAfterContentChecked:a,ngAfterViewInit:l,ngAfterViewChecked:c,ngOnDestroy:u}=i;s&&(e.contentHooks??=[]).push(-t,s),a&&((e.contentHooks??=[]).push(t,a),(e.contentCheckHooks??=[]).push(t,a)),l&&(e.viewHooks??=[]).push(-t,l),c&&((e.viewHooks??=[]).push(t,c),(e.viewCheckHooks??=[]).push(t,c)),null!=u&&(e.destroyHooks??=[]).push(t,u)}}function Di(e,n,t){Mf(e,n,3,t)}function wi(e,n,t,r){(3&e[W])===t&&Mf(e,n,t,r)}function Va(e,n){let t=e[W];(3&t)===n&&(t&=4095,t+=1,e[W]=t)}function Mf(e,n,t,r){const i=r??-1,s=n.length-1;let a=0;for(let l=void 0!==r?65535&e[tr]:0;l<s;l++)if("number"==typeof n[l+1]){if(a=n[l],null!=r&&a>=r)break}else n[l]<0&&(e[tr]+=65536),(a<i||-1==i)&&(BD(e,t,n,l),e[tr]=(4294901760&e[tr])+l+2),l++}function If(e,n){kt(4,e,n);const t=Le(null);try{n.call(e)}finally{Le(t),kt(5,e,n)}}function BD(e,n,t,r){const o=t[r]<0,i=t[r+1],a=e[o?-t[r]:t[r]];o?e[W]>>12<e[tr]>>16&&(3&e[W])===n&&(e[W]+=4096,If(a,i)):If(a,i)}const sr=-1;class Jr{constructor(n,t,r){this.factory=n,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=r}}function Sf(e){return e!==sr}function bi(e){return 32767&e}function Ei(e,n){let t=function zD(e){return e>>16}(e),r=n;for(;t>0;)r=r[er],t--;return r}let Ba=!0;function Mi(e){const n=Ba;return Ba=e,n}const Af=255,Tf=5;let GD=0;const Vt={};function Ii(e,n){const t=Nf(e,n);if(-1!==t)return t;const r=n[T];r.firstCreatePass&&(e.injectorIndex=n.length,ja(r.data,e),ja(n,null),ja(r.blueprint,null));const o=$a(e,n),i=e.injectorIndex;if(Sf(o)){const s=bi(o),a=Ei(o,n),l=a[T].data;for(let c=0;c<8;c++)n[i+c]=a[s+c]|l[s+c]}return n[i+8]=o,i}function ja(e,n){e.push(0,0,0,0,0,0,0,0,n)}function Nf(e,n){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===n[e.injectorIndex+8]?-1:e.injectorIndex}function $a(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=Lf(o),null===r)return sr;if(t++,o=o[er],-1!==r.injectorIndex)return r.injectorIndex|t<<16}return sr}function Ua(e,n,t){!function WD(e,n,t){let r;"string"==typeof t?r=t.charCodeAt(0)||0:t.hasOwnProperty(zr)&&(r=t[zr]),null==r&&(r=t[zr]=GD++);const o=r&Af;n.data[e+(o>>Tf)]|=1<<o}(e,n,t)}function xf(e,n,t){if(t&H.Optional||void 0!==e)return e;ri()}function Of(e,n,t,r){if(t&H.Optional&&void 0===r&&(r=null),!(t&(H.Self|H.Host))){const o=e[Xn],i=Xe(void 0);try{return o?o.get(n,r,t&H.Optional):Id(n,r,t&H.Optional)}finally{Xe(i)}}return xf(r,0,t)}function Ff(e,n,t,r=H.Default,o){if(null!==e){if(2048&n[W]&&!(r&H.Self)){const s=function KD(e,n,t,r,o){let i=e,s=n;for(;null!==i&&null!==s&&2048&s[W]&&!(512&s[W]);){const a=Rf(i,s,t,r|H.Self,Vt);if(a!==Vt)return a;let l=i.parent;if(!l){const c=s[Ud];if(c){const u=c.get(t,Vt,r);if(u!==Vt)return u}l=Lf(s),s=s[er]}i=l}return o}(e,n,t,r,Vt);if(s!==Vt)return s}const i=Rf(e,n,t,r,Vt);if(i!==Vt)return i}return Of(n,t,r,o)}function Rf(e,n,t,r,o){const i=function YD(e){if("string"==typeof e)return e.charCodeAt(0)||0;const n=e.hasOwnProperty(zr)?e[zr]:void 0;return"number"==typeof n?n>=0?n&Af:QD:n}(t);if("function"==typeof i){if(!vf(n,e,r))return r&H.Host?xf(o,0,r):Of(n,t,r,o);try{const s=i(r);if(null!=s||r&H.Optional)return s;ri()}finally{Df()}}else if("number"==typeof i){let s=null,a=Nf(e,n),l=sr,c=r&H.Host?n[Se][$e]:null;for((-1===a||r&H.SkipSelf)&&(l=-1===a?$a(e,n):n[a+8],l!==sr&&kf(r,!1)?(s=n[T],a=bi(l),n=Ei(l,n)):a=-1);-1!==a;){const u=n[T];if(Pf(i,a,u.data)){const d=ZD(a,n,t,s,r,c);if(d!==Vt)return d}l=n[a+8],l!==sr&&kf(r,n[T].data[a+8]===c)&&Pf(i,a,n)?(s=u,a=bi(l),n=Ei(l,n)):a=-1}}return o}function ZD(e,n,t,r,o,i){const s=n[T],a=s.data[e+8],u=function Si(e,n,t,r,o){const i=e.providerIndexes,s=n.data,a=1048575&i,l=e.directiveStart,u=i>>20,h=o?a+u:e.directiveEnd;for(let p=r?a:a+u;p<h;p++){const v=s[p];if(p<l&&t===v||p>=l&&v.type===t)return p}if(o){const p=s[l];if(p&&wt(p)&&p.type===t)return l}return null}(a,s,t,null==r?Pn(a)&&Ba:r!=s&&0!=(3&a.type),o&H.Host&&i===a);return null!==u?Vn(n,s,u,a):Vt}function Vn(e,n,t,r){let o=e[t];const i=n.data;if(function jD(e){return e instanceof Jr}(o)){const s=o;s.resolving&&function DC(e,n){const t=n?`. Dependency path: ${n.join(" > ")} > ${e}`:"";throw new S(-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():$(e)}(i[t]));const a=Mi(s.canSeeViewProviders);s.resolving=!0;const l=s.injectImpl?Xe(s.injectImpl):null;vf(e,r,H.Default);try{o=e[t]=s.factory(void 0,i,e,r),n.firstCreatePass&&t>=r.directiveStart&&function HD(e,n,t){const{ngOnChanges:r,ngOnInit:o,ngDoCheck:i}=n.type.prototype;if(r){const s=Xd(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!==l&&Xe(l),Mi(a),s.resolving=!1,Df()}}return o}function Pf(e,n,t){return!!(t[n+(e>>Tf)]&1<<e)}function kf(e,n){return!(e&H.Self||e&H.Host&&n)}class ar{constructor(n,t){this._tNode=n,this._lView=t}get(n,t,r){return Ff(this._tNode,this._lView,n,ai(r),t)}}function QD(){return new ar(Be(),E())}function Ue(e){return qt(()=>{const n=e.prototype.constructor,t=n[Yt]||za(n),r=Object.prototype;let o=Object.getPrototypeOf(e.prototype).constructor;for(;o&&o!==r;){const i=o[Yt]||za(o);if(i&&i!==t)return i;o=Object.getPrototypeOf(o)}return i=>new i})}function za(e){return pa(e)?()=>{const n=za(j(e));return n&&n()}:kn(e)}function Lf(e){const n=e[T],t=n.type;return 2===t?n.declTNode:1===t?e[$e]:null}const cr="__parameters__";function dr(e,n,t){return qt(()=>{const r=function Wa(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(l,c,u){const d=l.hasOwnProperty(cr)?l[cr]:Object.defineProperty(l,cr,{value:[]})[cr];for(;d.length<=u;)d.push(null);return(d[u]=d[u]||[]).push(s),l}}return t&&(o.prototype=Object.create(t.prototype)),o.prototype.ngMetadataName=e,o.annotationCls=o,o})}function to(e,n){e.forEach(t=>Array.isArray(t)?to(t,n):n(t))}function Hf(e,n,t){n>=e.length?e.push(t):e.splice(n,0,t)}function Ai(e,n){return n>=e.length-1?e.pop():e.splice(n,1)[0]}function ft(e,n,t){let r=fr(e,n);return r>=0?e[1|r]=t:(r=~r,function nw(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 qa(e,n){const t=fr(e,n);if(t>=0)return e[1|t]}function fr(e,n){return function Bf(e,n,t){let r=0,o=e.length>>t;for(;o!==r;){const i=r+(o-r>>1),s=e[i<<t];if(n===s)return i<<t;s>n?o=i:r=i+1}return~(o<<t)}(e,n,1)}const Ya=Ur(dr("Optional"),8),Qa=Ur(dr("SkipSelf"),4);function Fi(e){return 128==(128&e.flags)}var it=(()=>((it=it||{})[it.Important=1]="Important",it[it.DashCase=2]="DashCase",it))();const bw=/^>|^->|<!--|-->|--!>|<!-$/g,Ew=/(<|>)/,Mw="\u200b$1\u200b";const tl=new Map;let Iw=0;const rl="__ngContext__";function ze(e,n){dt(n)?(e[rl]=n[Yr],function Aw(e){tl.set(e[Yr],e)}(n)):e[rl]=n}let ol;function il(e,n){return ol(e,n)}function io(e){const n=e[_e];return nt(n)?n[_e]:n}function sl(e){return ih(e[qr])}function al(e){return ih(e[Dt])}function ih(e){for(;null!==e&&!nt(e);)e=e[Dt];return e}function gr(e,n,t,r,o){if(null!=r){let i,s=!1;nt(r)?i=r:dt(r)&&(s=!0,r=r[Oe]);const a=ge(r);0===e&&null!==t?null==o?uh(n,t,a):Hn(n,t,a,o||null,!0):1===e&&null!==t?Hn(n,t,a,o||null,!0):2===e?function Hi(e,n,t){const r=Li(e,n);r&&function qw(e,n,t,r){e.removeChild(n,t,r)}(e,r,n,t)}(n,a,s):3===e&&n.destroyNode(a),null!=i&&function Qw(e,n,t,r,o){const i=t[Rt];i!==ge(t)&&gr(n,e,r,i,o);for(let a=He;a<t.length;a++){const l=t[a];ao(l[T],l,e,n,r,i)}}(n,e,i,t,o)}}function ll(e,n){return e.createComment(function Kf(e){return e.replace(bw,n=>n.replace(Ew,Mw))}(n))}function ki(e,n,t){return e.createElement(n,t)}function ah(e,n){const t=e[nr],r=t.indexOf(n);af(n),t.splice(r,1)}function cl(e,n){if(e.length<=He)return;const t=He+n,r=e[t];if(r){const o=r[Zr];null!==o&&o!==e&&ah(o,r),n>0&&(e[t-1][Dt]=r[Dt]);const i=Ai(e,He+n);!function Hw(e,n){ao(e,n,n[z],2,null,null),n[Oe]=null,n[$e]=null}(r[T],r);const s=i[Ft];null!==s&&s.detachView(i[T]),r[_e]=null,r[Dt]=null,r[W]&=-129}return r}function lh(e,n){if(!(256&n[W])){const t=n[z];n[ui]?.destroy(),n[di]?.destroy(),t.destroyNode&&ao(e,n,t,3,null,null),function $w(e){let n=e[qr];if(!n)return ul(e[T],e);for(;n;){let t=null;if(dt(n))t=n[qr];else{const r=n[He];r&&(t=r)}if(!t){for(;n&&!n[Dt]&&n!==e;)dt(n)&&ul(n[T],n),n=n[_e];null===n&&(n=e),dt(n)&&ul(n[T],n),t=n&&n[Dt]}n=t}}(n)}}function ul(e,n){if(!(256&n[W])){n[W]&=-129,n[W]|=256,function Ww(e,n){let t;if(null!=e&&null!=(t=e.destroyHooks))for(let r=0;r<t.length;r+=2){const o=n[t[r]];if(!(o instanceof Jr)){const i=t[r+1];if(Array.isArray(i))for(let s=0;s<i.length;s+=2){const a=o[i[s]],l=i[s+1];kt(4,a,l);try{l.call(a)}finally{kt(5,a,l)}}else{kt(4,o,i);try{i.call(o)}finally{kt(5,o,i)}}}}}(e,n),function Gw(e,n){const t=e.cleanup,r=n[Jn];if(null!==t)for(let i=0;i<t.length-1;i+=2)if("string"==typeof t[i]){const s=t[i+3];s>=0?r[s]():r[-s].unsubscribe(),i+=2}else t[i].call(r[t[i+1]]);null!==r&&(n[Jn]=null);const o=n[fn];if(null!==o){n[fn]=null;for(let i=0;i<o.length;i++)(0,o[i])()}}(e,n),1===n[T].type&&n[z].destroy();const t=n[Zr];if(null!==t&&nt(n[_e])){t!==n[_e]&&ah(t,n);const r=n[Ft];null!==r&&r.detachView(e)}!function Tw(e){tl.delete(e[Yr])}(n)}}function dl(e,n,t){return function ch(e,n,t){let r=n;for(;null!==r&&40&r.type;)r=(n=r).parent;if(null===r)return t[Oe];{const{componentOffset:o}=r;if(o>-1){const{encapsulation:i}=e.data[r.directiveStart+o];if(i===ct.None||i===ct.Emulated)return null}return rt(r,t)}}(e,n.parent,t)}function Hn(e,n,t,r,o){e.insertBefore(n,t,r,o)}function uh(e,n,t){e.appendChild(n,t)}function dh(e,n,t,r,o){null!==r?Hn(e,n,t,r,o):uh(e,n,t)}function Li(e,n){return e.parentNode(n)}let fl,ml,ph=function hh(e,n,t){return 40&e.type?rt(e,t):null};function Vi(e,n,t,r){const o=dl(e,r,n),i=n[z],a=function fh(e,n,t){return ph(e,n,t)}(r.parent||n[$e],r,n);if(null!=o)if(Array.isArray(t))for(let l=0;l<t.length;l++)dh(i,o,t[l],a,!1);else dh(i,o,t,a,!1);void 0!==fl&&fl(i,r,n,t,o)}function so(e,n){if(null!==n){const t=n.type;if(3&t)return rt(n,e);if(4&t)return hl(-1,e[n.index]);if(8&t){const r=n.child;if(null!==r)return so(e,r);{const o=e[n.index];return nt(o)?hl(-1,o):ge(o)}}if(32&t)return il(n,e)()||ge(e[n.index]);{const r=mh(e,n);return null!==r?Array.isArray(r)?r[0]:so(io(e[Se]),r):so(e,n.next)}}return null}function mh(e,n){return null!==n?e[Se][$e].projection[n.projection]:null}function hl(e,n){const t=He+e+1;if(t<n.length){const r=n[t],o=r[T].firstChild;if(null!==o)return so(r,o)}return n[Rt]}function pl(e,n,t,r,o,i,s){for(;null!=t;){const a=r[t.index],l=t.type;if(s&&0===n&&(a&&ze(ge(a),r),t.flags|=2),32!=(32&t.flags))if(8&l)pl(e,n,t.child,r,o,i,!1),gr(n,e,o,a,i);else if(32&l){const c=il(t,r);let u;for(;u=c();)gr(n,e,o,u,i);gr(n,e,o,a,i)}else 16&l?_h(e,n,r,t,o,i):gr(n,e,o,a,i);t=s?t.projectionNext:t.next}}function ao(e,n,t,r,o,i){pl(t,r,e.firstChild,n,o,i,!1)}function _h(e,n,t,r,o,i){const s=t[Se],l=s[$e].projection[r.projection];if(Array.isArray(l))for(let c=0;c<l.length;c++)gr(n,e,o,l[c],i);else{let c=l;const u=s[_e];Fi(r)&&(c.flags|=128),pl(e,n,c,u,o,i,!0)}}function yh(e,n,t){""===t?e.removeAttribute(n,"class"):e.setAttribute(n,"class",t)}function Ch(e,n,t){const{mergedAttrs:r,classes:o,styles:i}=t;null!==r&&wa(e,n,r),null!==o&&yh(e,n,o),null!==i&&function Jw(e,n,t){e.setAttribute(n,"style",t)}(e,n,i)}class Eh{constructor(n){this.changingThisBreaksApplicationSecurity=n}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Dd})`}}function gn(e){return e instanceof Eh?e.changingThisBreaksApplicationSecurity:e}const fb=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;var Ae=(()=>((Ae=Ae||{})[Ae.NONE=0]="NONE",Ae[Ae.HTML=1]="HTML",Ae[Ae.STYLE=2]="STYLE",Ae[Ae.SCRIPT=3]="SCRIPT",Ae[Ae.URL=4]="URL",Ae[Ae.RESOURCE_URL=5]="RESOURCE_URL",Ae))();function mn(e){const n=function fo(){const e=E();return e&&e[Rn].sanitizer}();return n?n.sanitize(Ae.URL,e)||"":function co(e,n){const t=function lb(e){return e instanceof Eh&&e.getTypeName()||null}(e);if(null!=t&&t!==n){if("ResourceURL"===t&&"URL"===n)return!0;throw new Error(`Required a safe ${n}, got a ${t} (see ${Dd})`)}return t===n}(e,"URL")?gn(e):function _l(e){return(e=String(e)).match(fb)?e:"unsafe:"+e}($(e))}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=ue({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const Ui=new P("ENVIRONMENT_INITIALIZER"),Oh=new P("INJECTOR",-1),Fh=new P("INJECTOR_DEF_TYPES");class Rh{get(n,t=$r){if(t===$r){const r=new Error(`NullInjectorError: No provider for ${xe(n)}!`);throw r.name="NullInjectorError",r}return t}}function Ib(...e){return{\u0275providers:kh(0,e),\u0275fromNgModule:!0}}function kh(e,...n){const t=[],r=new Set;let o;return to(n,i=>{const s=i;wl(s,t,[],r)&&(o||=[],o.push(s))}),void 0!==o&&Lh(o,t),t}function Lh(e,n){for(let t=0;t<e.length;t++){const{providers:o}=e[t];bl(o,i=>{n.push(i)})}}function wl(e,n,t,r){if(!(e=j(e)))return!1;let o=null,i=bd(e);const s=!i&&ie(e);if(i||s){if(s&&!s.standalone)return!1;o=e}else{const l=e.ngModule;if(i=bd(l),!i)return!1;o=l}const a=r.has(o);if(s){if(a)return!1;if(r.add(o),s.dependencies){const l="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const c of l)wl(c,n,t,r)}}else{if(!i)return!1;{if(null!=i.imports&&!a){let c;r.add(o);try{to(i.imports,u=>{wl(u,n,t,r)&&(c||=[],c.push(u))})}finally{}void 0!==c&&Lh(c,n)}if(!a){const c=kn(o)||(()=>new o);n.push({provide:o,useFactory:c,deps:oe},{provide:Fh,useValue:o,multi:!0},{provide:Ui,useValue:()=>ne(o),multi:!0})}const l=i.providers;null==l||a||bl(l,u=>{n.push(u)})}}return o!==e&&void 0!==e.providers}function bl(e,n){for(let t of e)ga(t)&&(t=t.\u0275providers),Array.isArray(t)?bl(t,n):n(t)}const Sb=le({provide:String,useValue:le});function El(e){return null!==e&&"object"==typeof e&&Sb in e}function Bn(e){return"function"==typeof e}const Ml=new P("Set Injector scope."),zi={},Tb={};let Il;function Gi(){return void 0===Il&&(Il=new Rh),Il}class vr{}class Sl extends vr{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,Tl(n,s=>this.processProvider(s)),this.records.set(Oh,_r(void 0,this)),o.has("environment")&&this.records.set(vr,_r(void 0,this));const i=this.records.get(Ml);null!=i&&"string"==typeof i.value&&this.scopes.add(i.value),this.injectorDefTypes=new Set(this.get(Fh.multi,oe,H.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=un(this),r=Xe(void 0);try{return n()}finally{un(t),Xe(r)}}get(n,t=$r,r=H.Default){if(this.assertNotDestroyed(),n.hasOwnProperty(Nd))return n[Nd](this);r=ai(r);const o=un(this),i=Xe(void 0);try{if(!(r&H.SkipSelf)){let a=this.records.get(n);if(void 0===a){const l=function Rb(e){return"function"==typeof e||"object"==typeof e&&e instanceof P}(n)&&oi(n);a=l&&this.injectableDefInScope(l)?_r(Al(n),zi):null,this.records.set(n,a)}if(null!=a)return this.hydrate(n,a)}return(r&H.Self?Gi():this.parent).get(n,t=r&H.Optional&&t===$r?null:t)}catch(s){if("NullInjectorError"===s.name){if((s[si]=s[si]||[]).unshift(xe(n)),o)throw s;return function RC(e,n,t,r){const o=e[si];throw n[Sd]&&o.unshift(n[Sd]),e.message=function PC(e,n,t,r=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let o=xe(n);if(Array.isArray(n))o=n.map(xe).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):xe(a)))}o=`{${i.join(", ")}}`}return`${t}${r?"("+r+")":""}[${o}]: ${e.replace(TC,"\n ")}`}("\n"+e.message,o,t,r),e.ngTokenPath=o,e[si]=null,e}(s,n,"R3InjectorError",this.source)}throw s}finally{Xe(i),un(o)}}resolveInjectorInitializers(){const n=un(this),t=Xe(void 0);try{const r=this.get(Ui.multi,oe,H.Self);for(const o of r)o()}finally{un(n),Xe(t)}}toString(){const n=[],t=this.records;for(const r of t.keys())n.push(xe(r));return`R3Injector[${n.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new S(205,!1)}processProvider(n){let t=Bn(n=j(n))?n:j(n&&n.provide);const r=function xb(e){return El(e)?_r(void 0,e.useValue):_r(Bh(e),zi)}(n);if(Bn(n)||!0!==n.multi)this.records.get(t);else{let o=this.records.get(t);o||(o=_r(void 0,zi,!0),o.factory=()=>ya(o.multi),this.records.set(t,o)),t=n,o.multi.push(n)}this.records.set(t,r)}hydrate(n,t){return t.value===zi&&(t.value=Tb,t.value=t.factory()),"object"==typeof t.value&&t.value&&function Fb(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=j(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 Al(e){const n=oi(e),t=null!==n?n.factory:kn(e);if(null!==t)return t;if(e instanceof P)throw new S(204,!1);if(e instanceof Function)return function Nb(e){const n=e.length;if(n>0)throw function no(e,n){const t=[];for(let r=0;r<e;r++)t.push(n);return t}(n,"?"),new S(204,!1);const t=function IC(e){return e&&(e[ii]||e[Ed])||null}(e);return null!==t?()=>t.factory(e):()=>new e}(e);throw new S(204,!1)}function Bh(e,n,t){let r;if(Bn(e)){const o=j(e);return kn(o)||Al(o)}if(El(e))r=()=>j(e.useValue);else if(function Hh(e){return!(!e||!e.useFactory)}(e))r=()=>e.useFactory(...ya(e.deps||[]));else if(function Vh(e){return!(!e||!e.useExisting)}(e))r=()=>ne(j(e.useExisting));else{const o=j(e&&(e.useClass||e.provide));if(!function Ob(e){return!!e.deps}(e))return kn(o)||Al(o);r=()=>new o(...ya(e.deps))}return r}function _r(e,n,t=!1){return{factory:e,value:n,multi:t?[]:void 0}}function Tl(e,n){for(const t of e)Array.isArray(t)?Tl(t,n):t&&ga(t)?Tl(t.\u0275providers,n):n(t)}const Wi=new P("AppId",{providedIn:"root",factory:()=>Pb}),Pb="ng",jh=new P("Platform Initializer"),yr=new P("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),$h=new P("CSP nonce",{providedIn:"root",factory:()=>function lo(){if(void 0!==ml)return ml;if(typeof document<"u")return document;throw new S(210,!1)}().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let zh=(e,n)=>null;function Gh(e,n){return zh(e,n)}class zb{}class Zh{}class Wb{resolveComponentFactory(n){throw function Gb(e){const n=Error(`No component factory found for ${xe(e)}.`);return n.ngComponent=e,n}(n)}}let Ki=(()=>{class e{}return e.NULL=new Wb,e})();function qb(){return Cr(Be(),E())}function Cr(e,n){return new bt(rt(e,n))}let bt=(()=>{class e{constructor(t){this.nativeElement=t}}return e.__NG_ELEMENT_ID__=qb,e})();class Qh{}let jn=(()=>{class e{}return e.__NG_ELEMENT_ID__=()=>function Yb(){const e=E(),t=ot(Be().index,e);return(dt(t)?t:e)[z]}(),e})(),Qb=(()=>{class e{}return e.\u0275prov=ue({token:e,providedIn:"root",factory:()=>null}),e})();class Ji{constructor(n){this.full=n,this.major=n.split(".")[0],this.minor=n.split(".")[1],this.patch=n.split(".").slice(2).join(".")}}const Kb=new Ji("16.0.4"),Bl={};function mo(e){for(;e;){e[W]|=64;const n=io(e);if(Ma(e)&&!n)return e;e=n}return null}function jl(e){return e.ngOriginalError}class $n{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&&jl(n);for(;t&&jl(t);)t=jl(t);return t||null}}const Xh=new P("",{providedIn:"root",factory:()=>!1});function $l(e){return e.ownerDocument.defaultView}class op extends Yd{constructor(){super(...arguments),this.consumerAllowSignalWrites=!1,this._lView=null}set lView(n){this._lView=n}onConsumerDependencyMayHaveChanged(){mo(this._lView)}onProducerUpdateValueVersion(){}get hasReadASignal(){return this.hasProducers}runInContext(n,t,r){const o=Le(this);this.trackingVersion++;try{n(t,r)}finally{Le(o)}}destroy(){this.trackingVersion++}}let es=null;function ip(){return es??=new op,es}function sp(e,n){return e[n]??ip()}function ap(e,n){const t=ip();t.hasReadASignal&&(e[n]=es,t.lView=e,es=new op)}const G={};function f(e){lp(re(),E(),Ye()+e,!1)}function lp(e,n,t,r){if(!r)if(3==(3&n[W])){const i=e.preOrderCheckHooks;null!==i&&Di(n,i,t)}else{const i=e.preOrderHooks;null!==i&&wi(n,i,0,t)}Ln(t)}function fp(e,n=null,t=null,r){const o=hp(e,n,t,r);return o.resolveInjectorInitializers(),o}function hp(e,n=null,t=null,r,o=new Set){const i=[t||oe,Ib(e)];return r=r||("object"==typeof e?void 0:xe(e)),new Sl(i,n||Gi(),r||null,o)}let vn=(()=>{class e{static create(t,r){if(Array.isArray(t))return fp({name:""},r,t,"");{const o=t.name??"";return fp({name:o},t.parent,t.providers,o)}}}return e.THROW_IF_NOT_FOUND=$r,e.NULL=new Rh,e.\u0275prov=ue({token:e,providedIn:"any",factory:()=>ne(Oh)}),e.__NG_ELEMENT_ID__=-1,e})();function I(e,n=H.Default){const t=E();return null===t?ne(e,n):Ff(Be(),t,j(e),n)}function ts(e,n,t,r,o,i,s,a,l,c,u){const d=n.blueprint.slice();return d[Oe]=o,d[W]=140|r,(null!==c||e&&2048&e[W])&&(d[W]|=2048),sf(d),d[_e]=d[er]=e,d[De]=t,d[Rn]=s||e&&e[Rn],d[z]=a||e&&e[z],d[Xn]=l||e&&e[Xn]||null,d[$e]=i,d[Yr]=function Sw(){return Iw++}(),d[Kt]=u,d[Ud]=c,d[Se]=2==n.type?e[Se]:d,d}function wr(e,n,t,r,o){let i=e.data[n];if(null===i)i=function Ul(e,n,t,r,o){const i=ff(),s=xa(),l=e.data[n]=function _E(e,n,t,r,o,i){let s=n?n.injectorIndex:-1,a=0;return function or(){return null!==V.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=l),null!==i&&(s?null==i.child&&null!==l.parent&&(i.child=l):null===i.next&&(i.next=l,l.prev=i)),l}(e,n,t,r,o),function ND(){return V.lFrame.inI18n}()&&(i.flags|=32);else if(64&i.type){i.type=t,i.value=r,i.attrs=o;const s=function Kr(){const e=V.lFrame,n=e.currentTNode;return e.isParent?n:n.parent}();i.injectorIndex=null===s?-1:s.injectorIndex}return Lt(i,!0),i}function vo(e,n,t,r){if(0===t)return-1;const o=n.length;for(let i=0;i<t;i++)n.push(r),e.blueprint.push(r),e.data.push(null);return o}function pp(e,n,t,r,o){const i=sp(n,ui),s=Ye(),a=2&r;try{if(Ln(-1),a&&n.length>X&&lp(e,n,X,!1),kt(a?2:0,o),a)i.runInContext(t,r,o);else{const c=Le(null);try{t(r,o)}finally{Le(c)}}}finally{a&&null===n[ui]&&ap(n,ui),Ln(s),kt(a?3:1,o)}}function zl(e,n,t){if(Ea(n)){const r=Le(null);try{const i=n.directiveEnd;for(let s=n.directiveStart;s<i;s++){const a=e.data[s];a.contentQueries&&a.contentQueries(1,t[s],s)}}finally{Le(r)}}}function Gl(e,n,t){df()&&(function ME(e,n,t,r){const o=t.directiveStart,i=t.directiveEnd;Pn(t)&&function OE(e,n,t){const r=rt(n,e),s=ns(e,ts(e,gp(t),null,t.onPush?64:16,r,n,null,e[Rn].rendererFactory.createRenderer(r,t),null,null,null));e[n.index]=s}(n,t,e.data[o+t.componentOffset]),e.firstCreatePass||Ii(t,n),ze(r,n);const s=t.initialInputs;for(let a=o;a<i;a++){const l=e.data[a],c=Vn(n,e,a,t);ze(c,n),null!==s&&FE(0,a-o,c,l,0,s),wt(l)&&(ot(t.index,n)[De]=Vn(n,e,a,t))}}(e,n,t,rt(t,n)),64==(64&t.flags)&&Cp(e,n,t))}function Wl(e,n,t=rt){const r=n.localNames;if(null!==r){let o=n.index+1;for(let i=0;i<r.length;i+=2){const s=r[i+1],a=-1===s?t(n,e):e[s];e[o++]=a}}}function gp(e){const n=e.tView;return null===n||n.incompleteFirstPass?e.tView=ql(1,null,e.template,e.decls,e.vars,e.directiveDefs,e.pipeDefs,e.viewQuery,e.schemas,e.consts,e.id):n}function ql(e,n,t,r,o,i,s,a,l,c,u){const d=X+r,h=d+o,p=function fE(e,n){const t=[];for(let r=0;r<n;r++)t.push(r<e?null:G);return t}(d,h),v="function"==typeof c?c():c;return p[T]={type:e,blueprint:p,template:t,queries:null,viewQuery:a,declTNode:n,data:p.slice().fill(null,d),bindingStartIndex:d,expandoStartIndex:h,hostBindingOpCodes:null,firstCreatePass:!0,firstUpdatePass:!0,staticViewQueries:!1,staticContentQueries:!1,preOrderHooks:null,preOrderCheckHooks:null,contentHooks:null,contentCheckHooks:null,viewHooks:null,viewCheckHooks:null,destroyHooks:null,cleanup:null,contentQueries:null,components:null,directiveRegistry:"function"==typeof i?i():i,pipeRegistry:"function"==typeof s?s():s,firstChild:null,schemas:l,consts:v,incompleteFirstPass:!1,ssrId:u}}let mp=e=>null;function vp(e,n,t,r){for(let o in e)if(e.hasOwnProperty(o)){t=null===t?{}:t;const i=e[o];null===r?_p(t,n,o,i):r.hasOwnProperty(o)&&_p(t,n,r[o],i)}return t}function _p(e,n,t,r){e.hasOwnProperty(t)?e[t].push(n,r):e[t]=[n,r]}function ht(e,n,t,r,o,i,s,a){const l=rt(n,t);let u,c=n.inputs;!a&&null!=c&&(u=c[r])?(Jl(e,t,u,r,o),Pn(n)&&function DE(e,n){const t=ot(n,e);16&t[W]||(t[W]|=64)}(t,n.index)):3&n.type&&(r=function CE(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(l,r,o))}function Zl(e,n,t,r){if(df()){const o=null===r?null:{"":-1},i=function SE(e,n){const t=e.directiveRegistry;let r=null,o=null;if(t)for(let i=0;i<t.length;i++){const s=t[i];if(Ld(n,s.selectors,!1))if(r||(r=[]),wt(s))if(null!==s.findHostDirectiveDefs){const a=[];o=o||new Map,s.findHostDirectiveDefs(s,a,o),r.unshift(...a,s),Yl(e,n,a.length)}else r.unshift(s),Yl(e,n,0);else o=o||new Map,s.findHostDirectiveDefs?.(s,r,o),r.push(s)}return null===r?null:[r,o]}(e,t);let s,a;null===i?s=a=null:[s,a]=i,null!==s&&yp(e,n,t,s,o,a),o&&function AE(e,n,t){if(n){const r=e.localNames=[];for(let o=0;o<n.length;o+=2){const i=t[n[o+1]];if(null==i)throw new S(-301,!1);r.push(n[o],i)}}}(t,r,o)}t.mergedAttrs=Gr(t.mergedAttrs,t.attrs)}function yp(e,n,t,r,o,i){for(let c=0;c<r.length;c++)Ua(Ii(t,n),e,r[c].type);!function NE(e,n,t){e.flags|=1,e.directiveStart=n,e.directiveEnd=n+t,e.providerIndexes=n}(t,e.data.length,r.length);for(let c=0;c<r.length;c++){const u=r[c];u.providersResolver&&u.providersResolver(u)}let s=!1,a=!1,l=vo(e,n,r.length,null);for(let c=0;c<r.length;c++){const u=r[c];t.mergedAttrs=Gr(t.mergedAttrs,u.hostAttrs),xE(e,t,n,l,u),TE(l,u,o),null!==u.contentQueries&&(t.flags|=4),(null!==u.hostBindings||null!==u.hostAttrs||0!==u.hostVars)&&(t.flags|=64);const d=u.type.prototype;!s&&(d.ngOnChanges||d.ngOnInit||d.ngDoCheck)&&((e.preOrderHooks??=[]).push(t.index),s=!0),!a&&(d.ngOnChanges||d.ngDoCheck)&&((e.preOrderCheckHooks??=[]).push(t.index),a=!0),l++}!function yE(e,n,t){const o=n.directiveEnd,i=e.data,s=n.attrs,a=[];let l=null,c=null;for(let u=n.directiveStart;u<o;u++){const d=i[u],h=t?t.get(d):null,v=h?h.outputs:null;l=vp(d.inputs,u,l,h?h.inputs:null),c=vp(d.outputs,u,c,v);const w=null===l||null===s||kd(n)?null:RE(l,u,s);a.push(w)}null!==l&&(l.hasOwnProperty("class")&&(n.flags|=8),l.hasOwnProperty("style")&&(n.flags|=16)),n.initialInputs=a,n.inputs=l,n.outputs=c}(e,t,i)}function Cp(e,n,t){const r=t.directiveStart,o=t.directiveEnd,i=t.index,s=function OD(){return V.lFrame.currentDirectiveIndex}();try{Ln(i);for(let a=r;a<o;a++){const l=e.data[a],c=n[a];Fa(a),(null!==l.hostBindings||0!==l.hostVars||null!==l.hostAttrs)&&IE(l,c)}}finally{Ln(-1),Fa(s)}}function IE(e,n){null!==e.hostBindings&&e.hostBindings(1,n)}function Yl(e,n,t){n.componentOffset=t,(e.components??=[]).push(n.index)}function TE(e,n,t){if(t){if(n.exportAs)for(let r=0;r<n.exportAs.length;r++)t[n.exportAs[r]]=e;wt(n)&&(t[""]=e)}}function xE(e,n,t,r,o){e.data[r]=o;const i=o.factory||(o.factory=kn(o.type)),s=new Jr(i,wt(o),I);e.blueprint[r]=s,t[r]=s,function bE(e,n,t,r,o){const i=o.hostBindings;if(i){let s=e.hostBindingOpCodes;null===s&&(s=e.hostBindingOpCodes=[]);const a=~n.index;(function EE(e){let n=e.length;for(;n>0;){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,vo(e,t,o.hostVars,G),o)}function Ht(e,n,t,r,o,i){const s=rt(e,n);!function Ql(e,n,t,r,o,i,s){if(null==i)e.removeAttribute(n,o,t);else{const a=null==s?$(i):s(i,r||"",o);e.setAttribute(n,o,a,t)}}(n[z],s,i,e.value,t,r,o)}function FE(e,n,t,r,o,i){const s=i[n];if(null!==s)for(let a=0;a<s.length;)Dp(r,t,s[a++],s[a++],s[a++])}function Dp(e,n,t,r,o){const i=Le(null);try{null!==e.setInput?e.setInput(n,o,t,r):n[r]=o}finally{Le(i)}}function RE(e,n,t){let r=null,o=0;for(;o<t.length;){const i=t[o];if(0!==i)if(5!==i){if("number"==typeof i)break;if(e.hasOwnProperty(i)){null===r&&(r=[]);const s=e[i];for(let a=0;a<s.length;a+=2)if(s[a]===n){r.push(i,s[a+1],t[o+1]);break}}o+=2}else o+=2;else o+=4}return r}function wp(e,n,t,r){return[e,!0,!1,n,null,0,r,t,null,null,null]}function bp(e,n){const t=e.contentQueries;if(null!==t)for(let r=0;r<t.length;r+=2){const i=t[r+1];if(-1!==i){const s=e.data[i];Pa(t[r]),s.contentQueries(2,n[i],i)}}}function ns(e,n){return e[qr]?e[$d][Dt]=n:e[qr]=n,e[$d]=n,n}function Kl(e,n,t){Pa(0);const r=Le(null);try{n(e,t)}finally{Le(r)}}function Sp(e,n){const t=e[Xn],r=t?t.get($n,null):null;r&&r.handleError(n)}function Jl(e,n,t,r,o){for(let i=0;i<t.length;){const s=t[i++],a=t[i++];Dp(e.data[s],n[s],r,a,o)}}function PE(e,n){const t=ot(n,e),r=t[T];!function kE(e,n){for(let t=n.length;t<e.blueprint.length;t++)n.push(e.blueprint[t])}(r,t);const o=t[Oe];null!==o&&null===t[Kt]&&(t[Kt]=Gh(o,t[Xn])),Xl(r,t,t[De])}function Xl(e,n,t){ka(n);try{const r=e.viewQuery;null!==r&&Kl(1,r,t);const o=e.template;null!==o&&pp(e,n,o,1,t),e.firstCreatePass&&(e.firstCreatePass=!1),e.staticContentQueries&&bp(e,n),e.staticViewQueries&&Kl(2,e.viewQuery,t);const i=e.components;null!==i&&function LE(e,n){for(let t=0;t<n.length;t++)PE(e,n[t])}(n,i)}catch(r){throw e.firstCreatePass&&(e.incompleteFirstPass=!0,e.firstCreatePass=!1),r}finally{n[W]&=-5,La()}}let Ap=(()=>{class e{constructor(){this.all=new Set,this.queue=new Map}create(t,r,o){const i=typeof Zone>"u"?null:Zone.current,s=new cD(t,c=>{this.all.has(c)&&this.queue.set(c,i)},o);let a;this.all.add(s),s.notify();const l=()=>{s.cleanup(),a?.(),this.all.delete(s),this.queue.delete(s)};return a=r?.onDestroy(l),{destroy:l}}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}}return e.\u0275prov=ue({token:e,providedIn:"root",factory:()=>new e}),e})();function rs(e,n,t){let r=t?e.styles:null,o=t?e.classes:null,i=0;if(null!==n)for(let s=0;s<n.length;s++){const a=n[s];"number"==typeof a?i=a:1==i?o=ha(o,a):2==i&&(r=ha(r,a+": "+n[++s]+";"))}t?e.styles=r:e.stylesWithoutHost=r,t?e.classes=o:e.classesWithoutHost=o}function _o(e,n,t,r,o=!1){for(;null!==t;){const i=n[t.index];if(null!==i&&r.push(ge(i)),nt(i)){for(let a=He;a<i.length;a++){const l=i[a],c=l[T].firstChild;null!==c&&_o(l[T],l,c,r)}i[Rt]!==i[Oe]&&r.push(i[Rt])}const s=t.type;if(8&s)_o(e,n,t.child,r);else if(32&s){const a=il(t,n);let l;for(;l=a();)r.push(l)}else if(16&s){const a=mh(n,t);if(Array.isArray(a))r.push(...a);else{const l=io(n[Se]);_o(l[T],l,a,r,!0)}}t=o?t.projectionNext:t.next}return r}function os(e,n,t,r=!0){const o=n[Rn].rendererFactory;o.begin&&o.begin();try{is(e,n,e.template,t)}catch(s){throw r&&Sp(n,s),s}finally{o.end&&o.end(),n[Rn].effectManager?.flush()}}function is(e,n,t,r){const o=n[W];if(256!=(256&o)){n[Rn].effectManager?.flush(),ka(n);try{sf(n),function pf(e){return V.lFrame.bindingIndex=e}(e.bindingStartIndex),null!==t&&pp(e,n,t,2,r);const s=3==(3&o);if(s){const c=e.preOrderCheckHooks;null!==c&&Di(n,c,null)}else{const c=e.preOrderHooks;null!==c&&wi(n,c,0,null),Va(n,0)}if(function UE(e){for(let n=sl(e);null!==n;n=al(n)){if(!n[zd])continue;const t=n[nr];for(let r=0;r<t.length;r++){yD(t[r])}}}(n),function $E(e){for(let n=sl(e);null!==n;n=al(n))for(let t=He;t<n.length;t++){const r=n[t],o=r[T];_i(r)&&is(o,r,o.template,r[De])}}(n),null!==e.contentQueries&&bp(e,n),s){const c=e.contentCheckHooks;null!==c&&Di(n,c)}else{const c=e.contentHooks;null!==c&&wi(n,c,1),Va(n,1)}!function dE(e,n){const t=e.hostBindingOpCodes;if(null===t)return;const r=sp(n,di);try{for(let o=0;o<t.length;o++){const i=t[o];if(i<0)Ln(~i);else{const s=i,a=t[++o],l=t[++o];xD(a,s),r.runInContext(l,2,n[s])}}}finally{null===n[di]&&ap(n,di),Ln(-1)}}(e,n);const a=e.components;null!==a&&function GE(e,n){for(let t=0;t<n.length;t++)zE(e,n[t])}(n,a);const l=e.viewQuery;if(null!==l&&Kl(2,l,r),s){const c=e.viewCheckHooks;null!==c&&Di(n,c)}else{const c=e.viewHooks;null!==c&&wi(n,c,2),Va(n,2)}!0===e.firstUpdatePass&&(e.firstUpdatePass=!1),n[W]&=-73,af(n)}finally{La()}}}function zE(e,n){const t=ot(n,e);if(_i(t)){const r=t[T];80&t[W]?is(r,t,r.template,t[De]):t[Fn]>0&&ec(t)}}function ec(e){for(let r=sl(e);null!==r;r=al(r))for(let o=He;o<r.length;o++){const i=r[o];if(_i(i))if(1024&i[W]){const s=i[T];is(s,i,s.template,i[De])}else i[Fn]>0&&ec(i)}const t=e[T].components;if(null!==t)for(let r=0;r<t.length;r++){const o=ot(t[r],e);_i(o)&&o[Fn]>0&&ec(o)}}class yo{get rootNodes(){const n=this._lView,t=n[T];return _o(t,n,t.firstChild,[])}constructor(n,t){this._lView=n,this._cdRefInjectingView=t,this._appRef=null,this._attachedToViewContainer=!1}get context(){return this._lView[De]}set context(n){this._lView[De]=n}get destroyed(){return 256==(256&this._lView[W])}destroy(){if(this._appRef)this._appRef.detachView(this);else if(this._attachedToViewContainer){const n=this._lView[_e];if(nt(n)){const t=n[fi],r=t?t.indexOf(this):-1;r>-1&&(cl(n,r),Ai(t,r))}this._attachedToViewContainer=!1}lh(this._lView[T],this._lView)}onDestroy(n){!function cf(e,n){if(256==(256&e[W]))throw new S(911,!1);null===e[fn]&&(e[fn]=[]),e[fn].push(n)}(this._lView,n)}markForCheck(){mo(this._cdRefInjectingView||this._lView)}detach(){this._lView[W]&=-129}reattach(){this._lView[W]|=128}detectChanges(){os(this._lView[T],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new S(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function jw(e,n){ao(e,n,n[z],2,null,null)}(this._lView[T],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new S(902,!1);this._appRef=n}}class WE extends yo{constructor(n){super(n),this._view=n}detectChanges(){const n=this._view;os(n[T],n,n[De],!1)}checkNoChanges(){}get context(){return null}}class Tp extends Ki{constructor(n){super(),this.ngModule=n}resolveComponentFactory(n){const t=ie(n);return new Co(t,this.ngModule)}}function Np(e){const n=[];for(let t in e)e.hasOwnProperty(t)&&n.push({propName:e[t],templateName:t});return n}class ZE{constructor(n,t){this.injector=n,this.parentInjector=t}get(n,t,r){r=ai(r);const o=this.injector.get(n,Bl,r);return o!==Bl||t===Bl?o:this.parentInjector.get(n,t,r)}}class Co extends Zh{get inputs(){return Np(this.componentDef.inputs)}get outputs(){return Np(this.componentDef.outputs)}constructor(n,t){super(),this.componentDef=n,this.ngModule=t,this.componentType=n.type,this.selector=function GC(e){return e.map(zC).join(",")}(n.selectors),this.ngContentSelectors=n.ngContentSelectors?n.ngContentSelectors:[],this.isBoundToModule=!!t}create(n,t,r,o){let i=(o=o||this.ngModule)instanceof vr?o:o?.injector;i&&null!==this.componentDef.getStandaloneInjector&&(i=this.componentDef.getStandaloneInjector(i)||i);const s=i?new ZE(n,i):n,a=s.get(Qh,null);if(null===a)throw new S(407,!1);const u={rendererFactory:a,sanitizer:s.get(Qb,null),effectManager:s.get(Ap,null)},d=a.createRenderer(null,this.componentDef),h=this.componentDef.selectors[0][0]||"div",p=r?function hE(e,n,t,r){const i=r.get(Xh,!1)||t===ct.ShadowDom,s=e.selectRootElement(n,i);return function pE(e){mp(e)}(s),s}(d,r,this.componentDef.encapsulation,s):ki(d,h,function qE(e){const n=e.toLowerCase();return"svg"===n?"svg":"math"===n?"math":null}(h)),v=this.componentDef.onPush?576:528,w=ql(0,null,null,1,0,null,null,null,null,null,null),M=ts(null,w,null,v,null,null,u,d,s,null,null);let A,D;ka(M);try{const F=this.componentDef;let B,J=null;F.findHostDirectiveDefs?(B=[],J=new Map,F.findHostDirectiveDefs(F,B,J),B.push(F)):B=[F];const Nt=function QE(e,n){const t=e[T],r=X;return e[r]=n,wr(t,r,2,"#host",null)}(M,p),Ry=function KE(e,n,t,r,o,i,s){const a=o[T];!function JE(e,n,t,r){for(const o of e)n.mergedAttrs=Gr(n.mergedAttrs,o.hostAttrs);null!==n.mergedAttrs&&(rs(n,n.mergedAttrs,!0),null!==t&&Ch(r,t,n))}(r,e,n,s);let l=null;null!==n&&(l=Gh(n,o[Xn]));const c=i.rendererFactory.createRenderer(n,t),u=ts(o,gp(t),null,t.onPush?64:16,o[e.index],e,i,c,null,null,l);return a.firstCreatePass&&Yl(a,e,r.length-1),ns(o,u),o[e.index]=u}(Nt,p,F,B,M,u,d);D=of(w,X),p&&function e0(e,n,t,r){if(r)wa(e,t,["ng-version",Kb.full]);else{const{attrs:o,classes:i}=function WC(e){const n=[],t=[];let r=1,o=2;for(;r<e.length;){let i=e[r];if("string"==typeof i)2===o?""!==i&&n.push(i,e[++r]):8===o&&t.push(i);else{if(!Ct(o))break;o=i}r++}return{attrs:n,classes:t}}(n.selectors[0]);o&&wa(e,t,o),i&&i.length>0&&yh(e,t,i.join(" "))}}(d,F,p,r),void 0!==t&&function t0(e,n,t){const r=e.projection=[];for(let o=0;o<n.length;o++){const i=t[o];r.push(null!=i?Array.from(i):null)}}(D,this.ngContentSelectors,t),A=function XE(e,n,t,r,o,i){const s=Be(),a=o[T],l=rt(s,o);yp(a,o,s,t,null,r);for(let u=0;u<t.length;u++)ze(Vn(o,a,s.directiveStart+u,s),o);Cp(a,o,s),l&&ze(l,o);const c=Vn(o,a,s.directiveStart+s.componentOffset,s);if(e[De]=o[De]=c,null!==i)for(const u of i)u(c,n);return zl(a,s,e),c}(Ry,F,B,J,M,[n0]),Xl(w,M,null)}finally{La()}return new YE(this.componentType,A,Cr(D,M),M,D)}}class YE extends zb{constructor(n,t,r,o,i){super(),this.location=r,this._rootLView=o,this._tNode=i,this.previousInputValues=null,this.instance=t,this.hostView=this.changeDetectorRef=new WE(o),this.componentType=n}setInput(n,t){const r=this._tNode.inputs;let o;if(null!==r&&(o=r[n])){if(this.previousInputValues??=new Map,this.previousInputValues.has(n)&&Object.is(this.previousInputValues.get(n),t))return;const i=this._rootLView;Jl(i[T],i,o,n,t),this.previousInputValues.set(n,t),mo(ot(this._tNode.index,i))}}get injector(){return new ar(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(n){this.hostView.onDestroy(n)}}function n0(){const e=Be();Ci(E()[T],e)}function ce(e){let n=function xp(e){return Object.getPrototypeOf(e.prototype).constructor}(e.type),t=!0;const r=[e];for(;n;){let o;if(wt(e))o=n.\u0275cmp||n.\u0275dir;else{if(n.\u0275cmp)throw new S(903,!1);o=n.\u0275dir}if(o){if(t){r.push(o);const s=e;s.inputs=tc(e.inputs),s.declaredInputs=tc(e.declaredInputs),s.outputs=tc(e.outputs);const a=o.hostBindings;a&&a0(e,a);const l=o.viewQuery,c=o.contentQueries;if(l&&o0(e,l),c&&s0(e,c),fa(e.inputs,o.inputs),fa(e.declaredInputs,o.declaredInputs),fa(e.outputs,o.outputs),wt(o)&&o.data.animation){const u=e.data;u.animation=(u.animation||[]).concat(o.data.animation)}}const i=o.features;if(i)for(let s=0;s<i.length;s++){const a=i[s];a&&a.ngInherit&&a(e),a===ce&&(t=!1)}}n=Object.getPrototypeOf(n)}!function r0(e){let n=0,t=null;for(let r=e.length-1;r>=0;r--){const o=e[r];o.hostVars=n+=o.hostVars,o.hostAttrs=Gr(o.hostAttrs,t=Gr(t,o.hostAttrs))}}(r)}function tc(e){return e===Zt?{}:e===oe?[]:e}function o0(e,n){const t=e.viewQuery;e.viewQuery=t?(r,o)=>{n(r,o),t(r,o)}:n}function s0(e,n){const t=e.contentQueries;e.contentQueries=t?(r,o,i)=>{n(r,o,i),t(r,o,i)}:n}function a0(e,n){const t=e.hostBindings;e.hostBindings=t?(r,o)=>{n(r,o),t(r,o)}:n}function ss(e){return!!nc(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function nc(e){return null!==e&&("function"==typeof e||"object"==typeof e)}function Bt(e,n,t){return e[n]=t}function Ge(e,n,t){return!Object.is(e[n],t)&&(e[n]=t,!0)}function Un(e,n,t,r){const o=Ge(e,n,t);return Ge(e,n+1,r)||o}function Et(e,n,t,r){const o=E();return Ge(o,ir(),n)&&(re(),Ht(ye(),o,e,n,t,r)),Et}function Er(e,n,t,r){return Ge(e,ir(),t)?n+$(t)+r:G}function C(e,n,t,r,o,i,s,a){const l=E(),c=re(),u=e+X,d=c.firstCreatePass?function O0(e,n,t,r,o,i,s,a,l){const c=n.consts,u=wr(n,e,4,s||null,hn(c,a));Zl(n,t,u,hn(c,l)),Ci(n,u);const d=u.tView=ql(2,u,r,o,i,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,r,o,i,s):c.data[u];Lt(d,!1);const h=qp(c,l,d,e);yi()&&Vi(c,l,h,d),ze(h,l),ns(l,l[u]=wp(h,l,h,d)),hi(d)&&Gl(c,l,d),null!=s&&Wl(l,d,a)}let qp=function Zp(e,n,t,r){return pn(!0),n[z].createComment("")};function g(e,n,t){const r=E();return Ge(r,ir(),n)&&ht(re(),ye(),r,e,n,r[z],t,!1),g}function lc(e,n,t,r,o){const s=o?"class":"style";Jl(e,t,n.inputs[s],s,r)}function y(e,n,t,r){const o=E(),i=re(),s=X+e,a=o[z],l=i.firstCreatePass?function L0(e,n,t,r,o,i){const s=n.consts,l=wr(n,e,2,r,hn(s,o));return Zl(n,t,l,hn(s,i)),null!==l.attrs&&rs(l,l.attrs,!1),null!==l.mergedAttrs&&rs(l,l.mergedAttrs,!0),null!==n.queries&&n.queries.elementStart(n,l),l}(s,i,o,n,t,r):i.data[s],c=Yp(i,o,l,a,n,e);o[s]=c;const u=hi(l);return Lt(l,!0),Ch(a,c,l),32!=(32&l.flags)&&yi()&&Vi(i,o,c,l),0===function DD(){return V.lFrame.elementDepthCount}()&&ze(c,o),function wD(){V.lFrame.elementDepthCount++}(),u&&(Gl(i,o,l),zl(i,l,o)),null!==r&&Wl(o,l),y}function _(){let e=Be();xa()?Oa():(e=e.parent,Lt(e,!1));const n=e;(function ED(e){return V.skipHydrationRootTNode===e})(n)&&function AD(){V.skipHydrationRootTNode=null}(),function bD(){V.lFrame.elementDepthCount--}();const t=re();return t.firstCreatePass&&(Ci(t,e),Ea(e)&&t.queries.elementEnd(e)),null!=n.classesWithoutHost&&function $D(e){return 0!=(8&e.flags)}(n)&&lc(t,n,E(),n.classesWithoutHost,!0),null!=n.stylesWithoutHost&&function UD(e){return 0!=(16&e.flags)}(n)&&lc(t,n,E(),n.stylesWithoutHost,!1),_}function x(e,n,t,r){return y(e,n,t,r),_(),x}let Yp=(e,n,t,r,o,i)=>(pn(!0),ki(r,o,function bf(){return V.lFrame.currentNamespace}()));function ee(e,n,t){const r=E(),o=re(),i=e+X,s=o.firstCreatePass?function B0(e,n,t,r,o){const i=n.consts,s=hn(i,r),a=wr(n,e,8,"ng-container",s);return null!==s&&rs(a,s,!0),Zl(n,t,a,hn(i,o)),null!==n.queries&&n.queries.elementStart(n,a),a}(i,o,r,n,t):o.data[i];Lt(s,!0);const a=Kp(o,r,s,e);return r[i]=a,yi()&&Vi(o,r,a,s),ze(a,r),hi(s)&&(Gl(o,r,s),zl(o,s,r)),null!=t&&Wl(r,s),ee}function te(){let e=Be();const n=re();return xa()?Oa():(e=e.parent,Lt(e,!1)),n.firstCreatePass&&(Ci(n,e),Ea(e)&&n.queries.elementEnd(e)),te}let Kp=(e,n,t,r)=>(pn(!0),ll(n[z],""));function we(){return E()}function ds(e){return!!e&&"function"==typeof e.then}function Jp(e){return!!e&&"function"==typeof e.subscribe}function k(e,n,t,r){const o=E(),i=re(),s=Be();return function eg(e,n,t,r,o,i,s){const a=hi(r),c=e.firstCreatePass&&function Mp(e){return e.cleanup||(e.cleanup=[])}(e),u=n[De],d=function Ep(e){return e[Jn]||(e[Jn]=[])}(n);let h=!0;if(3&r.type||s){const w=rt(r,n),M=s?s(w):w,A=d.length,D=s?B=>s(ge(B[r.index])):r.index;let F=null;if(!s&&a&&(F=function U0(e,n,t,r){const o=e.cleanup;if(null!=o)for(let i=0;i<o.length-1;i+=2){const s=o[i];if(s===t&&o[i+1]===r){const a=n[Jn],l=o[i+2];return a.length>l?a[l]:null}"string"==typeof s&&(i+=2)}return null}(e,n,o,r.index)),null!==F)(F.__ngLastListenerFn__||F).__ngNextListenerFn__=i,F.__ngLastListenerFn__=i,h=!1;else{i=ng(r,n,u,i,!1);const B=t.listen(M,o,i);d.push(i,B),c&&c.push(o,D,A,A+1)}}else i=ng(r,n,u,i,!1);const p=r.outputs;let v;if(h&&null!==p&&(v=p[o])){const w=v.length;if(w)for(let M=0;M<w;M+=2){const J=n[v[M]][v[M+1]].subscribe(i),Nt=d.length;d.push(i,J),c&&c.push(o,r.index,Nt,-(Nt+1))}}}(i,o,o[z],s,e,n,r),k}function tg(e,n,t,r){try{return kt(6,n,t),!1!==t(r)}catch(o){return Sp(e,o),!1}finally{kt(7,n,t)}}function ng(e,n,t,r,o){return function i(s){if(s===Function)return r;mo(e.componentOffset>-1?ot(e.index,n):n);let l=tg(n,t,r,s),c=i.__ngNextListenerFn__;for(;c;)l=tg(n,t,c,s)&&l,c=c.__ngNextListenerFn__;return o&&!1===l&&s.preventDefault(),l}}function m(e=1){return function RD(e){return(V.lFrame.contextLView=function PD(e,n){for(;e>0;)n=n[er],e--;return n}(e,V.lFrame.contextLView))[De]}(e)}function _n(e,n,t){return cc(e,"",n,"",t),_n}function cc(e,n,t,r,o){const i=E(),s=Er(i,n,t,r);return s!==G&&ht(re(),ye(),i,e,s,i[z],o,!1),cc}function fs(e,n){return e<<17|n<<2}function yn(e){return e>>17&32767}function uc(e){return 2|e}function zn(e){return(131068&e)>>2}function dc(e,n){return-131069&e|n<<2}function fc(e){return 1|e}function dg(e,n,t,r,o){const i=e[t+1],s=null===n;let a=r?yn(i):zn(i),l=!1;for(;0!==a&&(!1===l||s);){const u=e[a+1];J0(e[a],n)&&(l=!0,e[a+1]=r?fc(u):uc(u)),a=r?yn(u):zn(u)}l&&(e[t+1]=r?uc(i):fc(i))}function J0(e,n){return null===e||null==n||(Array.isArray(e)?e[1]:e)===n||!(!Array.isArray(e)||"string"!=typeof n)&&fr(e,n)>=0}const Re={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function fg(e){return e.substring(Re.key,Re.keyEnd)}function hg(e,n){const t=Re.textEnd;return t===n?-1:(n=Re.keyEnd=function nM(e,n,t){for(;n<t&&e.charCodeAt(n)>32;)n++;return n}(e,Re.key=n,t),Or(e,n,t))}function Or(e,n,t){for(;n<t&&e.charCodeAt(n)<=32;)n++;return n}function hs(e,n){return function Mt(e,n,t,r){const o=E(),i=re(),s=en(2);i.firstUpdatePass&&Cg(i,e,s,r),n!==G&&Ge(o,s,n)&&wg(i,i.data[Ye()],o,o[z],e,o[s+1]=function pM(e,n){return null==e||""===e||("string"==typeof n?e+=n:"object"==typeof e&&(e=xe(gn(e)))),e}(n,t),r,s)}(e,n,null,!0),hs}function $t(e,n){for(let t=function eM(e){return function gg(e){Re.key=0,Re.keyEnd=0,Re.value=0,Re.valueEnd=0,Re.textEnd=e.length}(e),hg(e,Or(e,0,Re.textEnd))}(n);t>=0;t=hg(n,t))ft(e,fg(n),!0)}function yg(e,n){return n>=e.expandoStartIndex}function Cg(e,n,t,r){const o=e.data;if(null===o[t+1]){const i=o[Ye()],s=yg(e,t);Eg(i,r)&&null===n&&!s&&(n=!1),n=function aM(e,n,t,r){const o=function Ra(e){const n=V.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=Mo(t=hc(null,e,n,t,r),n.attrs,r),i=null);else{const s=n.directiveStylingLast;if(-1===s||e[s]!==o)if(t=hc(o,e,n,t,r),null===i){let l=function lM(e,n,t){const r=t?n.classBindings:n.styleBindings;if(0!==zn(r))return e[yn(r)]}(e,n,r);void 0!==l&&Array.isArray(l)&&(l=hc(null,e,n,l[1],r),l=Mo(l,n.attrs,r),function cM(e,n,t,r){e[yn(t?n.classBindings:n.styleBindings)]=r}(e,n,r,l))}else i=function uM(e,n,t){let r;const o=n.directiveEnd;for(let i=1+n.directiveStylingLast;i<o;i++)r=Mo(r,e[i].hostAttrs,t);return Mo(r,n.attrs,t)}(e,n,r)}return void 0!==i&&(r?n.residualClasses=i:n.residualStyles=i),t}(o,i,n,r),function Q0(e,n,t,r,o,i){let s=i?n.classBindings:n.styleBindings,a=yn(s),l=zn(s);e[r]=t;let u,c=!1;if(Array.isArray(t)?(u=t[1],(null===u||fr(t,u)>0)&&(c=!0)):u=t,o)if(0!==l){const h=yn(e[a+1]);e[r+1]=fs(h,a),0!==h&&(e[h+1]=dc(e[h+1],r)),e[a+1]=function Z0(e,n){return 131071&e|n<<17}(e[a+1],r)}else e[r+1]=fs(a,0),0!==a&&(e[a+1]=dc(e[a+1],r)),a=r;else e[r+1]=fs(l,0),0===a?a=r:e[l+1]=dc(e[l+1],r),l=r;c&&(e[r+1]=uc(e[r+1])),dg(e,u,r,!0),dg(e,u,r,!1),function K0(e,n,t,r,o){const i=o?e.residualClasses:e.residualStyles;null!=i&&"string"==typeof n&&fr(i,n)>=0&&(t[r+1]=fc(t[r+1]))}(n,u,e,r,i),s=fs(a,l),i?n.classBindings=s:n.styleBindings=s}(o,i,n,t,s,r)}}function hc(e,n,t,r,o){let i=null;const s=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a<s&&(i=n[a],r=Mo(r,i.hostAttrs,o),i!==e);)a++;return null!==e&&(t.directiveStylingLast=a),r}function Mo(e,n,t){const r=t?1:2;let o=-1;if(null!==n)for(let i=0;i<n.length;i++){const s=n[i];"number"==typeof s?o=s:o===r&&(Array.isArray(e)||(e=void 0===e?[]:["",e]),ft(e,s,!!t||n[++i]))}return void 0===e?null:e}function wg(e,n,t,r,o,i,s,a){if(!(3&n.type))return;const l=e.data,c=l[a+1],u=function Y0(e){return 1==(1&e)}(c)?bg(l,n,t,o,zn(c),s):void 0;ps(u)||(ps(i)||function q0(e){return 2==(2&e)}(c)&&(i=bg(l,null,t,o,a,s)),function Kw(e,n,t,r,o){if(n)o?e.addClass(t,r):e.removeClass(t,r);else{let i=-1===r.indexOf("-")?void 0:it.DashCase;null==o?e.removeStyle(t,r,i):("string"==typeof o&&o.endsWith("!important")&&(o=o.slice(0,-10),i|=it.Important),e.setStyle(t,r,o,i))}}(r,s,vi(Ye(),t),o,i))}function bg(e,n,t,r,o,i){const s=null===n;let a;for(;o>0;){const l=e[o],c=Array.isArray(l),u=c?l[1]:l,d=null===u;let h=t[o+1];h===G&&(h=d?oe:void 0);let p=d?qa(h,r):u===r?h:void 0;if(c&&!ps(p)&&(p=qa(l,r)),ps(p)&&(a=p,s))return a;const v=e[o+1];o=s?yn(v):zn(v)}if(null!==n){let l=i?n.residualClasses:n.residualStyles;null!=l&&(a=qa(l,r))}return a}function ps(e){return void 0!==e}function Eg(e,n){return 0!=(e.flags&(n?8:16))}function b(e,n=""){const t=E(),r=re(),o=e+X,i=r.firstCreatePass?wr(r,o,1,n,null):r.data[o],s=Mg(r,t,i,n,e);t[o]=s,yi()&&Vi(r,t,s,i),Lt(i,!1)}let Mg=(e,n,t,r,o)=>(pn(!0),function Pi(e,n){return e.createText(n)}(n[z],r));function O(e){return q("",e,""),O}function q(e,n,t){const r=E(),o=Er(r,e,n,t);return o!==G&&function rn(e,n,t){const r=vi(n,e);!function sh(e,n,t){e.setValue(n,t)}(e[z],r,t)}(r,Ye(),o),q}function Ut(e,n,t){!function It(e,n,t,r){const o=re(),i=en(2);o.firstUpdatePass&&Cg(o,null,i,r);const s=E();if(t!==G&&Ge(s,i,t)){const a=o.data[Ye()];if(Eg(a,r)&&!yg(o,i)){let l=r?a.classesWithoutHost:a.stylesWithoutHost;null!==l&&(t=ha(l,t||"")),lc(o,a,s,t,r)}else!function hM(e,n,t,r,o,i,s,a){o===G&&(o=oe);let l=0,c=0,u=0<o.length?o[0]:null,d=0<i.length?i[0]:null;for(;null!==u||null!==d;){const h=l<o.length?o[l+1]:void 0,p=c<i.length?i[c+1]:void 0;let w,v=null;u===d?(l+=2,c+=2,h!==p&&(v=d,w=p)):null===d||null!==u&&u<d?(l+=2,v=u):(c+=2,v=d,w=p),null!==v&&wg(e,n,t,r,v,w,s,a),u=l<o.length?o[l]:null,d=c<i.length?i[c]:null}}(o,a,s,s[z],s[i+1],s[i+1]=function dM(e,n,t){if(null==t||""===t)return oe;const r=[],o=gn(t);if(Array.isArray(o))for(let i=0;i<o.length;i++)e(r,o[i],!0);else if("object"==typeof o)for(const i in o)o.hasOwnProperty(i)&&e(r,i,o[i]);else"string"==typeof o&&n(r,o);return r}(e,n,t),r,i)}}(ft,$t,Er(E(),e,n,t),!0)}const Rr="en-US";let qg=Rr;function mc(e,n,t,r,o){if(e=j(e),Array.isArray(e))for(let i=0;i<e.length;i++)mc(e[i],n,t,r,o);else{const i=re(),s=E();let a=Bn(e)?e:j(e.provide),l=Bh(e);const c=Be(),u=1048575&c.providerIndexes,d=c.directiveStart,h=c.providerIndexes>>20;if(Bn(e)||!e.multi){const p=new Jr(l,o,I),v=_c(a,n,o?u:u+h,d);-1===v?(Ua(Ii(c,s),i,a),vc(i,e,n.length),n.push(a),c.directiveStart++,c.directiveEnd++,o&&(c.providerIndexes+=1048576),t.push(p),s.push(p)):(t[v]=p,s[v]=p)}else{const p=_c(a,n,u+h,d),v=_c(a,n,u,u+h),M=v>=0&&t[v];if(o&&!M||!o&&!(p>=0&&t[p])){Ua(Ii(c,s),i,a);const A=function FI(e,n,t,r,o){const i=new Jr(e,t,I);return i.multi=[],i.index=n,i.componentProviders=0,_m(i,o,r&&!t),i}(o?OI:xI,t.length,o,r,l);!o&&M&&(t[v].providerFactory=A),vc(i,e,n.length,0),n.push(a),c.directiveStart++,c.directiveEnd++,o&&(c.providerIndexes+=1048576),t.push(A),s.push(A)}else vc(i,e,p>-1?p:v,_m(t[o?v:p],l,!o&&r));!o&&r&&M&&t[v].componentProviders++}}}function vc(e,n,t,r){const o=Bn(n),i=function Ab(e){return!!e.useClass}(n);if(o||i){const l=(i?j(n.useClass):n).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!o&&n.multi){const u=c.indexOf(t);-1===u?c.push(t,[r,l]):c[u+1].push(r,l)}else c.push(t,l)}}}function _m(e,n,t){return t&&e.componentProviders++,e.multi.push(n)-1}function _c(e,n,t,r){for(let o=t;o<r;o++)if(n[o]===e)return o;return-1}function xI(e,n,t,r){return yc(this.multi,[])}function OI(e,n,t,r){const o=this.multi;let i;if(this.providerFactory){const s=this.providerFactory.componentProviders,a=Vn(t,t[T],this.providerFactory.index,r);i=a.slice(0,s),yc(o,i);for(let l=s;l<a.length;l++)i.push(a[l])}else i=[],yc(o,i);return i}function yc(e,n){for(let t=0;t<e.length;t++)n.push((0,e[t])());return n}function me(e,n=[]){return t=>{t.providersResolver=(r,o)=>function NI(e,n,t){const r=re();if(r.firstCreatePass){const o=wt(e);mc(t,r.data,r.blueprint,o,!0),mc(n,r.data,r.blueprint,o,!1)}}(r,o?o(e):e,n)}}class Pr{}class RI{}class Cc extends Pr{constructor(n,t,r){super(),this._parent=t,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new Tp(this);const o=function ut(e,n){const t=e[Td]||null;if(!t&&!0===n)throw new Error(`Type ${xe(e)} does not have '\u0275mod' property.`);return t}(n);this._bootstrapComponents=function nn(e){return e instanceof Function?e():e}(o.bootstrap),this._r3Injector=hp(n,t,[{provide:Pr,useValue:this},{provide:Ki,useValue:this.componentFactoryResolver},...r],xe(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 Dc extends RI{constructor(n){super(),this.moduleType=n}create(n){return new Cc(this.moduleType,n,[])}}function ys(e,n,t,r){return function Im(e,n,t,r,o,i){const s=n+t;return Ge(e,s,o)?Bt(e,s+1,i?r.call(i,o):r(o)):xo(e,s+1)}(E(),Ze(),e,n,t,r)}function bc(e,n,t,r,o){return function Sm(e,n,t,r,o,i,s){const a=n+t;return Un(e,a,o,i)?Bt(e,a+2,s?r.call(s,o,i):r(o,i)):xo(e,a+2)}(E(),Ze(),e,n,t,r,o)}function Ve(e,n,t,r,o,i){return Am(E(),Ze(),e,n,t,r,o,i)}function xo(e,n){const t=e[n];return t===G?void 0:t}function Am(e,n,t,r,o,i,s,a){const l=n+t;return function as(e,n,t,r,o){const i=Un(e,n,t,r);return Ge(e,n+2,o)||i}(e,l,o,i,s)?Bt(e,l+3,a?r.call(a,o,i,s):r(o,i,s)):xo(e,l+3)}function Om(e,n,t,r,o){const i=e+X,s=E(),a=function rr(e,n){return e[n]}(s,i);return function Oo(e,n){return e[T].data[n].pure}(s,i)?Am(s,Ze(),n,a.transform,t,r,o,a):a.transform(t,r,o)}function Ec(e){return n=>{setTimeout(e,void 0,n)}}const Ee=class s1 extends ei{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 l=n;o=l.next?.bind(l),i=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(i=Ec(i),o&&(o=Ec(o)),s&&(s=Ec(s)));const a=super.subscribe({next:o,error:i,complete:s});return n instanceof xt&&n.add(a),a}};let on=(()=>{class e{}return e.__NG_ELEMENT_ID__=u1,e})();const l1=on,c1=class extends l1{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,null)}createEmbeddedViewImpl(n,t,r){const o=this._declarationTContainer.tView,i=ts(this._declarationLView,o,n,16,null,o.declTNode,null,null,null,t||null,r||null);i[Zr]=this._declarationLView[this._declarationTContainer.index];const a=this._declarationLView[Ft];return null!==a&&(i[Ft]=a.createEmbeddedView(o)),Xl(o,i,n),new yo(i)}};function u1(){return function Cs(e,n){return 4&e.type?new c1(n,e,Cr(e,n)):null}(Be(),E())}let zt=(()=>{class e{}return e.__NG_ELEMENT_ID__=v1,e})();function v1(){return function Vm(e,n){let t;const r=n[e.index];return nt(r)?t=r:(t=wp(r,n,null,e),n[e.index]=t,ns(n,t)),Hm(t,n,e,r),new km(t,e,n)}(Be(),E())}const _1=zt,km=class extends _1{constructor(n,t,r){super(),this._lContainer=n,this._hostTNode=t,this._hostLView=r}get element(){return Cr(this._hostTNode,this._hostLView)}get injector(){return new ar(this._hostTNode,this._hostLView)}get parentInjector(){const n=$a(this._hostTNode,this._hostLView);if(Sf(n)){const t=Ei(n,this._hostLView),r=bi(n);return new ar(t[T].data[r+8],t)}return new ar(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){const t=Lm(this._lContainer);return null!==t&&t[n]||null}get length(){return this._lContainer.length-He}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 eo(e){return"function"==typeof e}(n);let a;if(s)a=t;else{const w=t||{};a=w.index,r=w.injector,o=w.projectableNodes,i=w.environmentInjector||w.ngModuleRef}const l=s?n:new Co(ie(n)),c=r||this.parentInjector;if(!i&&null==l.ngModule){const M=(s?c:this.parentInjector).get(vr,null);M&&(i=M)}ie(l.componentType??{});const p=l.create(c,o,null,i);return this.insertImpl(p.hostView,a,false),p}insert(n,t){return this.insertImpl(n,t,!1)}insertImpl(n,t,r){const o=n._lView,i=o[T];if(function _D(e){return nt(e[_e])}(o)){const l=this.indexOf(n);if(-1!==l)this.detach(l);else{const c=o[_e],u=new km(c,c[$e],c[_e]);u.detach(u.indexOf(n))}}const s=this._adjustIndex(t),a=this._lContainer;if(function Uw(e,n,t,r){const o=He+r,i=t.length;r>0&&(t[o-1][Dt]=n),r<i-He?(n[Dt]=t[o],Hf(t,He+r,n)):(t.push(n),n[Dt]=null),n[_e]=t;const s=n[Zr];null!==s&&t!==s&&function zw(e,n){const t=e[nr];n[Se]!==n[_e][_e][Se]&&(e[zd]=!0),null===t?e[nr]=[n]:t.push(n)}(s,n);const a=n[Ft];null!==a&&a.insertView(e),n[W]|=128}(i,o,a,s),!r){const l=hl(s,a),c=o[z],u=Li(c,a[Rt]);null!==u&&function Bw(e,n,t,r,o,i){r[Oe]=o,r[$e]=n,ao(e,r,t,1,o,i)}(i,a[$e],c,o,u,l)}return n.attachToViewContainerRef(),Hf(Sc(a),s,n),n}move(n,t){return this.insert(n,t)}indexOf(n){const t=Lm(this._lContainer);return null!==t?t.indexOf(n):-1}remove(n){const t=this._adjustIndex(n,-1),r=cl(this._lContainer,t);r&&(Ai(Sc(this._lContainer),t),lh(r[T],r))}detach(n){const t=this._adjustIndex(n,-1),r=cl(this._lContainer,t);return r&&null!=Ai(Sc(this._lContainer),t)?new yo(r):null}_adjustIndex(n,t=0){return n??this.length+t}};function Lm(e){return e[fi]}function Sc(e){return e[fi]||(e[fi]=[])}let Hm=function Bm(e,n,t,r){if(e[Rt])return;let o;o=8&t.type?ge(r):function y1(e,n){const t=e[z],r=t.createComment(""),o=rt(n,e);return Hn(t,Li(t,o),r,function Zw(e,n){return e.nextSibling(n)}(t,o),!1),r}(n,t),e[Rt]=o};const X1=new P("Application Initializer");let Lc=(()=>{class e{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,r)=>{this.resolve=t,this.reject=r}),this.appInits=pe(X1,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const t=[];for(const o of this.appInits){const i=o();if(ds(i))t.push(i);else if(Jp(i)){const s=new Promise((a,l)=>{i.subscribe({complete:a,error:l})});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}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=ue({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const sn=new P("LocaleId",{providedIn:"root",factory:()=>pe(sn,H.Optional|H.SkipSelf)||function tS(){return typeof $localize<"u"&&$localize.locale||Rr}()});let rS=(()=>{class e{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new Uy(!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)}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=ue({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const aS=(()=>Promise.resolve(0))();function Vc(e){typeof Zone>"u"?aS.then(()=>{e&&e.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",e)}function dv(...e){}class Pe{constructor({enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:r=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Ee(!1),this.onMicrotaskEmpty=new Ee(!1),this.onStable=new Ee(!1),this.onError=new Ee(!1),typeof Zone>"u")throw new S(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 lS(){let e=fe.requestAnimationFrame,n=fe.cancelAnimationFrame;if(typeof Zone<"u"&&e&&n){const t=e[Zone.__symbol__("OriginalDelegate")];t&&(e=t);const r=n[Zone.__symbol__("OriginalDelegate")];r&&(n=r)}return{nativeRequestAnimationFrame:e,nativeCancelAnimationFrame:n}}().nativeRequestAnimationFrame,function dS(e){const n=()=>{!function uS(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(fe,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,Bc(e),e.isCheckStableRunning=!0,Hc(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),Bc(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,r,o,i,s,a)=>{try{return fv(e),t.invokeTask(o,i,s,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===i.type||e.shouldCoalesceRunChangeDetection)&&n(),hv(e)}},onInvoke:(t,r,o,i,s,a,l)=>{try{return fv(e),t.invoke(o,i,s,a,l)}finally{e.shouldCoalesceRunChangeDetection&&n(),hv(e)}},onHasTask:(t,r,o,i)=>{t.hasTask(o,i),r===o&&("microTask"==i.change?(e._hasPendingMicrotasks=i.microTask,Bc(e),Hc(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(!Pe.isInAngularZone())throw new S(909,!1)}static assertNotInAngularZone(){if(Pe.isInAngularZone())throw new S(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,cS,dv,dv);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 cS={};function Hc(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 Bc(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function fv(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function hv(e){e._nesting--,Hc(e)}class fS{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Ee,this.onMicrotaskEmpty=new Ee,this.onStable=new Ee,this.onError=new Ee}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 pv=new P("",{providedIn:"root",factory:gv});function gv(){const e=pe(Pe);let n=!0;return function gC(...e){const n=md(e),t=function lC(e,n){return"number"==typeof ua(e)?e.pop():n}(e,1/0),r=e;return r.length?1===r.length?On(r[0]):function oC(e=1/0){return la(ia,e)}(t)(ti(r,n)):ca}(new qe(o=>{n=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{o.next(n),o.complete()})}),new qe(o=>{let i;e.runOutsideAngular(()=>{i=e.onStable.subscribe(()=>{Pe.assertNotInAngularZone(),Vc(()=>{!n&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(n=!0,o.next(!0))})})});const s=e.onUnstable.subscribe(()=>{Pe.assertInAngularZone(),n&&(n=!1,e.runOutsideAngular(()=>{o.next(!1)}))});return()=>{i.unsubscribe(),s.unsubscribe()}}).pipe(Cd()))}const mv=new P(""),ws=new P("");let Uc,jc=(()=>{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,Uc||(function hS(e){Uc=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:()=>{Pe.assertNotInAngularZone(),Vc(()=>{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())Vc(()=>{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[]}}return e.\u0275fac=function(t){return new(t||e)(ne(Pe),ne($c),ne(ws))},e.\u0275prov=ue({token:e,factory:e.\u0275fac}),e})(),$c=(()=>{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 Uc?.findTestabilityInTree(this,t,r)??null}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=ue({token:e,factory:e.\u0275fac,providedIn:"platform"}),e})(),Cn=null;const vv=new P("AllowMultipleToken"),zc=new P("PlatformDestroyListeners"),_v=new P("appBootstrapListener");function Dv(e,n,t=[]){const r=`Platform: ${n}`,o=new P(r);return(i=[])=>{let s=Gc();if(!s||s.injector.get(vv,!1)){const a=[...t,...i,{provide:o,useValue:!0}];e?e(a):function mS(e){if(Cn&&!Cn.get(vv,!1))throw new S(400,!1);(function yv(){!function aD(e){Qd=e}(()=>{throw new S(600,!1)})})(),Cn=e;const n=e.get(bv);(function Cv(e){e.get(jh,null)?.forEach(t=>t())})(e)}(function wv(e=[],n){return vn.create({name:n,providers:[{provide:Ml,useValue:"platform"},{provide:zc,useValue:new Set([()=>Cn=null])},...e]})}(a,r))}return function _S(e){const n=Gc();if(!n)throw new S(401,!1);return n}()}}function Gc(){return Cn?.get(bv)??null}let bv=(()=>{class e{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,r){const o=function yS(e="zone.js",n){return"noop"===e?new fS:"zone.js"===e?new Pe(n):e}(r?.ngZone,function Ev(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}({eventCoalescing:r?.ngZoneEventCoalescing,runCoalescing:r?.ngZoneRunCoalescing}));return o.run(()=>{const i=function kI(e,n,t){return new Cc(e,n,t)}(t.moduleType,this.injector,function Tv(e){return[{provide:Pe,useFactory:e},{provide:Ui,multi:!0,useFactory:()=>{const n=pe(DS,{optional:!0});return()=>n.initialize()}},{provide:Av,useFactory:CS},{provide:pv,useFactory:gv}]}(()=>o)),s=i.injector.get($n,null);return o.runOutsideAngular(()=>{const a=o.onError.subscribe({next:l=>{s.handleError(l)}});i.onDestroy(()=>{bs(this._modules,i),a.unsubscribe()})}),function Mv(e,n,t){try{const r=t();return ds(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(Lc);return a.runInitializers(),a.donePromise.then(()=>(function Zg(e){gt(e,"Expected localeId to be defined"),"string"==typeof e&&(qg=e.toLowerCase().replace(/_/g,"-"))}(i.injector.get(sn,Rr)||Rr),this._moduleDoBootstrap(i),i))})})}bootstrapModule(t,r=[]){const o=Iv({},r);return function pS(e,n,t){const r=new Dc(t);return Promise.resolve(r)}(0,0,t).then(i=>this.bootstrapModuleFactory(i,o))}_moduleDoBootstrap(t){const r=t.injector.get(Ro);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(o=>r.bootstrap(o));else{if(!t.instance.ngDoBootstrap)throw new S(-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 S(404,!1);this._modules.slice().forEach(r=>r.destroy()),this._destroyListeners.forEach(r=>r());const t=this._injector.get(zc,null);t&&(t.forEach(r=>r()),t.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return e.\u0275fac=function(t){return new(t||e)(ne(vn))},e.\u0275prov=ue({token:e,factory:e.\u0275fac,providedIn:"platform"}),e})();function Iv(e,n){return Array.isArray(n)?n.reduce(Iv,e):{...e,...n}}let Ro=(()=>{class e{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=pe(Av),this.zoneIsStable=pe(pv),this.componentTypes=[],this.components=[],this.isStable=pe(rS).hasPendingTasks.pipe(la(t=>t?function mC(...e){return ti(e,md(e))}(!1):this.zoneIsStable),function _C(e,n=ia){return e=e??yC,Tn((t,r)=>{let o,i=!0;t.subscribe(new Nn(r,s=>{const a=n(s);(i||!e(o,a))&&(i=!1,o=a,r.next(s))}))})}(),Cd()),this._injector=pe(vr)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(t,r){const o=t instanceof Zh;if(!this._injector.get(Lc).done)throw!o&&function Wr(e){const n=ie(e)||je(e)||tt(e);return null!==n&&n.standalone}(t),new S(405,!1);let s;s=o?t:this._injector.get(Ki).resolveComponentFactory(t),this.componentTypes.push(s.componentType);const a=function gS(e){return e.isBoundToModule}(s)?void 0:this._injector.get(Pr),c=s.create(vn.NULL,[],r||s.selector,a),u=c.location.nativeElement,d=c.injector.get(mv,null);return d?.registerApplication(u),c.onDestroy(()=>{this.detachView(c.hostView),bs(this.components,c),d?.unregisterApplication(u)}),this._loadComponent(c),c}tick(){if(this._runningTick)throw new S(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;bs(this._views,r),r.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t);const r=this._injector.get(_v,[]);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),()=>bs(this._destroyListeners,t)}destroy(){if(this._destroyed)throw new S(406,!1);const t=this._injector;t.destroy&&!t.destroyed&&t.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=ue({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();function bs(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}const Av=new P("",{providedIn:"root",factory:()=>pe($n).handleError.bind(void 0)});function CS(){const e=pe(Pe),n=pe($n);return t=>e.runOutsideAngular(()=>n.handleError(t))}let DS=(()=>{class e{constructor(){this.zone=pe(Pe),this.applicationRef=pe(Ro)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=ue({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();let xv=(()=>{class e{}return e.__NG_ELEMENT_ID__=bS,e})();function bS(e){return function ES(e,n,t){if(Pn(e)&&!t){const r=ot(e.index,n);return new yo(r,r)}return 47&e.type?new yo(n[Se],n):null}(Be(),E(),16==(16&e))}class Rv{constructor(){}supports(n){return ss(n)}create(n){return new NS(n)}}const TS=(e,n)=>n;class NS{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||TS}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<kv(r,o,i)?t:r,a=kv(s,o,i),l=s.currentIndex;if(s===r)o--,r=r._nextRemoved;else if(t=t._next,null==s.previousIndex)o++;else{i||(i=[]);const c=a-o,u=l-o;if(c!=u){for(let h=0;h<c;h++){const p=h<i.length?i[h]:i[h]=0,v=p+h;u<=v&&v<c&&(i[h]=p+1)}i[s.previousIndex]=u-c}}a!==l&&n(s,a,l)}}forEachPreviousItem(n){let t;for(t=this._previousItHead;null!==t;t=t._nextPrevious)n(t)}forEachAddedItem(n){let t;for(t=this._additionsHead;null!==t;t=t._nextAdded)n(t)}forEachMovedItem(n){let t;for(t=this._movesHead;null!==t;t=t._nextMoved)n(t)}forEachRemovedItem(n){let t;for(t=this._removalsHead;null!==t;t=t._nextRemoved)n(t)}forEachIdentityChange(n){let t;for(t=this._identityChangesHead;null!==t;t=t._nextIdentityChange)n(t)}diff(n){if(null==n&&(n=[]),!ss(n))throw new S(900,!1);return this.check(n)?this:null}onDestroy(){}check(n){this._reset();let o,i,s,t=this._itHead,r=!1;if(Array.isArray(n)){this.length=n.length;for(let a=0;a<this.length;a++)i=n[a],s=this._trackByFn(a,i),null!==t&&Object.is(t.trackById,s)?(r&&(t=this._verifyReinsertion(t,i,s,a)),Object.is(t.item,i)||this._addIdentityChange(t,i)):(t=this._mismatch(t,i,s,a),r=!0),t=t._next}else o=0,function p0(e,n){if(Array.isArray(e))for(let t=0;t<e.length;t++)n(e[t]);else{const t=e[Symbol.iterator]();let r;for(;!(r=t.next()).done;)n(r.value)}}(n,a=>{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 xS(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 Pv),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 Pv),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 xS{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 OS{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 Pv{constructor(){this.map=new Map}put(n){const t=n.trackById;let r=this.map.get(t);r||(r=new OS,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 kv(e,n,t){const r=e.previousIndex;if(null===r)return r;let o=0;return t&&r<t.length&&(o=t[r]),r+n+o}class Lv{constructor(){}supports(n){return n instanceof Map||nc(n)}create(){return new FS}}class FS{constructor(){this._records=new Map,this._mapHead=null,this._appendAfter=null,this._previousMapHead=null,this._changesHead=null,this._changesTail=null,this._additionsHead=null,this._additionsTail=null,this._removalsHead=null,this._removalsTail=null}get isDirty(){return null!==this._additionsHead||null!==this._changesHead||null!==this._removalsHead}forEachItem(n){let t;for(t=this._mapHead;null!==t;t=t._next)n(t)}forEachPreviousItem(n){let t;for(t=this._previousMapHead;null!==t;t=t._nextPrevious)n(t)}forEachChangedItem(n){let t;for(t=this._changesHead;null!==t;t=t._nextChanged)n(t)}forEachAddedItem(n){let t;for(t=this._additionsHead;null!==t;t=t._nextAdded)n(t)}forEachRemovedItem(n){let t;for(t=this._removalsHead;null!==t;t=t._nextRemoved)n(t)}diff(n){if(n){if(!(n instanceof Map||nc(n)))throw new S(900,!1)}else n=new Map;return this.check(n)?this:null}onDestroy(){}check(n){this._reset();let t=this._mapHead;if(this._appendAfter=null,this._forEach(n,(r,o)=>{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 RS(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 RS{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 Vv(){return new Is([new Rv])}let Is=(()=>{class e{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||Vv()),deps:[[e,new Qa,new Ya]]}}find(t){const r=this.factories.find(o=>o.supports(t));if(null!=r)return r;throw new S(901,!1)}}return e.\u0275prov=ue({token:e,providedIn:"root",factory:Vv}),e})();function Hv(){return new Po([new Lv])}let Po=(()=>{class e{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||Hv()),deps:[[e,new Qa,new Ya]]}}find(t){const r=this.factories.find(o=>o.supports(t));if(r)return r;throw new S(901,!1)}}return e.\u0275prov=ue({token:e,providedIn:"root",factory:Hv}),e})();const LS=Dv(null,"core",[]);let VS=(()=>{class e{constructor(t){}}return e.\u0275fac=function(t){return new(t||e)(ne(Ro))},e.\u0275mod=dn({type:e}),e.\u0275inj=Wt({}),e})();let Xc=null;function ko(){return Xc}class YS{}const qn=new P("DocumentToken"),cu=/\s+/,e_=[];let Ho=(()=>{class e{constructor(t,r,o,i){this._iterableDiffers=t,this._keyValueDiffers=r,this._ngEl=o,this._renderer=i,this.initialClasses=e_,this.stateMap=new Map}set klass(t){this.initialClasses=null!=t?t.trim().split(cu):e_}set ngClass(t){this.rawClass="string"==typeof t?t.trim().split(cu):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(cu).forEach(o=>{r?this._renderer.addClass(this._ngEl.nativeElement,o):this._renderer.removeClass(this._ngEl.nativeElement,o)})}}return e.\u0275fac=function(t){return new(t||e)(I(Is),I(Po),I(bt),I(jn))},e.\u0275dir=U({type:e,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"},standalone:!0}),e})();class kA{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 Vr=(()=>{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 kA(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),n_(a,o)}});for(let o=0,i=r.length;o<i;o++){const a=r.get(o).context;a.index=o,a.count=i,a.ngForOf=this._ngForOf}t.forEachIdentityChange(o=>{n_(r.get(o.currentIndex),o)})}static ngTemplateContextGuard(t,r){return!0}}return e.\u0275fac=function(t){return new(t||e)(I(zt),I(on),I(Is))},e.\u0275dir=U({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),e})();function n_(e,n){e.context.$implicit=n.item}let Zn=(()=>{class e{constructor(t,r){this._viewContainer=t,this._context=new LA,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){r_("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){r_("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}}return e.\u0275fac=function(t){return new(t||e)(I(zt),I(on))},e.\u0275dir=U({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),e})();class LA{constructor(){this.$implicit=null,this.ngIf=null}}function r_(e,n){if(n&&!n.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${xe(n)}'.`)}let s_=(()=>{class e{transform(t,r,o){if(null==t)return null;if(!this.supports(t))throw function Tt(e,n){return new S(2100,!1)}();return t.slice(r,o)}supports(t){return"string"==typeof t||Array.isArray(t)}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275pipe=et({name:"slice",type:e,pure:!1,standalone:!0}),e})(),lT=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=dn({type:e}),e.\u0275inj=Wt({}),e})();function l_(e){return"server"===e}class BT extends YS{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class mu extends BT{static makeCurrent(){!function ZS(e){Xc||(Xc=e)}(new mu)}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 jT(){return jo=jo||document.querySelector("base"),jo?jo.getAttribute("href"):null}();return null==t?null:function $T(e){Bs=Bs||document.createElement("a"),Bs.setAttribute("href",e);const n=Bs.pathname;return"/"===n.charAt(0)?n:`/${n}`}(t)}resetBaseElement(){jo=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return function RA(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}(document.cookie,n)}}let Bs,jo=null,zT=(()=>{class e{build(){return new XMLHttpRequest}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=ue({token:e,factory:e.\u0275fac}),e})();const vu=new P("EventManagerPlugins");let p_=(()=>{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 S(5101,!1);return this._eventNameToPlugin.set(t,r),r}}return e.\u0275fac=function(t){return new(t||e)(ne(vu),ne(Pe))},e.\u0275prov=ue({token:e,factory:e.\u0275fac}),e})();class g_{constructor(n){this._doc=n}}const _u="ng-app-id";let m_=(()=>{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=l_(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[${_u}="${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(_u),i;{const s=this.doc.createElement("style");return this.nonce&&s.setAttribute("nonce",this.nonce),s.textContent=r,this.platformIsServer&&s.setAttribute(_u,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)}}return e.\u0275fac=function(t){return new(t||e)(ne(qn),ne(Wi),ne($h,8),ne(yr))},e.\u0275prov=ue({token:e,factory:e.\u0275fac}),e})();const yu={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/"},Cu=/%COMP%/g,ZT=new P("RemoveStylesOnCompDestory",{providedIn:"root",factory:()=>!1});function __(e,n){return n.map(t=>t.replace(Cu,e))}let y_=(()=>{class e{constructor(t,r,o,i,s,a,l,c=null){this.eventManager=t,this.sharedStylesHost=r,this.appId=o,this.removeStylesOnCompDestory=i,this.doc=s,this.platformId=a,this.ngZone=l,this.nonce=c,this.rendererByCompId=new Map,this.platformIsServer=l_(a),this.defaultRenderer=new Du(t,s,l,this.platformIsServer)}createRenderer(t,r){if(!t||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===ct.ShadowDom&&(r={...r,encapsulation:ct.Emulated});const o=this.getOrCreateRenderer(t,r);return o instanceof D_?o.applyToHost(t):o instanceof wu&&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,l=this.eventManager,c=this.sharedStylesHost,u=this.removeStylesOnCompDestory,d=this.platformIsServer;switch(r.encapsulation){case ct.Emulated:i=new D_(l,c,r,this.appId,u,s,a,d);break;case ct.ShadowDom:return new JT(l,c,t,r,s,a,this.nonce,d);default:i=new wu(l,c,r,u,s,a,d)}i.onDestroy=()=>o.delete(r.id),o.set(r.id,i)}return i}ngOnDestroy(){this.rendererByCompId.clear()}}return e.\u0275fac=function(t){return new(t||e)(ne(p_),ne(m_),ne(Wi),ne(ZT),ne(qn),ne(yr),ne(Pe),ne($h))},e.\u0275prov=ue({token:e,factory:e.\u0275fac}),e})();class Du{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(yu[t]||t,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,t){(C_(n)?n.content:n).appendChild(t)}insertBefore(n,t,r){n&&(C_(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 S(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=yu[o];i?n.setAttributeNS(i,t,r):n.setAttribute(t,r)}else n.setAttribute(t,r)}removeAttribute(n,t,r){if(r){const o=yu[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&(it.DashCase|it.Important)?n.style.setProperty(t,r,o&it.Important?"important":""):n.style[t]=r}removeStyle(n,t,r){r&it.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=ko().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 C_(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class JT extends Du{constructor(n,t,r,o,i,s,a,l){super(n,i,s,l),this.sharedStylesHost=t,this.hostEl=r,this.shadowRoot=r.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=__(o.id,o.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,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 wu extends Du{constructor(n,t,r,o,i,s,a,l){super(n,i,s,a),this.sharedStylesHost=t,this.removeStylesOnCompDestory=o,this.rendererUsageCount=0,this.styles=l?__(l,r.styles):r.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles),this.rendererUsageCount++}destroy(){this.removeStylesOnCompDestory&&(this.sharedStylesHost.removeStyles(this.styles),this.rendererUsageCount--,0===this.rendererUsageCount&&this.onDestroy?.())}}class D_ extends wu{constructor(n,t,r,o,i,s,a,l){const c=o+"-"+r.id;super(n,t,r,i,s,a,l,c),this.contentAttr=function YT(e){return"_ngcontent-%COMP%".replace(Cu,e)}(c),this.hostAttr=function QT(e){return"_nghost-%COMP%".replace(Cu,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 XT=(()=>{class e extends g_{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)}}return e.\u0275fac=function(t){return new(t||e)(ne(qn))},e.\u0275prov=ue({token:e,factory:e.\u0275fac}),e})();const w_=["alt","control","meta","shift"],eN={"\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"},tN={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let nN=(()=>{class e extends g_{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(()=>ko().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."),w_.forEach(c=>{const u=r.indexOf(c);u>-1&&(r.splice(u,1),s+=c+".")}),s+=i,0!=r.length||0===i.length)return null;const l={};return l.domEventName=o,l.fullKey=s,l}static matchEventFullKeyCode(t,r){let o=eN[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"),w_.forEach(s=>{s!==o&&(0,tN[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}}return e.\u0275fac=function(t){return new(t||e)(ne(qn))},e.\u0275prov=ue({token:e,factory:e.\u0275fac}),e})();const sN=Dv(LS,"browser",[{provide:yr,useValue:"browser"},{provide:jh,useValue:function rN(){mu.makeCurrent()},multi:!0},{provide:qn,useFactory:function iN(){return function nb(e){ml=e}(document),document},deps:[]}]),aN=new P(""),M_=[{provide:ws,useClass:class UT{addToWindow(n){fe.getAngularTestability=(r,o=!0)=>{const i=n.findTestabilityInTree(r,o);if(null==i)throw new S(5103,!1);return i},fe.getAllAngularTestabilities=()=>n.getAllTestabilities(),fe.getAllAngularRootElements=()=>n.getAllRootElements(),fe.frameworkStabilizers||(fe.frameworkStabilizers=[]),fe.frameworkStabilizers.push(r=>{const o=fe.getAllAngularTestabilities();let i=o.length,s=!1;const a=function(l){s=s||l,i--,0==i&&r(s)};o.forEach(function(l){l.whenStable(a)})})}findTestabilityInTree(n,t,r){return null==t?null:n.getTestability(t)??(r?ko().isShadowRoot(t)?this.findTestabilityInTree(n,t.host,!0):this.findTestabilityInTree(n,t.parentElement,!0):null)}},deps:[]},{provide:mv,useClass:jc,deps:[Pe,$c,ws]},{provide:jc,useClass:jc,deps:[Pe,$c,ws]}],I_=[{provide:Ml,useValue:"root"},{provide:$n,useFactory:function oN(){return new $n},deps:[]},{provide:vu,useClass:XT,multi:!0,deps:[qn,Pe,yr]},{provide:vu,useClass:nN,multi:!0,deps:[qn]},y_,m_,p_,{provide:Qh,useExisting:y_},{provide:class hT{},useClass:zT,deps:[]},[]];let lN=(()=>{class e{constructor(t){}static withServerTransition(t){return{ngModule:e,providers:[{provide:Wi,useValue:t.appId}]}}}return e.\u0275fac=function(t){return new(t||e)(ne(aN,12))},e.\u0275mod=dn({type:e}),e.\u0275inj=Wt({providers:[...I_,...M_],imports:[lT,VS]}),e})();typeof window<"u"&&window;const{isArray:gN}=Array,{getPrototypeOf:mN,prototype:vN,keys:_N}=Object;const{isArray:DN}=Array;function EN(e,n){return e.reduce((t,r,o)=>(t[r]=n[o],t),{})}function MN(...e){const n=function aC(e){return ve(ua(e))?e.pop():void 0}(e),{args:t,keys:r}=function yN(e){if(1===e.length){const n=e[0];if(gN(n))return{args:n,keys:null};if(function CN(e){return e&&"object"==typeof e&&mN(e)===vN}(n)){const t=_N(n);return{args:t.map(r=>n[r]),keys:t}}}return{args:e,keys:null}}(e),o=new qe(i=>{const{length:s}=t;if(!s)return void i.complete();const a=new Array(s);let l=s,c=s;for(let u=0;u<s;u++){let d=!1;On(t[u]).subscribe(new Nn(i,h=>{d||(d=!0,c--),a[u]=h},()=>l--,void 0,()=>{(!l||!d)&&(c||i.next(r?EN(r,a):a),i.complete())}))}});return n?o.pipe(function bN(e){return sa(n=>function wN(e,n){return DN(n)?e(...n):e(n)}(e,n))}(n)):o}let N_=(()=>{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)}}return e.\u0275fac=function(t){return new(t||e)(I(jn),I(bt))},e.\u0275dir=U({type:e}),e})(),Yn=(()=>{class e extends N_{}return e.\u0275fac=function(){let n;return function(r){return(n||(n=Ue(e)))(r||e)}}(),e.\u0275dir=U({type:e,features:[ce]}),e})();const Gt=new P("NgValueAccessor"),IN={provide:Gt,useExisting:de(()=>Eu),multi:!0};let Eu=(()=>{class e extends Yn{writeValue(t){this.setProperty("checked",t)}}return e.\u0275fac=function(){let n;return function(r){return(n||(n=Ue(e)))(r||e)}}(),e.\u0275dir=U({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(t,r){1&t&&k("change",function(i){return r.onChange(i.target.checked)})("blur",function(){return r.onTouched()})},features:[me([IN]),ce]}),e})();const SN={provide:Gt,useExisting:de(()=>$o),multi:!0},TN=new P("CompositionEventMode");let $o=(()=>{class e extends N_{constructor(t,r,o){super(t,r),this._compositionMode=o,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function AN(){const e=ko()?ko().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)}}return e.\u0275fac=function(t){return new(t||e)(I(jn),I(bt),I(TN,8))},e.\u0275dir=U({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(t,r){1&t&&k("input",function(i){return r._handleInput(i.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(i){return r._compositionEnd(i.target.value)})},features:[me([SN]),ce]}),e})();const We=new P("NgValidators"),bn=new P("NgAsyncValidators");function B_(e){return null!=e}function j_(e){return ds(e)?ti(e):e}function $_(e){let n={};return e.forEach(t=>{n=null!=t?{...n,...t}:n}),0===Object.keys(n).length?null:n}function U_(e,n){return n.map(t=>t(e))}function z_(e){return e.map(n=>function xN(e){return!e.validate}(n)?n:t=>n.validate(t))}function Mu(e){return null!=e?function G_(e){if(!e)return null;const n=e.filter(B_);return 0==n.length?null:function(t){return $_(U_(t,n))}}(z_(e)):null}function Iu(e){return null!=e?function W_(e){if(!e)return null;const n=e.filter(B_);return 0==n.length?null:function(t){return MN(U_(t,n).map(j_)).pipe(sa($_))}}(z_(e)):null}function q_(e,n){return null===e?[n]:Array.isArray(e)?[...e,n]:[e,n]}function Su(e){return e?Array.isArray(e)?e:[e]:[]}function $s(e,n){return Array.isArray(e)?e.includes(n):e===n}function Q_(e,n){const t=Su(n);return Su(e).forEach(o=>{$s(t,o)||t.push(o)}),t}function K_(e,n){return Su(n).filter(t=>!$s(e,t))}class J_{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=Mu(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=Iu(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 Je extends J_{get formDirective(){return null}get path(){return null}}class En extends J_{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class X_{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 Us=(()=>{class e extends X_{constructor(t){super(t)}}return e.\u0275fac=function(t){return new(t||e)(I(En,2))},e.\u0275dir=U({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(t,r){2&t&&hs("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:[ce]}),e})();const Uo="VALID",Gs="INVALID",Hr="PENDING",zo="DISABLED";function Ws(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}class ry{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===Uo}get invalid(){return this.status===Gs}get pending(){return this.status==Hr}get disabled(){return this.status===zo}get enabled(){return this.status!==zo}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(Q_(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(Q_(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(K_(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(K_(n,this._rawAsyncValidators))}hasValidator(n){return $s(this._rawValidators,n)}hasAsyncValidator(n){return $s(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=Hr,!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=zo,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=Uo,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===Uo||this.status===Hr)&&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()?zo:Uo}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n){if(this.asyncValidator){this.status=Hr,this._hasOwnPendingAsyncValidator=!0;const t=j_(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 Ee,this.statusChanges=new Ee}_calculateStatus(){return this._allControlsDisabled()?zo:this.errors?Gs:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(Hr)?Hr:this._anyControlsHaveStatus(Gs)?Gs:Uo}_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){Ws(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 kN(e){return Array.isArray(e)?Mu(e):e||null}(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=function LN(e){return Array.isArray(e)?Iu(e):e||null}(this._rawAsyncValidators)}}const Br=new P("CallSetDisabledState",{providedIn:"root",factory:()=>qs}),qs="always";function Go(e,n,t=qs){(function Fu(e,n){const t=function Z_(e){return e._rawValidators}(e);null!==n.validator?e.setValidators(q_(t,n.validator)):"function"==typeof t&&e.setValidators([t]);const r=function Y_(e){return e._rawAsyncValidators}(e);null!==n.asyncValidator?e.setAsyncValidators(q_(r,n.asyncValidator)):"function"==typeof r&&e.setAsyncValidators([r]);const o=()=>e.updateValueAndValidity();Qs(n._rawValidators,o),Qs(n._rawAsyncValidators,o)})(e,n),n.valueAccessor.writeValue(e.value),(e.disabled||"always"===t)&&n.valueAccessor.setDisabledState?.(e.disabled),function BN(e,n){n.valueAccessor.registerOnChange(t=>{e._pendingValue=t,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&oy(e,n)})}(e,n),function $N(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 jN(e,n){n.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&oy(e,n),"submit"!==e.updateOn&&e.markAsTouched()})}(e,n),function HN(e,n){if(n.valueAccessor.setDisabledState){const t=r=>{n.valueAccessor.setDisabledState(r)};e.registerOnDisabledChange(t),n._registerOnDestroy(()=>{e._unregisterOnDisabledChange(t)})}}(e,n)}function Qs(e,n){e.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(n)})}function oy(e,n){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function ay(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function ly(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const cy=class extends ry{constructor(n=null,t,r){super(function Nu(e){return(Ws(e)?e.validators:e)||null}(t),function xu(e,n){return(Ws(n)?n.asyncValidators:e)||null}(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}),Ws(t)&&(t.nonNullable||t.initialValueIsDefault)&&(this.defaultValue=ly(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){ay(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){ay(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){ly(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}},QN={provide:En,useExisting:de(()=>qo)},fy=(()=>Promise.resolve())();let qo=(()=>{class e extends En{constructor(t,r,o,i,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this.control=new cy,this._registered=!1,this.name="",this.update=new Ee,this._parent=t,this._setValidators(r),this._setAsyncValidators(o),this.valueAccessor=function ku(e,n){if(!n)return null;let t,r,o;return Array.isArray(n),n.forEach(i=>{i.constructor===$o?t=i:function GN(e){return Object.getPrototypeOf(e.constructor)===Yn}(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 Pu(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(){Go(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){fy.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(t){const r=t.isDisabled.currentValue,o=0!==r&&function Jc(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}(r);fy.then(()=>{o&&!this.control.disabled?this.control.disable():!o&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(t){return this._parent?function Zs(e,n){return[...n.path,e]}(t,this._parent):[t]}}return e.\u0275fac=function(t){return new(t||e)(I(Je,9),I(We,10),I(bn,10),I(Gt,10),I(xv,8),I(Br,8))},e.\u0275dir=U({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:[me([QN]),ce,Jt]}),e})(),py=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=dn({type:e}),e.\u0275inj=Wt({}),e})();const tx={provide:Gt,useExisting:de(()=>Vu),multi:!0};let Vu=(()=>{class e extends Yn{writeValue(t){this.setProperty("value",parseFloat(t))}registerOnChange(t){this.onChange=r=>{t(""==r?null:parseFloat(r))}}}return e.\u0275fac=function(){let n;return function(r){return(n||(n=Ue(e)))(r||e)}}(),e.\u0275dir=U({type:e,selectors:[["input","type","range","formControlName",""],["input","type","range","formControl",""],["input","type","range","ngModel",""]],hostBindings:function(t,r){1&t&&k("change",function(i){return r.onChange(i.target.value)})("input",function(i){return r.onChange(i.target.value)})("blur",function(){return r.onTouched()})},features:[me([tx]),ce]}),e})();const ax={provide:Gt,useExisting:de(()=>Zo),multi:!0};function Cy(e,n){return null==e?`${n}`:(n&&"object"==typeof n&&(n="Object"),`${e}: ${n}`.slice(0,50))}let Zo=(()=>{class e extends Yn{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(t){this._compareWith=t}writeValue(t){this.value=t;const o=Cy(this._getOptionId(t),t);this.setProperty("value",o)}registerOnChange(t){this.onChange=r=>{this.value=this._getOptionValue(r),t(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(t){for(const r of this._optionMap.keys())if(this._compareWith(this._optionMap.get(r),t))return r;return null}_getOptionValue(t){const r=function lx(e){return e.split(":")[0]}(t);return this._optionMap.has(r)?this._optionMap.get(r):t}}return e.\u0275fac=function(){let n;return function(r){return(n||(n=Ue(e)))(r||e)}}(),e.\u0275dir=U({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(t,r){1&t&&k("change",function(i){return r.onChange(i.target.value)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},features:[me([ax]),ce]}),e})(),$u=(()=>{class e{constructor(t,r,o){this._element=t,this._renderer=r,this._select=o,this._select&&(this.id=this._select._registerOption())}set ngValue(t){null!=this._select&&(this._select._optionMap.set(this.id,t),this._setElementValue(Cy(this.id,t)),this._select.writeValue(this._select.value))}set value(t){this._setElementValue(t),this._select&&this._select.writeValue(this._select.value)}_setElementValue(t){this._renderer.setProperty(this._element.nativeElement,"value",t)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return e.\u0275fac=function(t){return new(t||e)(I(bt),I(jn),I(Zo,9))},e.\u0275dir=U({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),e})();const cx={provide:Gt,useExisting:de(()=>Uu),multi:!0};function Dy(e,n){return null==e?`${n}`:("string"==typeof n&&(n=`'${n}'`),n&&"object"==typeof n&&(n="Object"),`${e}: ${n}`.slice(0,50))}let Uu=(()=>{class e extends Yn{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(t){this._compareWith=t}writeValue(t){let r;if(this.value=t,Array.isArray(t)){const o=t.map(i=>this._getOptionId(i));r=(i,s)=>{i._setSelected(o.indexOf(s.toString())>-1)}}else r=(o,i)=>{o._setSelected(!1)};this._optionMap.forEach(r)}registerOnChange(t){this.onChange=r=>{const o=[],i=r.selectedOptions;if(void 0!==i){const s=i;for(let a=0;a<s.length;a++){const c=this._getOptionValue(s[a].value);o.push(c)}}else{const s=r.options;for(let a=0;a<s.length;a++){const l=s[a];if(l.selected){const c=this._getOptionValue(l.value);o.push(c)}}}this.value=o,t(o)}}_registerOption(t){const r=(this._idCounter++).toString();return this._optionMap.set(r,t),r}_getOptionId(t){for(const r of this._optionMap.keys())if(this._compareWith(this._optionMap.get(r)._value,t))return r;return null}_getOptionValue(t){const r=function ux(e){return e.split(":")[0]}(t);return this._optionMap.has(r)?this._optionMap.get(r)._value:t}}return e.\u0275fac=function(){let n;return function(r){return(n||(n=Ue(e)))(r||e)}}(),e.\u0275dir=U({type:e,selectors:[["select","multiple","","formControlName",""],["select","multiple","","formControl",""],["select","multiple","","ngModel",""]],hostBindings:function(t,r){1&t&&k("change",function(i){return r.onChange(i.target)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},features:[me([cx]),ce]}),e})(),zu=(()=>{class e{constructor(t,r,o){this._element=t,this._renderer=r,this._select=o,this._select&&(this.id=this._select._registerOption(this))}set ngValue(t){null!=this._select&&(this._value=t,this._setElementValue(Dy(this.id,t)),this._select.writeValue(this._select.value))}set value(t){this._select?(this._value=t,this._setElementValue(Dy(this.id,t)),this._select.writeValue(this._select.value)):this._setElementValue(t)}_setElementValue(t){this._renderer.setProperty(this._element.nativeElement,"value",t)}_setSelected(t){this._renderer.setProperty(this._element.nativeElement,"selected",t)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return e.\u0275fac=function(t){return new(t||e)(I(bt),I(jn),I(Uu,9))},e.\u0275dir=U({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),e})(),yx=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=dn({type:e}),e.\u0275inj=Wt({imports:[py]}),e})(),Dx=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:Br,useValue:t.callSetDisabledState??qs}]}}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=dn({type:e}),e.\u0275inj=Wt({imports:[yx]}),e})();class xy{constructor(){this.riskHotspotsSettings=null,this.coverageInfoSettings=null}}class wx{constructor(){this.showLineCoverage=!0,this.showBranchCoverage=!0,this.showMethodCoverage=!0,this.visibleMetrics=[],this.groupingMaximum=0,this.grouping=0,this.historyComparisionDate="",this.historyComparisionType="",this.filter="",this.sortBy="name",this.sortOrder="asc",this.collapseStates=[]}}class bx{constructor(n){this.et="",this.et=n.et,this.cl=n.cl,this.ucl=n.ucl,this.cal=n.cal,this.tl=n.tl,this.lcq=n.lcq,this.cb=n.cb,this.tb=n.tb,this.bcq=n.bcq,this.cm=n.cm,this.tm=n.tm,this.mcq=n.mcq}get coverageRatioText(){return 0===this.tl?"-":this.cl+"/"+this.cal}get branchCoverageRatioText(){return 0===this.tb?"-":this.cb+"/"+this.tb}get methodCoverageRatioText(){return 0===this.tm?"-":this.cm+"/"+this.tm}}class Mn{static roundNumber(n,t){return Math.floor(n*Math.pow(10,t))/Math.pow(10,t)}static getNthOrLastIndexOf(n,t,r){let o=0,i=-1,s=-1;for(;o<r&&(s=n.indexOf(t,i+1),-1!==s);)i=s,o++;return i}}class Oy{constructor(){this.name="",this.coveredLines=0,this.uncoveredLines=0,this.coverableLines=0,this.totalLines=0,this.coveredBranches=0,this.totalBranches=0,this.coveredMethods=0,this.totalMethods=0}get coverage(){return 0===this.coverableLines?NaN:Mn.roundNumber(100*this.coveredLines/this.coverableLines,1)}get coveragePercentage(){return 0===this.coverableLines?"":this.coverage+"%"}get coverageRatioText(){return 0===this.coverableLines?"-":this.coveredLines+"/"+this.coverableLines}get branchCoverage(){return 0===this.totalBranches?NaN:Mn.roundNumber(100*this.coveredBranches/this.totalBranches,1)}get branchCoveragePercentage(){return 0===this.totalBranches?"":this.branchCoverage+"%"}get branchCoverageRatioText(){return 0===this.totalBranches?"-":this.coveredBranches+"/"+this.totalBranches}get methodCoverage(){return 0===this.totalMethods?NaN:Mn.roundNumber(100*this.coveredMethods/this.totalMethods,1)}get methodCoveragePercentage(){return 0===this.totalMethods?"":this.methodCoverage+"%"}get methodCoverageRatioText(){return 0===this.totalMethods?"-":this.coveredMethods+"/"+this.totalMethods}}class Wu extends Oy{constructor(n,t){super(),this.reportPath="",this.lineCoverageHistory=[],this.branchCoverageHistory=[],this.methodCoverageHistory=[],this.historicCoverages=[],this.currentHistoricCoverage=null,this.name=n.name,this.reportPath=n.rp?n.rp+t:n.rp,this.coveredLines=n.cl,this.uncoveredLines=n.ucl,this.coverableLines=n.cal,this.totalLines=n.tl,this.coveredBranches=n.cb,this.totalBranches=n.tb,this.coveredMethods=n.cm,this.totalMethods=n.tm,this.lineCoverageHistory=n.lch,this.branchCoverageHistory=n.bch,this.methodCoverageHistory=n.mch,n.hc.forEach(r=>{this.historicCoverages.push(new bx(r))}),this.metrics=n.metrics}get coverage(){return 0===this.coverableLines?NaN:Mn.roundNumber(100*this.coveredLines/this.coverableLines,1)}visible(n,t){if(""!==n&&-1===this.name.toLowerCase().indexOf(n.toLowerCase()))return!1;if(""===t||null===this.currentHistoricCoverage)return!0;if("allChanges"===t){if(this.coveredLines===this.currentHistoricCoverage.cl&&this.uncoveredLines===this.currentHistoricCoverage.ucl&&this.coverableLines===this.currentHistoricCoverage.cal&&this.totalLines===this.currentHistoricCoverage.tl&&this.coveredBranches===this.currentHistoricCoverage.cb&&this.totalBranches===this.currentHistoricCoverage.tb&&this.coveredMethods===this.currentHistoricCoverage.cm&&this.totalMethods===this.currentHistoricCoverage.tm)return!1}else if("lineCoverageIncreaseOnly"===t){let r=this.coverage;if(isNaN(r)||r<=this.currentHistoricCoverage.lcq)return!1}else if("lineCoverageDecreaseOnly"===t){let r=this.coverage;if(isNaN(r)||r>=this.currentHistoricCoverage.lcq)return!1}else if("branchCoverageIncreaseOnly"===t){let r=this.branchCoverage;if(isNaN(r)||r<=this.currentHistoricCoverage.bcq)return!1}else if("branchCoverageDecreaseOnly"===t){let r=this.branchCoverage;if(isNaN(r)||r>=this.currentHistoricCoverage.bcq)return!1}else if("methodCoverageIncreaseOnly"===t){let r=this.methodCoverage;if(isNaN(r)||r<=this.currentHistoricCoverage.mcq)return!1}else if("methodCoverageDecreaseOnly"===t){let r=this.methodCoverage;if(isNaN(r)||r>=this.currentHistoricCoverage.mcq)return!1}return!0}updateCurrentHistoricCoverage(n){if(this.currentHistoricCoverage=null,""!==n)for(let t=0;t<this.historicCoverages.length;t++)if(this.historicCoverages[t].et===n){this.currentHistoricCoverage=this.historicCoverages[t];break}}}class In extends Oy{constructor(n,t){super(),this.subElements=[],this.classes=[],this.collapsed=!1,this.name=n,this.collapsed=n.indexOf("Test")>-1&&null===t}visible(n,t){if(""!==n&&this.name.toLowerCase().indexOf(n.toLowerCase())>-1)return!0;for(let r=0;r<this.subElements.length;r++)if(this.subElements[r].visible(n,t))return!0;for(let r=0;r<this.classes.length;r++)if(this.classes[r].visible(n,t))return!0;return!1}insertClass(n,t){if(this.coveredLines+=n.coveredLines,this.uncoveredLines+=n.uncoveredLines,this.coverableLines+=n.coverableLines,this.totalLines+=n.totalLines,this.coveredBranches+=n.coveredBranches,this.totalBranches+=n.totalBranches,this.coveredMethods+=n.coveredMethods,this.totalMethods+=n.totalMethods,null===t)return void this.classes.push(n);let r=Mn.getNthOrLastIndexOf(n.name,".",t);-1===r&&(r=Mn.getNthOrLastIndexOf(n.name,"\\",t));let o=-1===r?"-":n.name.substring(0,r);for(let s=0;s<this.subElements.length;s++)if(this.subElements[s].name===o)return void this.subElements[s].insertClass(n,null);let i=new In(o,this);this.subElements.push(i),i.insertClass(n,null)}collapse(){this.collapsed=!0;for(let n=0;n<this.subElements.length;n++)this.subElements[n].collapse()}expand(){this.collapsed=!1;for(let n=0;n<this.subElements.length;n++)this.subElements[n].expand()}toggleCollapse(n){n.preventDefault(),this.collapsed=!this.collapsed}updateCurrentHistoricCoverage(n){for(let t=0;t<this.subElements.length;t++)this.subElements[t].updateCurrentHistoricCoverage(n);for(let t=0;t<this.classes.length;t++)this.classes[t].updateCurrentHistoricCoverage(n)}static sortCodeElementViewModels(n,t,r){let o=r?-1:1,i=r?1:-1;"name"===t?n.sort(function(s,a){return s.name===a.name?0:s.name<a.name?o:i}):"covered"===t?n.sort(function(s,a){return s.coveredLines===a.coveredLines?0:s.coveredLines<a.coveredLines?o:i}):"uncovered"===t?n.sort(function(s,a){return s.uncoveredLines===a.uncoveredLines?0:s.uncoveredLines<a.uncoveredLines?o:i}):"coverable"===t?n.sort(function(s,a){return s.coverableLines===a.coverableLines?0:s.coverableLines<a.coverableLines?o:i}):"total"===t?n.sort(function(s,a){return s.totalLines===a.totalLines?0:s.totalLines<a.totalLines?o:i}):"coverage"===t?n.sort(function(s,a){return s.coverage===a.coverage?0:isNaN(s.coverage)?o:isNaN(a.coverage)?i:s.coverage<a.coverage?o:i}):"branchcoverage"===t?n.sort(function(s,a){return s.branchCoverage===a.branchCoverage?0:isNaN(s.branchCoverage)?o:isNaN(a.branchCoverage)?i:s.branchCoverage<a.branchCoverage?o:i}):"methodcoverage"===t&&n.sort(function(s,a){return s.methodCoverage===a.methodCoverage?0:isNaN(s.methodCoverage)?o:isNaN(a.methodCoverage)?i:s.methodCoverage<a.methodCoverage?o:i})}changeSorting(n,t){In.sortCodeElementViewModels(this.subElements,n,t);let r=t?-1:1,o=t?1:-1;this.classes.sort("name"===n?function(i,s){return i.name===s.name?0:i.name<s.name?r:o}:"covered"===n?function(i,s){return i.coveredLines===s.coveredLines?0:i.coveredLines<s.coveredLines?r:o}:"uncovered"===n?function(i,s){return i.uncoveredLines===s.uncoveredLines?0:i.uncoveredLines<s.uncoveredLines?r:o}:"coverable"===n?function(i,s){return i.coverableLines===s.coverableLines?0:i.coverableLines<s.coverableLines?r:o}:"total"===n?function(i,s){return i.totalLines===s.totalLines?0:i.totalLines<s.totalLines?r:o}:"coverage"===n?function(i,s){return i.coverage===s.coverage?0:isNaN(i.coverage)?r:isNaN(s.coverage)?o:i.coverage<s.coverage?r:o}:"covered_branches"===n?function(i,s){return i.coveredBranches===s.coveredBranches?0:i.coveredBranches<s.coveredBranches?r:o}:"total_branches"===n?function(i,s){return i.totalBranches===s.totalBranches?0:i.totalBranches<s.totalBranches?r:o}:"branchcoverage"===n?function(i,s){return i.branchCoverage===s.branchCoverage?0:isNaN(i.branchCoverage)?r:isNaN(s.branchCoverage)?o:i.branchCoverage<s.branchCoverage?r:o}:"covered_methods"===n?function(i,s){return i.coveredMethods===s.coveredMethods?0:i.coveredMethods<s.coveredMethods?r:o}:"total_methods"===n?function(i,s){return i.totalMethods===s.totalMethods?0:i.totalMethods<s.totalMethods?r:o}:"methodcoverage"===n?function(i,s){return i.methodCoverage===s.methodCoverage?0:isNaN(i.methodCoverage)?r:isNaN(s.methodCoverage)?o:i.methodCoverage<s.methodCoverage?r:o}:function(i,s){const a=i.metrics[n],l=s.metrics[n];return a===l?0:isNaN(a)?r:isNaN(l)?o:a<l?r:o});for(let i=0;i<this.subElements.length;i++)this.subElements[i].changeSorting(n,t)}}let qu=(()=>{class e{get nativeWindow(){return function Ex(){return window}()}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=ue({token:e,factory:e.\u0275fac}),e})(),Mx=(()=>{class e{constructor(){this.translations={}}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Qt({type:e,selectors:[["pro-button"]],inputs:{translations:"translations"},decls:3,vars:1,consts:[["href","https://reportgenerator.io/pro","target","_blank",1,"pro-button","pro-button-tiny",3,"title"]],template:function(t,r){1&t&&(b(0,"\xa0"),y(1,"a",0),b(2,"PRO"),_()),2&t&&(f(1),_n("title",r.translations.methodCoverageProVersion))},encapsulation:2}),e})();function Ix(e,n){if(1&e){const t=we();y(0,"div",3)(1,"label")(2,"input",4),k("ngModelChange",function(o){return Y(t),Q(m().showBranchCoverage=o)})("change",function(){Y(t);const o=m();return Q(o.showBranchCoverageChange.emit(o.showBranchCoverage))}),_(),b(3),_()()}if(2&e){const t=m();f(2),g("ngModel",t.showBranchCoverage),f(1),q(" ",t.translations.branchCoverage,"")}}function Sx(e,n){1&e&&x(0,"pro-button",9),2&e&&g("translations",m().translations)}function Ax(e,n){1&e&&x(0,"pro-button",9),2&e&&g("translations",m(2).translations)}function Tx(e,n){1&e&&(y(0,"a",13),x(1,"i",14),_()),2&e&&g("href",m().$implicit.explanationUrl,mn)}function Nx(e,n){if(1&e){const t=we();y(0,"div",3)(1,"label")(2,"input",11),k("change",function(){const i=Y(t).$implicit;return Q(m(2).toggleMetric(i))}),_(),b(3),_(),b(4,"\xa0"),C(5,Tx,2,1,"a",12),_()}if(2&e){const t=n.$implicit,r=m(2);f(2),g("checked",r.isMetricSelected(t))("disabled",!r.methodCoverageAvailable),f(1),q(" ",t.name,""),f(2),g("ngIf",t.explanationUrl)}}function xx(e,n){if(1&e&&(ee(0),x(1,"br")(2,"br"),y(3,"b"),b(4),_(),C(5,Ax,1,1,"pro-button",7),C(6,Nx,6,4,"div",10),te()),2&e){const t=m();f(4),O(t.translations.metrics),f(1),g("ngIf",!t.methodCoverageAvailable),f(1),g("ngForOf",t.metrics)}}let Ox=(()=>{class e{constructor(){this.visible=!1,this.visibleChange=new Ee,this.translations={},this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.metrics=[],this.showLineCoverage=!1,this.showLineCoverageChange=new Ee,this.showBranchCoverage=!1,this.showBranchCoverageChange=new Ee,this.showMethodCoverage=!1,this.showMethodCoverageChange=new Ee,this.visibleMetrics=[],this.visibleMetricsChange=new Ee}isMetricSelected(t){return void 0!==this.visibleMetrics.find(r=>r.name===t.name)}toggleMetric(t){let r=this.visibleMetrics.find(o=>o.name===t.name);r?this.visibleMetrics.splice(this.visibleMetrics.indexOf(r),1):this.visibleMetrics.push(t),this.visibleMetrics=[...this.visibleMetrics],this.visibleMetricsChange.emit(this.visibleMetrics)}close(){this.visible=!1,this.visibleChange.emit(this.visible)}cancelEvent(t){t.stopPropagation()}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Qt({type:e,selectors:[["popup"]],inputs:{visible:"visible",translations:"translations",branchCoverageAvailable:"branchCoverageAvailable",methodCoverageAvailable:"methodCoverageAvailable",metrics:"metrics",showLineCoverage:"showLineCoverage",showBranchCoverage:"showBranchCoverage",showMethodCoverage:"showMethodCoverage",visibleMetrics:"visibleMetrics"},outputs:{visibleChange:"visibleChange",showLineCoverageChange:"showLineCoverageChange",showBranchCoverageChange:"showBranchCoverageChange",showMethodCoverageChange:"showMethodCoverageChange",visibleMetricsChange:"visibleMetricsChange"},decls:17,vars:9,consts:[[1,"popup-container",3,"click"],[1,"popup",3,"click"],[1,"close",3,"click"],[1,"mt-1"],["type","checkbox",3,"ngModel","ngModelChange","change"],["class","mt-1",4,"ngIf"],["type","checkbox",3,"ngModel","disabled","ngModelChange","change"],[3,"translations",4,"ngIf"],[4,"ngIf"],[3,"translations"],["class","mt-1",4,"ngFor","ngForOf"],["type","checkbox",3,"checked","disabled","change"],["target","_blank",3,"href",4,"ngIf"],["target","_blank",3,"href"],[1,"icon-info-circled"]],template:function(t,r){1&t&&(y(0,"div",0),k("click",function(){return r.close()}),y(1,"div",1),k("click",function(i){return r.cancelEvent(i)}),y(2,"div",2),k("click",function(){return r.close()}),b(3,"X"),_(),y(4,"b"),b(5),_(),y(6,"div",3)(7,"label")(8,"input",4),k("ngModelChange",function(i){return r.showLineCoverage=i})("change",function(){return r.showLineCoverageChange.emit(r.showLineCoverage)}),_(),b(9),_()(),C(10,Ix,4,2,"div",5),y(11,"div",3)(12,"label")(13,"input",6),k("ngModelChange",function(i){return r.showMethodCoverage=i})("change",function(){return r.showMethodCoverageChange.emit(r.showMethodCoverage)}),_(),b(14),_(),C(15,Sx,1,1,"pro-button",7),_(),C(16,xx,7,3,"ng-container",8),_()()),2&t&&(f(5),O(r.translations.coverageTypes),f(3),g("ngModel",r.showLineCoverage),f(1),q(" ",r.translations.coverage,""),f(1),g("ngIf",r.branchCoverageAvailable),f(3),g("ngModel",r.showMethodCoverage)("disabled",!r.methodCoverageAvailable),f(1),q(" ",r.translations.methodCoverage,""),f(1),g("ngIf",!r.methodCoverageAvailable),f(1),g("ngIf",r.metrics.length>0))},dependencies:[Vr,Zn,Eu,Us,qo,Mx],encapsulation:2}),e})();function Fx(e,n){1&e&&x(0,"td",3)}function Rx(e,n){1&e&&x(0,"td"),2&e&&Ut("green ",m().greenClass,"")}function Px(e,n){1&e&&x(0,"td"),2&e&&Ut("red ",m().redClass,"")}let Fy=(()=>{class e{constructor(){this.grayVisible=!0,this.greenVisible=!1,this.redVisible=!1,this.greenClass="",this.redClass="",this._percentage=NaN}get percentage(){return this._percentage}set percentage(t){this._percentage=t,this.grayVisible=isNaN(t),this.greenVisible=!isNaN(t)&&Math.round(t)>0,this.redVisible=!isNaN(t)&&100-Math.round(t)>0,this.greenClass="covered"+Math.round(t),this.redClass="covered"+(100-Math.round(t))}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Qt({type:e,selectors:[["coverage-bar"]],inputs:{percentage:"percentage"},decls:4,vars:3,consts:[[1,"coverage"],["class","gray covered100",4,"ngIf"],[3,"class",4,"ngIf"],[1,"gray","covered100"]],template:function(t,r){1&t&&(y(0,"table",0),C(1,Fx,1,0,"td",1),C(2,Rx,1,3,"td",2),C(3,Px,1,3,"td",2),_()),2&t&&(f(1),g("ngIf",r.grayVisible),f(1),g("ngIf",r.greenVisible),f(1),g("ngIf",r.redVisible))},dependencies:[Zn],encapsulation:2,changeDetection:0}),e})();const kx=["codeelement-row",""];function Lx(e,n){if(1&e&&(y(0,"th",5),b(1),_()),2&e){const t=m();f(1),O(t.element.coveredLines)}}function Vx(e,n){if(1&e&&(y(0,"th",5),b(1),_()),2&e){const t=m();f(1),O(t.element.uncoveredLines)}}function Hx(e,n){if(1&e&&(y(0,"th",5),b(1),_()),2&e){const t=m();f(1),O(t.element.coverableLines)}}function Bx(e,n){if(1&e&&(y(0,"th",5),b(1),_()),2&e){const t=m();f(1),O(t.element.totalLines)}}function jx(e,n){if(1&e&&(y(0,"th",6),b(1),_()),2&e){const t=m();g("title",t.element.coverageRatioText),f(1),O(t.element.coveragePercentage)}}function $x(e,n){if(1&e&&(y(0,"th",5),x(1,"coverage-bar",7),_()),2&e){const t=m();f(1),g("percentage",t.element.coverage)}}function Ux(e,n){if(1&e&&(y(0,"th",5),b(1),_()),2&e){const t=m();f(1),O(t.element.coveredBranches)}}function zx(e,n){if(1&e&&(y(0,"th",5),b(1),_()),2&e){const t=m();f(1),O(t.element.totalBranches)}}function Gx(e,n){if(1&e&&(y(0,"th",6),b(1),_()),2&e){const t=m();g("title",t.element.branchCoverageRatioText),f(1),O(t.element.branchCoveragePercentage)}}function Wx(e,n){if(1&e&&(y(0,"th",5),x(1,"coverage-bar",7),_()),2&e){const t=m();f(1),g("percentage",t.element.branchCoverage)}}function qx(e,n){if(1&e&&(y(0,"th",5),b(1),_()),2&e){const t=m();f(1),O(t.element.coveredMethods)}}function Zx(e,n){if(1&e&&(y(0,"th",5),b(1),_()),2&e){const t=m();f(1),O(t.element.totalMethods)}}function Yx(e,n){if(1&e&&(y(0,"th",6),b(1),_()),2&e){const t=m();g("title",t.element.methodCoverageRatioText),f(1),O(t.element.methodCoveragePercentage)}}function Qx(e,n){if(1&e&&(y(0,"th",5),x(1,"coverage-bar",7),_()),2&e){const t=m();f(1),g("percentage",t.element.methodCoverage)}}function Kx(e,n){1&e&&x(0,"th",5)}const Jx=function(e,n){return{"icon-plus":e,"icon-minus":n}};let Xx=(()=>{class e{constructor(){this.collapsed=!1,this.lineCoverageAvailable=!1,this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.visibleMetrics=[]}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Qt({type:e,selectors:[["","codeelement-row",""]],inputs:{element:"element",collapsed:"collapsed",lineCoverageAvailable:"lineCoverageAvailable",branchCoverageAvailable:"branchCoverageAvailable",methodCoverageAvailable:"methodCoverageAvailable",visibleMetrics:"visibleMetrics"},attrs:kx,decls:19,vars:20,consts:[["href","#",3,"click"],[3,"ngClass"],["class","right",4,"ngIf"],["class","right",3,"title",4,"ngIf"],["class","right",4,"ngFor","ngForOf"],[1,"right"],[1,"right",3,"title"],[3,"percentage"]],template:function(t,r){1&t&&(y(0,"th")(1,"a",0),k("click",function(i){return r.element.toggleCollapse(i)}),x(2,"i",1),b(3),_()(),C(4,Lx,2,1,"th",2),C(5,Vx,2,1,"th",2),C(6,Hx,2,1,"th",2),C(7,Bx,2,1,"th",2),C(8,jx,2,2,"th",3),C(9,$x,2,1,"th",2),C(10,Ux,2,1,"th",2),C(11,zx,2,1,"th",2),C(12,Gx,2,2,"th",3),C(13,Wx,2,1,"th",2),C(14,qx,2,1,"th",2),C(15,Zx,2,1,"th",2),C(16,Yx,2,2,"th",3),C(17,Qx,2,1,"th",2),C(18,Kx,1,0,"th",4)),2&t&&(f(2),g("ngClass",bc(17,Jx,r.element.collapsed,!r.element.collapsed)),f(1),q(" ",r.element.name,""),f(1),g("ngIf",r.lineCoverageAvailable),f(1),g("ngIf",r.lineCoverageAvailable),f(1),g("ngIf",r.lineCoverageAvailable),f(1),g("ngIf",r.lineCoverageAvailable),f(1),g("ngIf",r.lineCoverageAvailable),f(1),g("ngIf",r.lineCoverageAvailable),f(1),g("ngIf",r.branchCoverageAvailable),f(1),g("ngIf",r.branchCoverageAvailable),f(1),g("ngIf",r.branchCoverageAvailable),f(1),g("ngIf",r.branchCoverageAvailable),f(1),g("ngIf",r.methodCoverageAvailable),f(1),g("ngIf",r.methodCoverageAvailable),f(1),g("ngIf",r.methodCoverageAvailable),f(1),g("ngIf",r.methodCoverageAvailable),f(1),g("ngForOf",r.visibleMetrics))},dependencies:[Ho,Vr,Zn,Fy],encapsulation:2,changeDetection:0}),e})();const eO=["coverage-history-chart",""];let tO=(()=>{class e{constructor(){this.path=null,this._historicCoverages=[]}get historicCoverages(){return this._historicCoverages}set historicCoverages(t){if(this._historicCoverages=t,t.length>1){let r="";for(let o=0;o<t.length;o++)r+=0===o?"M":"L",r+=`${Mn.roundNumber(30*o/(t.length-1),1)}`,r+=`,${Mn.roundNumber(18-18*t[o]/100,1)}`;this.path=r}else this.path=null}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Qt({type:e,selectors:[["","coverage-history-chart",""]],inputs:{historicCoverages:"historicCoverages"},attrs:eO,decls:3,vars:1,consts:[["width","30","height","18",1,"ct-chart-line"],[1,"ct-series","ct-series-a"],[1,"ct-line"]],template:function(t,r){1&t&&(function wf(){V.lFrame.currentNamespace="svg"}(),y(0,"svg",0)(1,"g",1),x(2,"path",2),_()()),2&t&&(f(2),Et("d",r.path))},encapsulation:2,changeDetection:0}),e})();const nO=["class-row",""];function rO(e,n){if(1&e&&(y(0,"a",5),b(1),_()),2&e){const t=m();g("href",t.clazz.reportPath,mn),f(1),O(t.clazz.name)}}function oO(e,n){if(1&e&&(ee(0),b(1),te()),2&e){const t=m();f(1),O(t.clazz.name)}}function iO(e,n){if(1&e&&(ee(0),y(1,"div"),b(2),_(),y(3,"div",7),b(4),_(),te()),2&e){const t=m(2);f(1),Ut("currenthistory ",t.getClassName(t.clazz.coveredLines,t.clazz.currentHistoricCoverage.cl),""),f(1),q(" ",t.clazz.coveredLines," "),f(1),g("title",t.clazz.currentHistoricCoverage.et),f(1),q(" ",t.clazz.currentHistoricCoverage.cl," ")}}function sO(e,n){if(1&e&&(ee(0),b(1),te()),2&e){const t=m(2);f(1),q(" ",t.clazz.coveredLines," ")}}function aO(e,n){if(1&e&&(y(0,"td",6),C(1,iO,5,6,"ng-container",1),C(2,sO,2,1,"ng-container",1),_()),2&e){const t=m();f(1),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(1),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function lO(e,n){if(1&e&&(ee(0),y(1,"div"),b(2),_(),y(3,"div",7),b(4),_(),te()),2&e){const t=m(2);f(1),Ut("currenthistory ",t.getClassName(t.clazz.currentHistoricCoverage.ucl,t.clazz.uncoveredLines),""),f(1),q(" ",t.clazz.uncoveredLines," "),f(1),g("title",t.clazz.currentHistoricCoverage.et),f(1),q(" ",t.clazz.currentHistoricCoverage.ucl," ")}}function cO(e,n){if(1&e&&(ee(0),b(1),te()),2&e){const t=m(2);f(1),q(" ",t.clazz.uncoveredLines," ")}}function uO(e,n){if(1&e&&(y(0,"td",6),C(1,lO,5,6,"ng-container",1),C(2,cO,2,1,"ng-container",1),_()),2&e){const t=m();f(1),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(1),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function dO(e,n){if(1&e&&(ee(0),y(1,"div",8),b(2),_(),y(3,"div",7),b(4),_(),te()),2&e){const t=m(2);f(2),O(t.clazz.coverableLines),f(1),g("title",t.clazz.currentHistoricCoverage.et),f(1),O(t.clazz.currentHistoricCoverage.cal)}}function fO(e,n){if(1&e&&(ee(0),b(1),te()),2&e){const t=m(2);f(1),q(" ",t.clazz.coverableLines," ")}}function hO(e,n){if(1&e&&(y(0,"td",6),C(1,dO,5,3,"ng-container",1),C(2,fO,2,1,"ng-container",1),_()),2&e){const t=m();f(1),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(1),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function pO(e,n){if(1&e&&(ee(0),y(1,"div",8),b(2),_(),y(3,"div",7),b(4),_(),te()),2&e){const t=m(2);f(2),O(t.clazz.totalLines),f(1),g("title",t.clazz.currentHistoricCoverage.et),f(1),O(t.clazz.currentHistoricCoverage.tl)}}function gO(e,n){if(1&e&&(ee(0),b(1),te()),2&e){const t=m(2);f(1),q(" ",t.clazz.totalLines," ")}}function mO(e,n){if(1&e&&(y(0,"td",6),C(1,pO,5,3,"ng-container",1),C(2,gO,2,1,"ng-container",1),_()),2&e){const t=m();f(1),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(1),g("ngIf",null===t.clazz.currentHistoricCoverage)}}const Zu=function(e){return{historiccoverageoffset:e}};function vO(e,n){if(1&e&&x(0,"div",11),2&e){const t=m(2);_n("title",t.translations.history+": "+t.translations.coverage),g("historicCoverages",t.clazz.lineCoverageHistory)("ngClass",ys(3,Zu,null!==t.clazz.currentHistoricCoverage))}}function _O(e,n){if(1&e&&(ee(0),y(1,"div"),b(2),_(),y(3,"div",7),b(4),_(),te()),2&e){const t=m(2);f(1),Ut("currenthistory ",t.getClassName(t.clazz.coverage,t.clazz.currentHistoricCoverage.lcq),""),f(1),q(" ",t.clazz.coveragePercentage," "),f(1),g("title",t.clazz.currentHistoricCoverage.et+": "+t.clazz.currentHistoricCoverage.coverageRatioText),f(1),q("",t.clazz.currentHistoricCoverage.lcq,"%")}}function yO(e,n){if(1&e&&(ee(0),b(1),te()),2&e){const t=m(2);f(1),q(" ",t.clazz.coveragePercentage," ")}}function CO(e,n){if(1&e&&(y(0,"td",9),C(1,vO,1,5,"div",10),C(2,_O,5,6,"ng-container",1),C(3,yO,2,1,"ng-container",1),_()),2&e){const t=m();g("title",t.clazz.coverageRatioText),f(1),g("ngIf",t.clazz.lineCoverageHistory.length>1),f(1),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(1),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function DO(e,n){if(1&e&&(y(0,"td",6),x(1,"coverage-bar",12),_()),2&e){const t=m();f(1),g("percentage",t.clazz.coverage)}}function wO(e,n){if(1&e&&(ee(0),y(1,"div"),b(2),_(),y(3,"div",7),b(4),_(),te()),2&e){const t=m(2);f(1),Ut("currenthistory ",t.getClassName(t.clazz.coveredBranches,t.clazz.currentHistoricCoverage.cb),""),f(1),q(" ",t.clazz.coveredBranches," "),f(1),g("title",t.clazz.currentHistoricCoverage.et),f(1),q(" ",t.clazz.currentHistoricCoverage.cb," ")}}function bO(e,n){if(1&e&&(ee(0),b(1),te()),2&e){const t=m(2);f(1),q(" ",t.clazz.coveredBranches," ")}}function EO(e,n){if(1&e&&(y(0,"td",6),C(1,wO,5,6,"ng-container",1),C(2,bO,2,1,"ng-container",1),_()),2&e){const t=m();f(1),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(1),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function MO(e,n){if(1&e&&(ee(0),y(1,"div",8),b(2),_(),y(3,"div",7),b(4),_(),te()),2&e){const t=m(2);f(2),O(t.clazz.totalBranches),f(1),g("title",t.clazz.currentHistoricCoverage.et),f(1),O(t.clazz.currentHistoricCoverage.tb)}}function IO(e,n){if(1&e&&(ee(0),b(1),te()),2&e){const t=m(2);f(1),q(" ",t.clazz.totalBranches," ")}}function SO(e,n){if(1&e&&(y(0,"td",6),C(1,MO,5,3,"ng-container",1),C(2,IO,2,1,"ng-container",1),_()),2&e){const t=m();f(1),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(1),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function AO(e,n){if(1&e&&x(0,"div",14),2&e){const t=m(2);_n("title",t.translations.history+": "+t.translations.branchCoverage),g("historicCoverages",t.clazz.branchCoverageHistory)("ngClass",ys(3,Zu,null!==t.clazz.currentHistoricCoverage))}}function TO(e,n){if(1&e&&(ee(0),y(1,"div"),b(2),_(),y(3,"div",7),b(4),_(),te()),2&e){const t=m(2);f(1),Ut("currenthistory ",t.getClassName(t.clazz.branchCoverage,t.clazz.currentHistoricCoverage.bcq),""),f(1),q(" ",t.clazz.branchCoveragePercentage," "),f(1),g("title",t.clazz.currentHistoricCoverage.et+": "+t.clazz.currentHistoricCoverage.branchCoverageRatioText),f(1),q("",t.clazz.currentHistoricCoverage.bcq,"%")}}function NO(e,n){if(1&e&&(ee(0),b(1),te()),2&e){const t=m(2);f(1),q(" ",t.clazz.branchCoveragePercentage," ")}}function xO(e,n){if(1&e&&(y(0,"td",9),C(1,AO,1,5,"div",13),C(2,TO,5,6,"ng-container",1),C(3,NO,2,1,"ng-container",1),_()),2&e){const t=m();g("title",t.clazz.branchCoverageRatioText),f(1),g("ngIf",t.clazz.branchCoverageHistory.length>1),f(1),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(1),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function OO(e,n){if(1&e&&(y(0,"td",6),x(1,"coverage-bar",12),_()),2&e){const t=m();f(1),g("percentage",t.clazz.branchCoverage)}}function FO(e,n){if(1&e&&(ee(0),y(1,"div"),b(2),_(),y(3,"div",7),b(4),_(),te()),2&e){const t=m(2);f(1),Ut("currenthistory ",t.getClassName(t.clazz.coveredMethods,t.clazz.currentHistoricCoverage.cm),""),f(1),q(" ",t.clazz.coveredMethods," "),f(1),g("title",t.clazz.currentHistoricCoverage.et),f(1),q(" ",t.clazz.currentHistoricCoverage.cm," ")}}function RO(e,n){if(1&e&&(ee(0),b(1),te()),2&e){const t=m(2);f(1),q(" ",t.clazz.coveredMethods," ")}}function PO(e,n){if(1&e&&(y(0,"td",6),C(1,FO,5,6,"ng-container",1),C(2,RO,2,1,"ng-container",1),_()),2&e){const t=m();f(1),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(1),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function kO(e,n){if(1&e&&(ee(0),y(1,"div",8),b(2),_(),y(3,"div",7),b(4),_(),te()),2&e){const t=m(2);f(2),O(t.clazz.totalMethods),f(1),g("title",t.clazz.currentHistoricCoverage.et),f(1),O(t.clazz.currentHistoricCoverage.tm)}}function LO(e,n){if(1&e&&(ee(0),b(1),te()),2&e){const t=m(2);f(1),q(" ",t.clazz.totalMethods," ")}}function VO(e,n){if(1&e&&(y(0,"td",6),C(1,kO,5,3,"ng-container",1),C(2,LO,2,1,"ng-container",1),_()),2&e){const t=m();f(1),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(1),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function HO(e,n){if(1&e&&x(0,"div",16),2&e){const t=m(2);_n("title",t.translations.history+": "+t.translations.methodCoverage),g("historicCoverages",t.clazz.methodCoverageHistory)("ngClass",ys(3,Zu,null!==t.clazz.currentHistoricCoverage))}}function BO(e,n){if(1&e&&(ee(0),y(1,"div"),b(2),_(),y(3,"div",7),b(4),_(),te()),2&e){const t=m(2);f(1),Ut("currenthistory ",t.getClassName(t.clazz.methodCoverage,t.clazz.currentHistoricCoverage.mcq),""),f(1),q(" ",t.clazz.methodCoveragePercentage," "),f(1),g("title",t.clazz.currentHistoricCoverage.et+": "+t.clazz.currentHistoricCoverage.methodCoverageRatioText),f(1),q("",t.clazz.currentHistoricCoverage.mcq,"%")}}function jO(e,n){if(1&e&&(ee(0),b(1),te()),2&e){const t=m(2);f(1),q(" ",t.clazz.methodCoveragePercentage," ")}}function $O(e,n){if(1&e&&(y(0,"td",9),C(1,HO,1,5,"div",15),C(2,BO,5,6,"ng-container",1),C(3,jO,2,1,"ng-container",1),_()),2&e){const t=m();g("title",t.clazz.methodCoverageRatioText),f(1),g("ngIf",t.clazz.methodCoverageHistory.length>1),f(1),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(1),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function UO(e,n){if(1&e&&(y(0,"td",6),x(1,"coverage-bar",12),_()),2&e){const t=m();f(1),g("percentage",t.clazz.methodCoverage)}}function zO(e,n){if(1&e&&(y(0,"td",6),b(1),_()),2&e){const t=n.$implicit,r=m();f(1),O(r.clazz.metrics[t.abbreviation])}}let GO=(()=>{class e{constructor(){this.translations={},this.lineCoverageAvailable=!1,this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.visibleMetrics=[],this.historyComparisionDate=""}getClassName(t,r){return t>r?"lightgreen":t<r?"lightred":"lightgraybg"}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Qt({type:e,selectors:[["","class-row",""]],inputs:{clazz:"clazz",translations:"translations",lineCoverageAvailable:"lineCoverageAvailable",branchCoverageAvailable:"branchCoverageAvailable",methodCoverageAvailable:"methodCoverageAvailable",visibleMetrics:"visibleMetrics",historyComparisionDate:"historyComparisionDate"},attrs:nO,decls:18,vars:17,consts:[[3,"href",4,"ngIf"],[4,"ngIf"],["class","right",4,"ngIf"],["class","right",3,"title",4,"ngIf"],["class","right",4,"ngFor","ngForOf"],[3,"href"],[1,"right"],[3,"title"],[1,"currenthistory"],[1,"right",3,"title"],["coverage-history-chart","","class","tinylinecoveragechart ct-chart",3,"historicCoverages","ngClass","title",4,"ngIf"],["coverage-history-chart","",1,"tinylinecoveragechart","ct-chart",3,"historicCoverages","ngClass","title"],[3,"percentage"],["coverage-history-chart","","class","tinybranchcoveragechart ct-chart",3,"historicCoverages","ngClass","title",4,"ngIf"],["coverage-history-chart","",1,"tinybranchcoveragechart","ct-chart",3,"historicCoverages","ngClass","title"],["coverage-history-chart","","class","tinymethodcoveragechart ct-chart",3,"historicCoverages","ngClass","title",4,"ngIf"],["coverage-history-chart","",1,"tinymethodcoveragechart","ct-chart",3,"historicCoverages","ngClass","title"]],template:function(t,r){1&t&&(y(0,"td"),C(1,rO,2,2,"a",0),C(2,oO,2,1,"ng-container",1),_(),C(3,aO,3,2,"td",2),C(4,uO,3,2,"td",2),C(5,hO,3,2,"td",2),C(6,mO,3,2,"td",2),C(7,CO,4,4,"td",3),C(8,DO,2,1,"td",2),C(9,EO,3,2,"td",2),C(10,SO,3,2,"td",2),C(11,xO,4,4,"td",3),C(12,OO,2,1,"td",2),C(13,PO,3,2,"td",2),C(14,VO,3,2,"td",2),C(15,$O,4,4,"td",3),C(16,UO,2,1,"td",2),C(17,zO,2,1,"td",4)),2&t&&(f(1),g("ngIf",""!==r.clazz.reportPath),f(1),g("ngIf",""===r.clazz.reportPath),f(1),g("ngIf",r.lineCoverageAvailable),f(1),g("ngIf",r.lineCoverageAvailable),f(1),g("ngIf",r.lineCoverageAvailable),f(1),g("ngIf",r.lineCoverageAvailable),f(1),g("ngIf",r.lineCoverageAvailable),f(1),g("ngIf",r.lineCoverageAvailable),f(1),g("ngIf",r.branchCoverageAvailable),f(1),g("ngIf",r.branchCoverageAvailable),f(1),g("ngIf",r.branchCoverageAvailable),f(1),g("ngIf",r.branchCoverageAvailable),f(1),g("ngIf",r.methodCoverageAvailable),f(1),g("ngIf",r.methodCoverageAvailable),f(1),g("ngIf",r.methodCoverageAvailable),f(1),g("ngIf",r.methodCoverageAvailable),f(1),g("ngForOf",r.visibleMetrics))},dependencies:[Ho,Vr,Zn,tO,Fy],encapsulation:2,changeDetection:0}),e})();function WO(e,n){if(1&e){const t=we();y(0,"popup",28),k("visibleChange",function(o){return Y(t),Q(m(2).popupVisible=o)})("showLineCoverageChange",function(o){return Y(t),Q(m(2).settings.showLineCoverage=o)})("showBranchCoverageChange",function(o){return Y(t),Q(m(2).settings.showBranchCoverage=o)})("showMethodCoverageChange",function(o){return Y(t),Q(m(2).settings.showMethodCoverage=o)})("visibleMetricsChange",function(o){return Y(t),Q(m(2).settings.visibleMetrics=o)}),_()}if(2&e){const t=m(2);g("visible",t.popupVisible)("translations",t.translations)("branchCoverageAvailable",t.branchCoverageAvailable)("methodCoverageAvailable",t.methodCoverageAvailable)("metrics",t.metrics)("showLineCoverage",t.settings.showLineCoverage)("showBranchCoverage",t.settings.showBranchCoverage)("showMethodCoverage",t.settings.showMethodCoverage)("visibleMetrics",t.settings.visibleMetrics)}}function qO(e,n){if(1&e&&(ee(0),b(1),te()),2&e){const t=m(2);f(1),O(t.translations.noGrouping)}}function ZO(e,n){if(1&e&&(ee(0),b(1),te()),2&e){const t=m(2);f(1),O(t.translations.byAssembly)}}function YO(e,n){if(1&e&&(ee(0),b(1),te()),2&e){const t=m(2);f(1),O(t.translations.byNamespace+" "+t.settings.grouping)}}function QO(e,n){if(1&e&&(y(0,"option",32),b(1),_()),2&e){const t=n.$implicit;g("value",t),f(1),O(t)}}function KO(e,n){1&e&&x(0,"br")}function JO(e,n){if(1&e&&(y(0,"option",40),b(1),_()),2&e){const t=m(4);f(1),q(" ",t.translations.branchCoverageIncreaseOnly," ")}}function XO(e,n){if(1&e&&(y(0,"option",41),b(1),_()),2&e){const t=m(4);f(1),q(" ",t.translations.branchCoverageDecreaseOnly," ")}}function eF(e,n){if(1&e&&(y(0,"option",42),b(1),_()),2&e){const t=m(4);f(1),q(" ",t.translations.methodCoverageIncreaseOnly," ")}}function tF(e,n){if(1&e&&(y(0,"option",43),b(1),_()),2&e){const t=m(4);f(1),q(" ",t.translations.methodCoverageDecreaseOnly," ")}}function nF(e,n){if(1&e){const t=we();y(0,"div")(1,"select",29),k("ngModelChange",function(o){return Y(t),Q(m(3).settings.historyComparisionType=o)}),y(2,"option",30),b(3),_(),y(4,"option",33),b(5),_(),y(6,"option",34),b(7),_(),y(8,"option",35),b(9),_(),C(10,JO,2,1,"option",36),C(11,XO,2,1,"option",37),C(12,eF,2,1,"option",38),C(13,tF,2,1,"option",39),_()()}if(2&e){const t=m(3);f(1),g("ngModel",t.settings.historyComparisionType),f(2),O(t.translations.filter),f(2),O(t.translations.allChanges),f(2),O(t.translations.lineCoverageIncreaseOnly),f(2),O(t.translations.lineCoverageDecreaseOnly),f(1),g("ngIf",t.branchCoverageAvailable),f(1),g("ngIf",t.branchCoverageAvailable),f(1),g("ngIf",t.methodCoverageAvailable),f(1),g("ngIf",t.methodCoverageAvailable)}}function rF(e,n){if(1&e){const t=we();ee(0),y(1,"div"),b(2),y(3,"select",29),k("ngModelChange",function(o){return Y(t),Q(m(2).settings.historyComparisionDate=o)})("ngModelChange",function(){return Y(t),Q(m(2).updateCurrentHistoricCoverage())}),y(4,"option",30),b(5),_(),C(6,QO,2,2,"option",31),_()(),C(7,KO,1,0,"br",0),C(8,nF,14,9,"div",0),te()}if(2&e){const t=m(2);f(2),q(" ",t.translations.compareHistory," "),f(1),g("ngModel",t.settings.historyComparisionDate),f(2),O(t.translations.date),f(1),g("ngForOf",t.historicCoverageExecutionTimes),f(1),g("ngIf",""!==t.settings.historyComparisionDate),f(1),g("ngIf",""!==t.settings.historyComparisionDate)}}function oF(e,n){1&e&&x(0,"col",44)}function iF(e,n){1&e&&x(0,"col",45)}function sF(e,n){1&e&&x(0,"col",46)}function aF(e,n){1&e&&x(0,"col",47)}function lF(e,n){1&e&&x(0,"col",48)}function cF(e,n){1&e&&x(0,"col",49)}function uF(e,n){1&e&&x(0,"col",44)}function dF(e,n){1&e&&x(0,"col",47)}function fF(e,n){1&e&&x(0,"col",48)}function hF(e,n){1&e&&x(0,"col",49)}function pF(e,n){1&e&&x(0,"col",44)}function gF(e,n){1&e&&x(0,"col",47)}function mF(e,n){1&e&&x(0,"col",48)}function vF(e,n){1&e&&x(0,"col",49)}function _F(e,n){1&e&&x(0,"col",49)}function yF(e,n){if(1&e&&(y(0,"th",50),b(1),_()),2&e){const t=m(2);f(1),O(t.translations.coverage)}}function CF(e,n){if(1&e&&(y(0,"th",51),b(1),_()),2&e){const t=m(2);f(1),O(t.translations.branchCoverage)}}function DF(e,n){if(1&e&&(y(0,"th",51),b(1),_()),2&e){const t=m(2);f(1),O(t.translations.methodCoverage)}}function wF(e,n){if(1&e&&(y(0,"th",4),b(1),_()),2&e){const t=m(2);Et("colspan",t.settings.visibleMetrics.length),f(1),O(t.translations.metrics)}}const pt=function(e,n,t){return{"icon-up-dir_active":e,"icon-down-dir_active":n,"icon-down-dir":t}};function bF(e,n){if(1&e){const t=we();y(0,"th",6)(1,"a",3),k("click",function(o){return Y(t),Q(m(2).updateSorting("covered",o))}),x(2,"i",24),b(3),_()()}if(2&e){const t=m(2);f(2),g("ngClass",Ve(2,pt,"covered"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"covered"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"covered"!==t.settings.sortBy)),f(1),O(t.translations.covered)}}function EF(e,n){if(1&e){const t=we();y(0,"th",6)(1,"a",3),k("click",function(o){return Y(t),Q(m(2).updateSorting("uncovered",o))}),x(2,"i",24),b(3),_()()}if(2&e){const t=m(2);f(2),g("ngClass",Ve(2,pt,"uncovered"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"uncovered"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"uncovered"!==t.settings.sortBy)),f(1),O(t.translations.uncovered)}}function MF(e,n){if(1&e){const t=we();y(0,"th",6)(1,"a",3),k("click",function(o){return Y(t),Q(m(2).updateSorting("coverable",o))}),x(2,"i",24),b(3),_()()}if(2&e){const t=m(2);f(2),g("ngClass",Ve(2,pt,"coverable"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"coverable"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"coverable"!==t.settings.sortBy)),f(1),O(t.translations.coverable)}}function IF(e,n){if(1&e){const t=we();y(0,"th",6)(1,"a",3),k("click",function(o){return Y(t),Q(m(2).updateSorting("total",o))}),x(2,"i",24),b(3),_()()}if(2&e){const t=m(2);f(2),g("ngClass",Ve(2,pt,"total"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"total"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"total"!==t.settings.sortBy)),f(1),O(t.translations.total)}}function SF(e,n){if(1&e){const t=we();y(0,"th",52)(1,"a",3),k("click",function(o){return Y(t),Q(m(2).updateSorting("coverage",o))}),x(2,"i",24),b(3),_()()}if(2&e){const t=m(2);f(2),g("ngClass",Ve(2,pt,"coverage"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"coverage"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"coverage"!==t.settings.sortBy)),f(1),O(t.translations.percentage)}}function AF(e,n){if(1&e){const t=we();y(0,"th",6)(1,"a",3),k("click",function(o){return Y(t),Q(m(2).updateSorting("covered_branches",o))}),x(2,"i",24),b(3),_()()}if(2&e){const t=m(2);f(2),g("ngClass",Ve(2,pt,"covered_branches"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"covered_branches"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"covered_branches"!==t.settings.sortBy)),f(1),O(t.translations.covered)}}function TF(e,n){if(1&e){const t=we();y(0,"th",6)(1,"a",3),k("click",function(o){return Y(t),Q(m(2).updateSorting("total_branches",o))}),x(2,"i",24),b(3),_()()}if(2&e){const t=m(2);f(2),g("ngClass",Ve(2,pt,"total_branches"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"total_branches"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"total_branches"!==t.settings.sortBy)),f(1),O(t.translations.total)}}function NF(e,n){if(1&e){const t=we();y(0,"th",52)(1,"a",3),k("click",function(o){return Y(t),Q(m(2).updateSorting("branchcoverage",o))}),x(2,"i",24),b(3),_()()}if(2&e){const t=m(2);f(2),g("ngClass",Ve(2,pt,"branchcoverage"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"branchcoverage"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"branchcoverage"!==t.settings.sortBy)),f(1),O(t.translations.percentage)}}function xF(e,n){if(1&e){const t=we();y(0,"th",6)(1,"a",3),k("click",function(o){return Y(t),Q(m(2).updateSorting("covered_methods",o))}),x(2,"i",24),b(3),_()()}if(2&e){const t=m(2);f(2),g("ngClass",Ve(2,pt,"covered_methods"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"covered_methods"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"covered_methods"!==t.settings.sortBy)),f(1),O(t.translations.covered)}}function OF(e,n){if(1&e){const t=we();y(0,"th",6)(1,"a",3),k("click",function(o){return Y(t),Q(m(2).updateSorting("total_methods",o))}),x(2,"i",24),b(3),_()()}if(2&e){const t=m(2);f(2),g("ngClass",Ve(2,pt,"total_methods"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"total_methods"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"total_methods"!==t.settings.sortBy)),f(1),O(t.translations.total)}}function FF(e,n){if(1&e){const t=we();y(0,"th",52)(1,"a",3),k("click",function(o){return Y(t),Q(m(2).updateSorting("methodcoverage",o))}),x(2,"i",24),b(3),_()()}if(2&e){const t=m(2);f(2),g("ngClass",Ve(2,pt,"methodcoverage"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"methodcoverage"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"methodcoverage"!==t.settings.sortBy)),f(1),O(t.translations.percentage)}}function RF(e,n){if(1&e){const t=we();y(0,"th")(1,"a",3),k("click",function(o){const s=Y(t).$implicit;return Q(m(2).updateSorting(s.abbreviation,o))}),x(2,"i",24),b(3),_(),y(4,"a",53),x(5,"i",54),_()()}if(2&e){const t=n.$implicit,r=m(2);f(2),g("ngClass",Ve(3,pt,r.settings.sortBy===t.abbreviation&&"desc"===r.settings.sortOrder,r.settings.sortBy===t.abbreviation&&"asc"===r.settings.sortOrder,r.settings.sortBy!==t.abbreviation)),f(1),O(t.name),f(1),_n("href",t.explanationUrl,mn)}}function PF(e,n){if(1&e&&x(0,"tr",56),2&e){const t=m().$implicit,r=m(2);g("element",t)("collapsed",t.collapsed)("lineCoverageAvailable",r.settings.showLineCoverage)("branchCoverageAvailable",r.branchCoverageAvailable&&r.settings.showBranchCoverage)("methodCoverageAvailable",r.methodCoverageAvailable&&r.settings.showMethodCoverage)("visibleMetrics",r.settings.visibleMetrics)}}function kF(e,n){if(1&e&&x(0,"tr",58),2&e){const t=m().$implicit,r=m(3);g("clazz",t)("translations",r.translations)("lineCoverageAvailable",r.settings.showLineCoverage)("branchCoverageAvailable",r.branchCoverageAvailable&&r.settings.showBranchCoverage)("methodCoverageAvailable",r.methodCoverageAvailable&&r.settings.showMethodCoverage)("visibleMetrics",r.settings.visibleMetrics)("historyComparisionDate",r.settings.historyComparisionDate)}}function LF(e,n){if(1&e&&(ee(0),C(1,kF,1,7,"tr",57),te()),2&e){const t=n.$implicit,r=m().$implicit,o=m(2);f(1),g("ngIf",!r.collapsed&&t.visible(o.settings.filter,o.settings.historyComparisionType))}}function VF(e,n){if(1&e&&x(0,"tr",61),2&e){const t=m().$implicit,r=m(5);g("clazz",t)("translations",r.translations)("lineCoverageAvailable",r.settings.showLineCoverage)("branchCoverageAvailable",r.branchCoverageAvailable&&r.settings.showBranchCoverage)("methodCoverageAvailable",r.methodCoverageAvailable&&r.settings.showMethodCoverage)("visibleMetrics",r.settings.visibleMetrics)("historyComparisionDate",r.settings.historyComparisionDate)}}function HF(e,n){if(1&e&&(ee(0),C(1,VF,1,7,"tr",60),te()),2&e){const t=n.$implicit,r=m(2).$implicit,o=m(3);f(1),g("ngIf",!r.collapsed&&t.visible(o.settings.filter,o.settings.historyComparisionType))}}function BF(e,n){if(1&e&&(ee(0),x(1,"tr",59),C(2,HF,2,1,"ng-container",27),te()),2&e){const t=m().$implicit,r=m(3);f(1),g("element",t)("collapsed",t.collapsed)("lineCoverageAvailable",r.settings.showLineCoverage)("branchCoverageAvailable",r.branchCoverageAvailable&&r.settings.showBranchCoverage)("methodCoverageAvailable",r.methodCoverageAvailable&&r.settings.showMethodCoverage)("visibleMetrics",r.settings.visibleMetrics),f(1),g("ngForOf",t.classes)}}function jF(e,n){if(1&e&&(ee(0),C(1,BF,3,7,"ng-container",0),te()),2&e){const t=n.$implicit,r=m().$implicit,o=m(2);f(1),g("ngIf",!r.collapsed&&t.visible(o.settings.filter,o.settings.historyComparisionType))}}function $F(e,n){if(1&e&&(ee(0),C(1,PF,1,6,"tr",55),C(2,LF,2,1,"ng-container",27),C(3,jF,2,1,"ng-container",27),te()),2&e){const t=n.$implicit,r=m(2);f(1),g("ngIf",t.visible(r.settings.filter,r.settings.historyComparisionType)),f(1),g("ngForOf",t.classes),f(1),g("ngForOf",t.subElements)}}function UF(e,n){if(1&e){const t=we();y(0,"div"),C(1,WO,1,9,"popup",1),y(2,"div",2)(3,"div")(4,"a",3),k("click",function(o){return Y(t),Q(m().collapseAll(o))}),b(5),_(),b(6," | "),y(7,"a",3),k("click",function(o){return Y(t),Q(m().expandAll(o))}),b(8),_()(),y(9,"div",4),C(10,qO,2,1,"ng-container",0),C(11,ZO,2,1,"ng-container",0),C(12,YO,2,1,"ng-container",0),x(13,"br"),b(14),y(15,"input",5),k("ngModelChange",function(o){return Y(t),Q(m().settings.grouping=o)})("ngModelChange",function(){return Y(t),Q(m().updateCoverageInfo())}),_()(),y(16,"div",4),C(17,rF,9,6,"ng-container",0),_(),y(18,"div",6)(19,"div")(20,"button",7),k("click",function(){return Y(t),Q(m().popupVisible=!0)}),x(21,"i",8),b(22),_()(),x(23,"br"),y(24,"div")(25,"span"),b(26),_(),y(27,"input",9),k("ngModelChange",function(o){return Y(t),Q(m().settings.filter=o)}),_()()()(),y(28,"div",10)(29,"table",11)(30,"colgroup"),x(31,"col",12),C(32,oF,1,0,"col",13),C(33,iF,1,0,"col",14),C(34,sF,1,0,"col",15),C(35,aF,1,0,"col",16),C(36,lF,1,0,"col",17),C(37,cF,1,0,"col",18),C(38,uF,1,0,"col",13),C(39,dF,1,0,"col",16),C(40,fF,1,0,"col",17),C(41,hF,1,0,"col",18),C(42,pF,1,0,"col",13),C(43,gF,1,0,"col",16),C(44,mF,1,0,"col",17),C(45,vF,1,0,"col",18),C(46,_F,1,0,"col",19),_(),y(47,"thead")(48,"tr",20),x(49,"th"),C(50,yF,2,1,"th",21),C(51,CF,2,1,"th",22),C(52,DF,2,1,"th",22),C(53,wF,2,2,"th",23),_(),y(54,"tr")(55,"th")(56,"a",3),k("click",function(o){return Y(t),Q(m().updateSorting("name",o))}),x(57,"i",24),b(58),_()(),C(59,bF,4,6,"th",25),C(60,EF,4,6,"th",25),C(61,MF,4,6,"th",25),C(62,IF,4,6,"th",25),C(63,SF,4,6,"th",26),C(64,AF,4,6,"th",25),C(65,TF,4,6,"th",25),C(66,NF,4,6,"th",26),C(67,xF,4,6,"th",25),C(68,OF,4,6,"th",25),C(69,FF,4,6,"th",26),C(70,RF,6,7,"th",27),_()(),y(71,"tbody"),C(72,$F,4,3,"ng-container",27),_()()()()}if(2&e){const t=m();f(1),g("ngIf",t.popupVisible),f(4),O(t.translations.collapseAll),f(3),O(t.translations.expandAll),f(2),g("ngIf",-1===t.settings.grouping),f(1),g("ngIf",0===t.settings.grouping),f(1),g("ngIf",t.settings.grouping>0),f(2),q(" ",t.translations.grouping," "),f(1),g("max",t.settings.groupingMaximum)("ngModel",t.settings.grouping),f(2),g("ngIf",t.historicCoverageExecutionTimes.length>0),f(5),O(t.metrics.length>0?t.translations.selectCoverageTypesAndMetrics:t.translations.selectCoverageTypes),f(4),q("",t.translations.filter," "),f(1),g("ngModel",t.settings.filter),f(5),g("ngIf",t.settings.showLineCoverage),f(1),g("ngIf",t.settings.showLineCoverage),f(1),g("ngIf",t.settings.showLineCoverage),f(1),g("ngIf",t.settings.showLineCoverage),f(1),g("ngIf",t.settings.showLineCoverage),f(1),g("ngIf",t.settings.showLineCoverage),f(1),g("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(1),g("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(1),g("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(1),g("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(1),g("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(1),g("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(1),g("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(1),g("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(1),g("ngForOf",t.settings.visibleMetrics),f(4),g("ngIf",t.settings.showLineCoverage),f(1),g("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(1),g("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(1),g("ngIf",t.settings.visibleMetrics.length>0),f(4),g("ngClass",Ve(47,pt,"name"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"name"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"name"!==t.settings.sortBy)),f(1),O(t.translations.name),f(1),g("ngIf",t.settings.showLineCoverage),f(1),g("ngIf",t.settings.showLineCoverage),f(1),g("ngIf",t.settings.showLineCoverage),f(1),g("ngIf",t.settings.showLineCoverage),f(1),g("ngIf",t.settings.showLineCoverage),f(1),g("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(1),g("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(1),g("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(1),g("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(1),g("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(1),g("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(1),g("ngForOf",t.settings.visibleMetrics),f(2),g("ngForOf",t.codeElements)}}let zF=(()=>{class e{constructor(t){this.queryString="",this.historicCoverageExecutionTimes=[],this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.metrics=[],this.codeElements=[],this.translations={},this.popupVisible=!1,this.settings=new wx,this.window=t.nativeWindow}ngOnInit(){this.historicCoverageExecutionTimes=this.window.historicCoverageExecutionTimes,this.branchCoverageAvailable=this.window.branchCoverageAvailable,this.methodCoverageAvailable=this.window.methodCoverageAvailable,this.metrics=this.window.metrics,this.translations=this.window.translations;let t=!1;if(void 0!==this.window.history&&void 0!==this.window.history.replaceState&&null!==this.window.history.state&&null!=this.window.history.state.coverageInfoSettings)console.log("Coverage info: Restoring from history",this.window.history.state.coverageInfoSettings),t=!0,this.settings=JSON.parse(JSON.stringify(this.window.history.state.coverageInfoSettings));else{let o=0,i=this.window.assemblies;for(let s=0;s<i.length;s++)for(let a=0;a<i[s].classes.length;a++)o=Math.max(o,(i[s].classes[a].name.match(/\.|\\/g)||[]).length);this.settings.groupingMaximum=o,console.log("Grouping maximum: "+o),this.settings.showBranchCoverage=this.branchCoverageAvailable,this.settings.showMethodCoverage=this.methodCoverageAvailable}const r=window.location.href.indexOf("?");r>-1&&(this.queryString=window.location.href.substring(r)),this.updateCoverageInfo(),t&&this.restoreCollapseState()}onBeforeUnload(){if(this.saveCollapseState(),void 0!==this.window.history&&void 0!==this.window.history.replaceState){console.log("Coverage info: Updating history",this.settings);let t=new xy;null!==window.history.state&&(t=JSON.parse(JSON.stringify(this.window.history.state))),t.coverageInfoSettings=JSON.parse(JSON.stringify(this.settings)),window.history.replaceState(t,"")}}updateCoverageInfo(){let t=(new Date).getTime(),r=this.window.assemblies,o=[],i=0;if(0===this.settings.grouping)for(let l=0;l<r.length;l++){let c=new In(r[l].name,null);o.push(c);for(let u=0;u<r[l].classes.length;u++)c.insertClass(new Wu(r[l].classes[u],this.queryString),null),i++}else if(-1===this.settings.grouping){let l=new In(this.translations.all,null);o.push(l);for(let c=0;c<r.length;c++)for(let u=0;u<r[c].classes.length;u++)l.insertClass(new Wu(r[c].classes[u],this.queryString),null),i++}else for(let l=0;l<r.length;l++){let c=new In(r[l].name,null);o.push(c);for(let u=0;u<r[l].classes.length;u++)c.insertClass(new Wu(r[l].classes[u],this.queryString),this.settings.grouping),i++}let s=-1,a=1;"name"===this.settings.sortBy&&(s="asc"===this.settings.sortOrder?-1:1,a="asc"===this.settings.sortOrder?1:-1),o.sort(function(l,c){return l.name===c.name?0:l.name<c.name?s:a}),In.sortCodeElementViewModels(o,this.settings.sortBy,"asc"===this.settings.sortOrder);for(let l=0;l<o.length;l++)o[l].changeSorting(this.settings.sortBy,"asc"===this.settings.sortOrder);this.codeElements=o,console.log(`Processing assemblies finished (Duration: ${(new Date).getTime()-t}ms, Assemblies: ${o.length}, Classes: ${i})`),""!==this.settings.historyComparisionDate&&this.updateCurrentHistoricCoverage()}updateCurrentHistoricCoverage(){let t=(new Date).getTime();for(let r=0;r<this.codeElements.length;r++)this.codeElements[r].updateCurrentHistoricCoverage(this.settings.historyComparisionDate);console.log(`Updating current historic coverage finished (Duration: ${(new Date).getTime()-t}ms)`)}collapseAll(t){t.preventDefault();for(let r=0;r<this.codeElements.length;r++)this.codeElements[r].collapse()}expandAll(t){t.preventDefault();for(let r=0;r<this.codeElements.length;r++)this.codeElements[r].expand()}updateSorting(t,r){r.preventDefault(),this.settings.sortOrder=t===this.settings.sortBy&&"asc"===this.settings.sortOrder?"desc":"asc",this.settings.sortBy=t,console.log(`Updating sort column: '${this.settings.sortBy}' (${this.settings.sortOrder})`),In.sortCodeElementViewModels(this.codeElements,this.settings.sortBy,"asc"===this.settings.sortOrder);for(let o=0;o<this.codeElements.length;o++)this.codeElements[o].changeSorting(this.settings.sortBy,"asc"===this.settings.sortOrder)}saveCollapseState(){this.settings.collapseStates=[];let t=r=>{for(let o=0;o<r.length;o++)this.settings.collapseStates.push(r[o].collapsed),t(r[o].subElements)};t(this.codeElements)}restoreCollapseState(){let t=0,r=o=>{for(let i=0;i<o.length;i++)this.settings.collapseStates.length>t&&(o[i].collapsed=this.settings.collapseStates[t]),t++,r(o[i].subElements)};r(this.codeElements)}}return e.\u0275fac=function(t){return new(t||e)(I(qu))},e.\u0275cmp=Qt({type:e,selectors:[["coverage-info"]],hostBindings:function(t,r){1&t&&k("beforeunload",function(){return r.onBeforeUnload()},0,$l)},decls:1,vars:1,consts:[[4,"ngIf"],[3,"visible","translations","branchCoverageAvailable","methodCoverageAvailable","metrics","showLineCoverage","showBranchCoverage","showMethodCoverage","visibleMetrics","visibleChange","showLineCoverageChange","showBranchCoverageChange","showMethodCoverageChange","visibleMetricsChange",4,"ngIf"],[1,"customizebox"],["href","#",3,"click"],[1,"center"],["type","range","step","1","min","-1",3,"max","ngModel","ngModelChange"],[1,"right"],["type","button",3,"click"],[1,"icon-cog"],["type","text",3,"ngModel","ngModelChange"],[1,"table-responsive"],[1,"overview","table-fixed","stripped"],[1,"column-min-200"],["class","column90",4,"ngIf"],["class","column105",4,"ngIf"],["class","column100",4,"ngIf"],["class","column70",4,"ngIf"],["class","column98",4,"ngIf"],["class","column112",4,"ngIf"],["class","column112",4,"ngFor","ngForOf"],[1,"header"],["class","center","colspan","6",4,"ngIf"],["class","center","colspan","4",4,"ngIf"],["class","center",4,"ngIf"],[1,"icon-down-dir",3,"ngClass"],["class","right",4,"ngIf"],["class","center","colspan","2",4,"ngIf"],[4,"ngFor","ngForOf"],[3,"visible","translations","branchCoverageAvailable","methodCoverageAvailable","metrics","showLineCoverage","showBranchCoverage","showMethodCoverage","visibleMetrics","visibleChange","showLineCoverageChange","showBranchCoverageChange","showMethodCoverageChange","visibleMetricsChange"],[3,"ngModel","ngModelChange"],["value",""],[3,"value",4,"ngFor","ngForOf"],[3,"value"],["value","allChanges"],["value","lineCoverageIncreaseOnly"],["value","lineCoverageDecreaseOnly"],["value","branchCoverageIncreaseOnly",4,"ngIf"],["value","branchCoverageDecreaseOnly",4,"ngIf"],["value","methodCoverageIncreaseOnly",4,"ngIf"],["value","methodCoverageDecreaseOnly",4,"ngIf"],["value","branchCoverageIncreaseOnly"],["value","branchCoverageDecreaseOnly"],["value","methodCoverageIncreaseOnly"],["value","methodCoverageDecreaseOnly"],[1,"column90"],[1,"column105"],[1,"column100"],[1,"column70"],[1,"column98"],[1,"column112"],["colspan","6",1,"center"],["colspan","4",1,"center"],["colspan","2",1,"center"],["target","_blank",3,"href"],[1,"icon-info-circled"],["codeelement-row","",3,"element","collapsed","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","visibleMetrics",4,"ngIf"],["codeelement-row","",3,"element","collapsed","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","visibleMetrics"],["class-row","",3,"clazz","translations","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","visibleMetrics","historyComparisionDate",4,"ngIf"],["class-row","",3,"clazz","translations","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","visibleMetrics","historyComparisionDate"],["codeelement-row","",1,"namespace",3,"element","collapsed","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","visibleMetrics"],["class","namespace","class-row","",3,"clazz","translations","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","visibleMetrics","historyComparisionDate",4,"ngIf"],["class-row","",1,"namespace",3,"clazz","translations","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","visibleMetrics","historyComparisionDate"]],template:function(t,r){1&t&&C(0,UF,73,51,"div",0),2&t&&g("ngIf",r.codeElements.length>0)},dependencies:[Ho,Vr,Zn,$u,zu,$o,Vu,Zo,Us,qo,Ox,Xx,GO],encapsulation:2}),e})();class GF{constructor(){this.assembly="",this.numberOfRiskHotspots=10,this.filter="",this.sortBy="",this.sortOrder="asc"}}function WF(e,n){if(1&e&&(y(0,"option",15),b(1),_()),2&e){const t=n.$implicit;g("value",t),f(1),O(t)}}function qF(e,n){if(1&e&&(y(0,"span"),b(1),_()),2&e){const t=m(2);f(1),O(t.translations.top)}}function ZF(e,n){1&e&&(y(0,"option",22),b(1,"20"),_())}function YF(e,n){1&e&&(y(0,"option",23),b(1,"50"),_())}function QF(e,n){1&e&&(y(0,"option",24),b(1,"100"),_())}function KF(e,n){if(1&e&&(y(0,"option",15),b(1),_()),2&e){const t=m(3);g("value",t.totalNumberOfRiskHotspots),f(1),O(t.translations.all)}}function JF(e,n){if(1&e){const t=we();y(0,"select",16),k("ngModelChange",function(o){return Y(t),Q(m(2).settings.numberOfRiskHotspots=o)}),y(1,"option",17),b(2,"10"),_(),C(3,ZF,2,0,"option",18),C(4,YF,2,0,"option",19),C(5,QF,2,0,"option",20),C(6,KF,2,2,"option",21),_()}if(2&e){const t=m(2);g("ngModel",t.settings.numberOfRiskHotspots),f(3),g("ngIf",t.totalNumberOfRiskHotspots>10),f(1),g("ngIf",t.totalNumberOfRiskHotspots>20),f(1),g("ngIf",t.totalNumberOfRiskHotspots>50),f(1),g("ngIf",t.totalNumberOfRiskHotspots>100)}}function XF(e,n){1&e&&x(0,"col",25)}const Js=function(e,n,t){return{"icon-up-dir_active":e,"icon-down-dir_active":n,"icon-down-dir":t}};function eR(e,n){if(1&e){const t=we();y(0,"th")(1,"a",12),k("click",function(o){const s=Y(t).index;return Q(m(2).updateSorting(""+s,o))}),x(2,"i",13),b(3),_(),y(4,"a",26),x(5,"i",27),_()()}if(2&e){const t=n.$implicit,r=n.index,o=m(2);f(2),g("ngClass",Ve(3,Js,o.settings.sortBy===""+r&&"desc"===o.settings.sortOrder,o.settings.sortBy===""+r&&"asc"===o.settings.sortOrder,o.settings.sortBy!==""+r)),f(1),O(t.name),f(1),_n("href",t.explanationUrl,mn)}}const tR=function(e,n){return{lightred:e,lightgreen:n}};function nR(e,n){if(1&e&&(y(0,"td",31),b(1),_()),2&e){const t=n.$implicit;g("ngClass",bc(2,tR,t.exceeded,!t.exceeded)),f(1),O(t.value)}}function rR(e,n){if(1&e&&(y(0,"tr")(1,"td"),b(2),_(),y(3,"td")(4,"a",28),b(5),_()(),y(6,"td",29)(7,"a",28),b(8),_()(),C(9,nR,2,5,"td",30),_()),2&e){const t=n.$implicit,r=m(2);f(2),O(t.assembly),f(2),g("href",t.reportPath+r.queryString,mn),f(1),O(t.class),f(1),g("title",t.methodName),f(1),g("href",t.reportPath+r.queryString+"#file"+t.fileIndex+"_line"+t.line,mn),f(1),q(" ",t.methodShortName," "),f(1),g("ngForOf",t.metrics)}}function oR(e,n){if(1&e){const t=we();y(0,"div")(1,"div",1)(2,"div")(3,"select",2),k("ngModelChange",function(o){return Y(t),Q(m().settings.assembly=o)})("ngModelChange",function(){return Y(t),Q(m().updateRiskHotpots())}),y(4,"option",3),b(5),_(),C(6,WF,2,2,"option",4),_()(),y(7,"div",5),C(8,qF,2,1,"span",0),C(9,JF,7,5,"select",6),_(),x(10,"div",5),y(11,"div",7)(12,"span"),b(13),_(),y(14,"input",8),k("ngModelChange",function(o){return Y(t),Q(m().settings.filter=o)})("ngModelChange",function(){return Y(t),Q(m().updateRiskHotpots())}),_()()(),y(15,"div",9)(16,"table",10)(17,"colgroup"),x(18,"col")(19,"col")(20,"col"),C(21,XF,1,0,"col",11),_(),y(22,"thead")(23,"tr")(24,"th")(25,"a",12),k("click",function(o){return Y(t),Q(m().updateSorting("assembly",o))}),x(26,"i",13),b(27),_()(),y(28,"th")(29,"a",12),k("click",function(o){return Y(t),Q(m().updateSorting("class",o))}),x(30,"i",13),b(31),_()(),y(32,"th")(33,"a",12),k("click",function(o){return Y(t),Q(m().updateSorting("method",o))}),x(34,"i",13),b(35),_()(),C(36,eR,6,7,"th",14),_()(),y(37,"tbody"),C(38,rR,10,7,"tr",14),function xm(e,n){const t=re();let r;const o=e+X;t.firstCreatePass?(r=function t1(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=kn(r.type)),s=Xe(I);try{const a=Mi(!1),l=i();return Mi(a),function P0(e,n,t,r){t>=e.data.length&&(e.data[t]=null,e.blueprint[t]=null),n[t]=r}(t,E(),o,l),l}finally{Xe(s)}}(39,"slice"),_()()()()}if(2&e){const t=m();f(3),g("ngModel",t.settings.assembly),f(2),O(t.translations.assembly),f(1),g("ngForOf",t.assemblies),f(2),g("ngIf",t.totalNumberOfRiskHotspots>10),f(1),g("ngIf",t.totalNumberOfRiskHotspots>10),f(4),q("",t.translations.filter," "),f(1),g("ngModel",t.settings.filter),f(7),g("ngForOf",t.riskHotspotMetrics),f(5),g("ngClass",Ve(20,Js,"assembly"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"assembly"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"assembly"!==t.settings.sortBy)),f(1),O(t.translations.assembly),f(3),g("ngClass",Ve(24,Js,"class"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"class"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"class"!==t.settings.sortBy)),f(1),O(t.translations.class),f(3),g("ngClass",Ve(28,Js,"method"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"method"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"method"!==t.settings.sortBy)),f(1),O(t.translations.method),f(1),g("ngForOf",t.riskHotspotMetrics),f(2),g("ngForOf",Om(39,16,t.riskHotspots,0,t.settings.numberOfRiskHotspots))}}let iR=(()=>{class e{constructor(t){this.queryString="",this.riskHotspotMetrics=[],this.riskHotspots=[],this.totalNumberOfRiskHotspots=0,this.assemblies=[],this.translations={},this.settings=new GF,this.window=t.nativeWindow}ngOnInit(){this.riskHotspotMetrics=this.window.riskHotspotMetrics,this.translations=this.window.translations,void 0!==this.window.history&&void 0!==this.window.history.replaceState&&null!==this.window.history.state&&null!=this.window.history.state.riskHotspotsSettings&&(console.log("Risk hotspots: Restoring from history",this.window.history.state.riskHotspotsSettings),this.settings=JSON.parse(JSON.stringify(this.window.history.state.riskHotspotsSettings)));const t=window.location.href.indexOf("?");t>-1&&(this.queryString=window.location.href.substring(t)),this.updateRiskHotpots()}onDonBeforeUnlodad(){if(void 0!==this.window.history&&void 0!==this.window.history.replaceState){console.log("Risk hotspots: Updating history",this.settings);let t=new xy;null!==window.history.state&&(t=JSON.parse(JSON.stringify(this.window.history.state))),t.riskHotspotsSettings=JSON.parse(JSON.stringify(this.settings)),window.history.replaceState(t,"")}}updateRiskHotpots(){const t=this.window.riskHotspots;if(this.totalNumberOfRiskHotspots=t.length,0===this.assemblies.length){let s=[];for(let a=0;a<t.length;a++)-1===s.indexOf(t[a].assembly)&&s.push(t[a].assembly);this.assemblies=s.sort()}let r=[];for(let s=0;s<t.length;s++)""!==this.settings.filter&&-1===t[s].class.toLowerCase().indexOf(this.settings.filter.toLowerCase())||""!==this.settings.assembly&&t[s].assembly!==this.settings.assembly||r.push(t[s]);let o="asc"===this.settings.sortOrder?-1:1,i="asc"===this.settings.sortOrder?1:-1;if("assembly"===this.settings.sortBy)r.sort(function(s,a){return s.assembly===a.assembly?0:s.assembly<a.assembly?o:i});else if("class"===this.settings.sortBy)r.sort(function(s,a){return s.class===a.class?0:s.class<a.class?o:i});else if("method"===this.settings.sortBy)r.sort(function(s,a){return s.methodShortName===a.methodShortName?0:s.methodShortName<a.methodShortName?o:i});else if(""!==this.settings.sortBy){let s=parseInt(this.settings.sortBy,10);r.sort(function(a,l){return a.metrics[s].value===l.metrics[s].value?0:a.metrics[s].value<l.metrics[s].value?o:i})}this.riskHotspots=r}updateSorting(t,r){r.preventDefault(),this.settings.sortOrder=t===this.settings.sortBy&&"asc"===this.settings.sortOrder?"desc":"asc",this.settings.sortBy=t,console.log(`Updating sort column: '${this.settings.sortBy}' (${this.settings.sortOrder})`),this.updateRiskHotpots()}}return e.\u0275fac=function(t){return new(t||e)(I(qu))},e.\u0275cmp=Qt({type:e,selectors:[["risk-hotspots"]],hostBindings:function(t,r){1&t&&k("beforeunload",function(){return r.onDonBeforeUnlodad()},0,$l)},decls:1,vars:1,consts:[[4,"ngIf"],[1,"customizebox"],["name","assembly",3,"ngModel","ngModelChange"],["value",""],[3,"value",4,"ngFor","ngForOf"],[1,"center"],[3,"ngModel","ngModelChange",4,"ngIf"],[1,"right"],["type","text",3,"ngModel","ngModelChange"],[1,"table-responsive"],[1,"overview","table-fixed","stripped"],["class","column105",4,"ngFor","ngForOf"],["href","#",3,"click"],[1,"icon-down-dir",3,"ngClass"],[4,"ngFor","ngForOf"],[3,"value"],[3,"ngModel","ngModelChange"],["value","10"],["value","20",4,"ngIf"],["value","50",4,"ngIf"],["value","100",4,"ngIf"],[3,"value",4,"ngIf"],["value","20"],["value","50"],["value","100"],[1,"column105"],["target","_blank",3,"href"],[1,"icon-info-circled"],[3,"href"],[3,"title"],["class","right",3,"ngClass",4,"ngFor","ngForOf"],[1,"right",3,"ngClass"]],template:function(t,r){1&t&&C(0,oR,40,32,"div",0),2&t&&g("ngIf",r.totalNumberOfRiskHotspots>0)},dependencies:[Ho,Vr,Zn,$u,zu,$o,Zo,Us,qo,s_],encapsulation:2}),e})(),sR=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=dn({type:e,bootstrap:[iR,zF]}),e.\u0275inj=Wt({providers:[qu],imports:[lN,Dx]}),e})();sN().bootstrapModule(sR).catch(e=>console.error(e))}},ve=>{ve(ve.s=445)}]); /* ]]> */ </script>
</body></html>