diff --git a/conf/default/integrations.conf.default b/conf/default/integrations.conf.default index a129eab9560..578a4503f01 100644 --- a/conf/default/integrations.conf.default +++ b/conf/default/integrations.conf.default @@ -14,11 +14,6 @@ hwp = no # Number of workers for pool to run them in parallel max_workers = 6 -[mandiant_intel] -enabled = no -api_access = -api_secret = - # Create your apikey: https://threatfox.abuse.ch/api/#auth_key # MalwareBazaar uses this key too [abusech] diff --git a/conf/default/memory.conf.default b/conf/default/memory.conf.default index 52e34dac0b4..552f67073c6 100644 --- a/conf/default/memory.conf.default +++ b/conf/default/memory.conf.default @@ -10,80 +10,76 @@ delete_memdump = no # Delete memory dump in the event of a volatility exception delete_memdump_on_exception = no +# Masks. Data that should not be logged +# Just get this information from your plain VM Snapshot (without running malware) +# This will filter out unwanted information in the logs +[mask] +enabled = no +pid_generic = + + # List of available modules # enabled: enable this module # filter: use filters to remove benign system data from the logs # Filters are defined in the mask section at below # Scans for hidden/injected code and dlls -# http://code.google.com/p/volatility/wiki/CommandReferenceMal23#malfind [malfind] enabled = no filter = on # Lists official processes. Does not detect hidden processes -# https://github.com/volatilityfoundation/volatility/wiki/Command-Reference#pslist [pslist] enabled = no filter = off # Process listing in tree form. Does not detect hidden processes (Don't work currently in CAPE) -# https://github.com/volatilityfoundation/volatility/wiki/Command-Reference#pstree [pstree] enabled = no filter = off # Lists hidden processes. Enumerate processes in the Kernel memory using pool tag scanning _POOL_HEADER -# https://github.com/volatilityfoundation/volatility/wiki/Command-Reference#psscan [psscan] enabled = no filter = off # Show callbacks -# http://code.google.com/p/volatility/wiki/CommandReferenceMal23#callbacks [callbacks] enabled = no filter = off # Show sids -# http://code.google.com/p/volatility/wiki/CommandReference23#getsids [getsids] enabled = no filter = off # Show privileges -# http://code.google.com/p/volatility/wiki/CommandReference23#privs [privs] enabled = no filter = off # Display processes' loaded DLLs- Does not display hidden DLLs -# http://code.google.com/p/volatility/wiki/CommandReference23#dlllist [dlllist] enabled = no filter = on # List open handles of processes -# http://code.google.com/p/volatility/wiki/CommandReference23#handles [handles] enabled = no filter = on # Scan for Mutexes (whole system) -# http://code.google.com/p/volatility/wiki/CommandReference23#mutantscan [mutantscan] enabled = no filter = on # Scan for services -# http://code.google.com/p/volatility/wiki/CommandReferenceMal23#svcscan [svcscan] enabled = no filter = on # Scan for kernel drivers (includes hidden, unloaded) -# http://code.google.com/p/volatility/wiki/CommandReference23#modscan [modscan] enabled = no filter = on @@ -106,9 +102,144 @@ filter = off enabled = no filter = off -# Masks. Data that should not be logged -# Just get this information from your plain VM Snapshot (without running malware) -# This will filter out unwanted information in the logs -[mask] +# Not tested module below + +[info] enabled = no -pid_generic = +filter = off + +[psxview] +enabled = no +filter = off + +[ldrmodules] +enabled = no +filter = off + +[cmdline] +enabled = no +filter = off + +[envars] +enabled = no +filter = off + +[modules] +enabled = no +filter = off + +[driverscan] +enabled = no +filter = off + +[driverirp] +enabled = no +filter = off + +[verinfo] +enabled = no +filter = off + +[filescan] +enabled = no +filter = off + +[vadinfo] +enabled = no +filter = off + +[timers] +enabled = no +filter = off + +[hivelist] +enabled = no +filter = off + +[hashdump] +enabled = no +filter = off + +[lsadump] +enabled = no +filter = off + +[cachedump] +enabled = no +filter = off + +[symlinkscan] +enabled = no +filter = off + +[thrdscan] +enabled = no +filter = off + +[hollowprocesses] +enabled = no +filter = off + +[processghosting] +enabled = no +filter = off + +[suspiciousthreads] +enabled = no +filter = off + +[devicetree] +enabled = no +filter = off + +[consoles] +enabled = no +filter = off + +[cmdscan] +enabled = no +filter = off + +[amcache] +enabled = no +filter = off + +[shimcache] +enabled = no +filter = off + +[userassist] +enabled = no +filter = off + +[unloadedmodules] +enabled = no +filter = off + +[iat] +enabled = no +filter = off + +[skeletonkey] +enabled = no +filter = off + +[unhookedsyscalls] +enabled = no +filter = off + +[etwpatch] +enabled = no +filter = off + +[mftscan] +enabled = no +filter = off + +[svclist] +enabled = no +filter = off + +[svcdiff] +enabled = no +filter = off diff --git a/data/html/base-report.html b/data/html/base-report.html index f7d6a475ce5..4324c95da7a 100644 --- a/data/html/base-report.html +++ b/data/html/base-report.html @@ -1,81 +1,65 @@ - - + - -{% if title %} -{{ title }} • CAPE Sandbox -{% else %} -CAPE Sandbox -{% endif %} - - - - +
{% include "graphic/logo.html" %} {% if not summary_report %} - + {% endif %} {% block content %}{% endblock %}
+ diff --git a/data/html/base-web.html b/data/html/base-web.html deleted file mode 100644 index 4445416cd43..00000000000 --- a/data/html/base-web.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - -Cuckoo Sandbox - - - - - - - - - - - - - - - -
- {% include "graphic/logo.html" %} - {% block content %}{% endblock %} - - -
- - - diff --git a/data/html/browse.html b/data/html/browse.html deleted file mode 100644 index a07d64d9340..00000000000 --- a/data/html/browse.html +++ /dev/null @@ -1,63 +0,0 @@ -{% extends "base-web.html" %} -{% block content %} -
- - {% if rows %} - {% include "pagination-menu.html" %} - - - - - - - - - - - - - {% for row in rows %} - - - - - - - - - {% endfor %} - -
IDCategoryTargetMD5AddedStatus
{{row.id}}{{row.category|upper}} - {% if row.processed %} - - {% endif %} - - {% if row.category == "file" %} - {{os.path.basename(row.target)}} - {% elif row.category == "url" %} - {{row.target}} - {% endif %} - - {% if row.processed %} - - {% endif %} - - {% if row.category == "file" %} - {{row.md5}} - {% endif %} - {{row.added_on}}{{row.status}}
- {% include "pagination-menu.html" %} - {% else %} -
- Analysis not found! Your database is empty. Run an analysis. -
- {% endif %} -
-{% endblock %} diff --git a/data/html/css/bootstrap.min.css b/data/html/css/bootstrap.min.css deleted file mode 100644 index 494adaa688e..00000000000 --- a/data/html/css/bootstrap.min.css +++ /dev/null @@ -1,12 +0,0 @@ -/*! - * Bootswatch v4.5.3 - * Homepage: https://bootswatch.com - * Copyright 2012-2020 Thomas Park - * Licensed under MIT - * Based on Bootstrap -*//*! - * Bootstrap v4.5.3 (https://getbootstrap.com/) - * Copyright 2011-2020 The Bootstrap Authors - * Copyright 2011-2020 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */@import url(https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,400;0,700;1,400&display=swap);:root{--blue:#375a7f;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#e74c3c;--orange:#fd7e14;--yellow:#f39c12;--green:#00bc8c;--teal:#20c997;--cyan:#3498db;--white:#fff;--gray:#888;--gray-dark:#303030;--primary:#375a7f;--secondary:#444;--success:#00bc8c;--info:#3498db;--warning:#f39c12;--danger:#e74c3c;--light:#adb5bd;--dark:#303030;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:Lato,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:Lato,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:.9375rem;font-weight:400;line-height:1.5;color:#fff;text-align:left;background-color:#222}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#00bc8c;text-decoration:none;background-color:transparent}a:hover{color:#007053;text-decoration:underline}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#888;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:3rem}.h2,h2{font-size:2.5rem}.h3,h3{font-size:2rem}.h4,h4{font-size:1.40625rem}.h5,h5{font-size:1.171875rem}.h6,h6{font-size:.9375rem}.lead{font-size:1.171875rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.171875rem}.blockquote-footer{display:block;font-size:80%;color:#888}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#222;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#888}code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#222;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:inherit}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-sm-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-md-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-md-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-md-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-lg-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-xl-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#fff}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #444}.table thead th{vertical-align:bottom;border-bottom:2px solid #444}.table tbody+tbody{border-top:2px solid #444}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #444}.table-bordered td,.table-bordered th{border:1px solid #444}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:#303030}.table-hover tbody tr:hover{color:#fff;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#c7d1db}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#97a9bc}.table-hover .table-primary:hover{background-color:#b7c4d1}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#b7c4d1}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#cbcbcb}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#9e9e9e}.table-hover .table-secondary:hover{background-color:#bebebe}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#bebebe}.table-success,.table-success>td,.table-success>th{background-color:#b8ecdf}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#7adcc3}.table-hover .table-success:hover{background-color:#a4e7d6}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#a4e7d6}.table-info,.table-info>td,.table-info>th{background-color:#c6e2f5}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#95c9ec}.table-hover .table-info:hover{background-color:#b0d7f1}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#b0d7f1}.table-warning,.table-warning>td,.table-warning>th{background-color:#fce3bd}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#f9cc84}.table-hover .table-warning:hover{background-color:#fbd9a5}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#fbd9a5}.table-danger,.table-danger>td,.table-danger>th{background-color:#f8cdc8}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#f3a29a}.table-hover .table-danger:hover{background-color:#f5b8b1}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f5b8b1}.table-light,.table-light>td,.table-light>th{background-color:#e8eaed}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#d4d9dd}.table-hover .table-light:hover{background-color:#dadde2}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#dadde2}.table-dark,.table-dark>td,.table-dark>th{background-color:#c5c5c5}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#939393}.table-hover .table-dark:hover{background-color:#b8b8b8}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b8b8b8}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#303030;border-color:#434343}.table .thead-light th{color:#444;background-color:#ebebeb;border-color:#444}.table-dark{color:#fff;background-color:#303030}.table-dark td,.table-dark th,.table-dark thead th{border-color:#434343}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:.9375rem;font-weight:400;line-height:1.5;color:#444;background-color:#fff;background-clip:padding-box;border:1px solid #222;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #444}.form-control:focus{color:#444;background-color:#fff;border-color:#739ac2;outline:0;box-shadow:0 0 0 .2rem rgba(55,90,127,.25)}.form-control::-webkit-input-placeholder{color:#888;opacity:1}.form-control::-moz-placeholder{color:#888;opacity:1}.form-control:-ms-input-placeholder{color:#888;opacity:1}.form-control::-ms-input-placeholder{color:#888;opacity:1}.form-control::placeholder{color:#888;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#ebebeb;opacity:1}input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none}select.form-control:focus::-ms-value{color:#444;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.171875rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.825rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:.9375rem;line-height:1.5;color:#fff;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.825rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.171875rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#888}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#00bc8c}.valid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.825rem;line-height:1.5;color:#fff;background-color:rgba(0,188,140,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#00bc8c;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2300bc8c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#00bc8c;box-shadow:0 0 0 .2rem rgba(0,188,140,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#00bc8c;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23303030' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2300bc8c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#00bc8c;box-shadow:0 0 0 .2rem rgba(0,188,140,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#00bc8c}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#00bc8c}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#00bc8c}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#444;background-color:#444}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,188,140,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#00bc8c}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#00bc8c}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#00bc8c;box-shadow:0 0 0 .2rem rgba(0,188,140,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#e74c3c}.invalid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.825rem;line-height:1.5;color:#fff;background-color:rgba(231,76,60,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#e74c3c;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23e74c3c' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23e74c3c' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#e74c3c;box-shadow:0 0 0 .2rem rgba(231,76,60,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#e74c3c;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23303030' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23e74c3c' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23e74c3c' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#e74c3c;box-shadow:0 0 0 .2rem rgba(231,76,60,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#e74c3c}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#e74c3c}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#e74c3c}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#ed7669;background-color:#ed7669}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(231,76,60,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#e74c3c}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#e74c3c}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#e74c3c;box-shadow:0 0 0 .2rem rgba(231,76,60,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#fff;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:.9375rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#fff;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(55,90,127,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#375a7f;border-color:#375a7f}.btn-primary:hover{color:#fff;background-color:#2b4764;border-color:#28415b}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#2b4764;border-color:#28415b;box-shadow:0 0 0 .2rem rgba(85,115,146,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#375a7f;border-color:#375a7f}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#28415b;border-color:#243a53}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(85,115,146,.5)}.btn-secondary{color:#fff;background-color:#444;border-color:#444}.btn-secondary:hover{color:#fff;background-color:#313131;border-color:#2b2b2b}.btn-secondary.focus,.btn-secondary:focus{color:#fff;background-color:#313131;border-color:#2b2b2b;box-shadow:0 0 0 .2rem rgba(96,96,96,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#444;border-color:#444}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#2b2b2b;border-color:#242424}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(96,96,96,.5)}.btn-success{color:#fff;background-color:#00bc8c;border-color:#00bc8c}.btn-success:hover{color:#fff;background-color:#009670;border-color:#008966}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#009670;border-color:#008966;box-shadow:0 0 0 .2rem rgba(38,198,157,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#00bc8c;border-color:#00bc8c}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#008966;border-color:#007c5d}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,198,157,.5)}.btn-info{color:#fff;background-color:#3498db;border-color:#3498db}.btn-info:hover{color:#fff;background-color:#2384c6;border-color:#217dbb}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#2384c6;border-color:#217dbb;box-shadow:0 0 0 .2rem rgba(82,167,224,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#3498db;border-color:#3498db}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#217dbb;border-color:#1f76b0}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,167,224,.5)}.btn-warning{color:#fff;background-color:#f39c12;border-color:#f39c12}.btn-warning:hover{color:#fff;background-color:#d4860b;border-color:#c87f0a}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#d4860b;border-color:#c87f0a;box-shadow:0 0 0 .2rem rgba(245,171,54,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#fff;background-color:#f39c12;border-color:#f39c12}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#fff;background-color:#c87f0a;border-color:#bc770a}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(245,171,54,.5)}.btn-danger{color:#fff;background-color:#e74c3c;border-color:#e74c3c}.btn-danger:hover{color:#fff;background-color:#e12e1c;border-color:#d62c1a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#e12e1c;border-color:#d62c1a;box-shadow:0 0 0 .2rem rgba(235,103,89,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#e74c3c;border-color:#e74c3c}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#d62c1a;border-color:#ca2a19}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(235,103,89,.5)}.btn-light{color:#222;background-color:#adb5bd;border-color:#adb5bd}.btn-light:hover{color:#fff;background-color:#98a2ac;border-color:#919ca6}.btn-light.focus,.btn-light:focus{color:#fff;background-color:#98a2ac;border-color:#919ca6;box-shadow:0 0 0 .2rem rgba(152,159,166,.5)}.btn-light.disabled,.btn-light:disabled{color:#222;background-color:#adb5bd;border-color:#adb5bd}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#fff;background-color:#919ca6;border-color:#8a95a1}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(152,159,166,.5)}.btn-dark{color:#fff;background-color:#303030;border-color:#303030}.btn-dark:hover{color:#fff;background-color:#1d1d1d;border-color:#171717}.btn-dark.focus,.btn-dark:focus{color:#fff;background-color:#1d1d1d;border-color:#171717;box-shadow:0 0 0 .2rem rgba(79,79,79,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#303030;border-color:#303030}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#171717;border-color:#101010}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(79,79,79,.5)}.btn-outline-primary{color:#375a7f;border-color:#375a7f}.btn-outline-primary:hover{color:#fff;background-color:#375a7f;border-color:#375a7f}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(55,90,127,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#375a7f;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#375a7f;border-color:#375a7f}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(55,90,127,.5)}.btn-outline-secondary{color:#444;border-color:#444}.btn-outline-secondary:hover{color:#fff;background-color:#444;border-color:#444}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(68,68,68,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#444;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#444;border-color:#444}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(68,68,68,.5)}.btn-outline-success{color:#00bc8c;border-color:#00bc8c}.btn-outline-success:hover{color:#fff;background-color:#00bc8c;border-color:#00bc8c}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(0,188,140,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#00bc8c;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#00bc8c;border-color:#00bc8c}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,188,140,.5)}.btn-outline-info{color:#3498db;border-color:#3498db}.btn-outline-info:hover{color:#fff;background-color:#3498db;border-color:#3498db}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(52,152,219,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#3498db;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#3498db;border-color:#3498db}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,152,219,.5)}.btn-outline-warning{color:#f39c12;border-color:#f39c12}.btn-outline-warning:hover{color:#fff;background-color:#f39c12;border-color:#f39c12}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(243,156,18,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#f39c12;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#fff;background-color:#f39c12;border-color:#f39c12}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(243,156,18,.5)}.btn-outline-danger{color:#e74c3c;border-color:#e74c3c}.btn-outline-danger:hover{color:#fff;background-color:#e74c3c;border-color:#e74c3c}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(231,76,60,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#e74c3c;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#e74c3c;border-color:#e74c3c}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(231,76,60,.5)}.btn-outline-light{color:#adb5bd;border-color:#adb5bd}.btn-outline-light:hover{color:#222;background-color:#adb5bd;border-color:#adb5bd}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(173,181,189,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#adb5bd;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#222;background-color:#adb5bd;border-color:#adb5bd}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(173,181,189,.5)}.btn-outline-dark{color:#303030;border-color:#303030}.btn-outline-dark:hover{color:#fff;background-color:#303030;border-color:#303030}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(48,48,48,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#303030;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#303030;border-color:#303030}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(48,48,48,.5)}.btn-link{font-weight:400;color:#00bc8c;text-decoration:none}.btn-link:hover{color:#007053;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline}.btn-link.disabled,.btn-link:disabled{color:#888;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.171875rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.825rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:.9375rem;color:#fff;text-align:left;list-style:none;background-color:#222;background-clip:padding-box;border:1px solid #444;border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #444}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#fff;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#fff;text-decoration:none;background-color:#375a7f}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#375a7f}.dropdown-item.disabled,.dropdown-item:disabled{color:#888;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.825rem;color:#888;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#fff}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:.9375rem;font-weight:400;line-height:1.5;color:#adb5bd;text-align:center;white-space:nowrap;background-color:#444;border:1px solid #222;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.171875rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.825rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;z-index:1;display:block;min-height:1.40625rem;padding-left:1.5rem;-webkit-print-color-adjust:exact;color-adjust:exact}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.203125rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#375a7f;background-color:#375a7f}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(55,90,127,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#739ac2}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#97b3d2;border-color:#97b3d2}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#888}.custom-control-input:disabled~.custom-control-label::before,.custom-control-input[disabled]~.custom-control-label::before{background-color:#ebebeb}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.203125rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#adb5bd solid 1px}.custom-control-label::after{position:absolute;top:.203125rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:no-repeat 50%/50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#375a7f;background-color:#375a7f}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(55,90,127,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(55,90,127,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(55,90,127,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.203125rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(55,90,127,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:.9375rem;font-weight:400;line-height:1.5;color:#444;vertical-align:middle;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23303030' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;border:1px solid #222;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#739ac2;outline:0;box-shadow:0 0 0 .2rem rgba(55,90,127,.25)}.custom-select:focus::-ms-value{color:#444;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#888;background-color:#ebebeb}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #444}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.825rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.171875rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#739ac2;box-shadow:0 0 0 .2rem rgba(55,90,127,.25)}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#ebebeb}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#adb5bd;background-color:#fff;border:1px solid #222;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#adb5bd;content:"Browse";background-color:#444;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #222,0 0 0 .2rem rgba(55,90,127,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #222,0 0 0 .2rem rgba(55,90,127,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #222,0 0 0 .2rem rgba(55,90,127,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#375a7f;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#97b3d2}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#375a7f;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}.custom-range::-moz-range-thumb:active{background-color:#97b3d2}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#375a7f;border:0;border-radius:1rem;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{-ms-transition:none;transition:none}}.custom-range::-ms-thumb:active{background-color:#97b3d2}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 2rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#adb5bd;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #444}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#444 #444 transparent}.nav-tabs .nav-link.disabled{color:#adb5bd;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#fff;background-color:#222;border-color:#444 #444 transparent}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#375a7f}.nav-fill .nav-item,.nav-fill>.nav-link{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 1rem}.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.324219rem;padding-bottom:.324219rem;margin-right:1rem;font-size:1.171875rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.171875rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:#222}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:#222}.navbar-light .navbar-nav .nav-link{color:rgba(34,34,34,.7)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:#222}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:#222}.navbar-light .navbar-toggler{color:rgba(34,34,34,.7);border-color:rgba(34,34,34,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2834, 34, 34, 0.7%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(34,34,34,.7)}.navbar-light .navbar-text a{color:#222}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:#222}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.6)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:#fff}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.6);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.6%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.6)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#303030;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:#444;border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.75rem 1.25rem;background-color:#444;border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{-ms-flex-negative:0;flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{-ms-flex:1 0 0%;flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#444;border-radius:.25rem}.breadcrumb-item{display:-ms-flexbox;display:flex}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#888;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#888}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:0;line-height:1.25;color:#fff;background-color:#00bc8c;border:0 solid transparent}.page-link:hover{z-index:2;color:#fff;text-decoration:none;background-color:#444;border-color:transparent}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(55,90,127,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:darkred;border-color:transparent}.page-item.disabled .page-link{color:#fff;pointer-events:none;cursor:auto;background-color:#007053;border-color:transparent}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.171875rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.825rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#375a7f}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#28415b}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(55,90,127,.5)}.badge-secondary{color:#fff;background-color:#444}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#2b2b2b}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(68,68,68,.5)}.badge-success{color:#fff;background-color:#00bc8c}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#008966}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,188,140,.5)}.badge-info{color:#fff;background-color:#3498db}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#217dbb}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,152,219,.5)}.badge-warning{color:#fff;background-color:#f39c12}a.badge-warning:focus,a.badge-warning:hover{color:#fff;background-color:#c87f0a}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(243,156,18,.5)}.badge-danger{color:#fff;background-color:#e74c3c}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#d62c1a}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(231,76,60,.5)}.badge-light{color:#222;background-color:#adb5bd}a.badge-light:focus,a.badge-light:hover{color:#222;background-color:#919ca6}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(173,181,189,.5)}.badge-dark{color:#fff;background-color:#303030}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#171717}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(48,48,48,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#303030;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3.90625rem}.alert-dismissible .close{position:absolute;top:0;right:0;z-index:2;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#1d2f42;background-color:#d7dee5;border-color:#c7d1db}.alert-primary hr{border-top-color:#b7c4d1}.alert-primary .alert-link{color:#0d161f}.alert-secondary{color:#232323;background-color:#dadada;border-color:#cbcbcb}.alert-secondary hr{border-top-color:#bebebe}.alert-secondary .alert-link{color:#0a0a0a}.alert-success{color:#006249;background-color:#ccf2e8;border-color:#b8ecdf}.alert-success hr{border-top-color:#a4e7d6}.alert-success .alert-link{color:#002f23}.alert-info{color:#1b4f72;background-color:#d6eaf8;border-color:#c6e2f5}.alert-info hr{border-top-color:#b0d7f1}.alert-info .alert-link{color:#113249}.alert-warning{color:#7e5109;background-color:#fdebd0;border-color:#fce3bd}.alert-warning hr{border-top-color:#fbd9a5}.alert-warning .alert-link{color:#4e3206}.alert-danger{color:#78281f;background-color:#fadbd8;border-color:#f8cdc8}.alert-danger hr{border-top-color:#f5b8b1}.alert-danger .alert-link{color:#4f1a15}.alert-light{color:#5a5e62;background-color:#eff0f2;border-color:#e8eaed}.alert-light hr{border-top-color:#dadde2}.alert-light .alert-link{color:#424547}.alert-dark{color:#191919;background-color:#d6d6d6;border-color:#c5c5c5}.alert-dark hr{border-top-color:#b8b8b8}.alert-dark .alert-link{color:#000}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;line-height:0;font-size:.703125rem;background-color:#444;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#375a7f;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-item-action{width:100%;color:#444;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#444;text-decoration:none;background-color:#444}.list-group-item-action:active{color:#fff;background-color:#ebebeb}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#303030;border:1px solid #444}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#888;pointer-events:none;background-color:#303030}.list-group-item.active{z-index:2;color:#fff;background-color:#375a7f;border-color:#375a7f}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#1d2f42;background-color:#c7d1db}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#1d2f42;background-color:#b7c4d1}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#1d2f42;border-color:#1d2f42}.list-group-item-secondary{color:#232323;background-color:#cbcbcb}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#232323;background-color:#bebebe}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#232323;border-color:#232323}.list-group-item-success{color:#006249;background-color:#b8ecdf}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#006249;background-color:#a4e7d6}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#006249;border-color:#006249}.list-group-item-info{color:#1b4f72;background-color:#c6e2f5}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#1b4f72;background-color:#b0d7f1}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#1b4f72;border-color:#1b4f72}.list-group-item-warning{color:#7e5109;background-color:#fce3bd}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#7e5109;background-color:#fbd9a5}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#7e5109;border-color:#7e5109}.list-group-item-danger{color:#78281f;background-color:#f8cdc8}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#78281f;background-color:#f5b8b1}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#78281f;border-color:#78281f}.list-group-item-light{color:#5a5e62;background-color:#e8eaed}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#5a5e62;background-color:#dadde2}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#5a5e62;border-color:#5a5e62}.list-group-item-dark{color:#191919;background-color:#c5c5c5}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#191919;background-color:#b8b8b8}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#191919;border-color:#191919}.close{float:right;font-size:1.40625rem;font-weight:700;line-height:1;color:#fff;text-shadow:none;opacity:.5}.close:hover{color:#fff;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0}a.close.disabled{pointer-events:none}.toast{-ms-flex-preferred-size:350px;flex-basis:350px;max-width:350px;font-size:.875rem;background-color:#444;background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#888;background-color:#303030;background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal.modal-static .modal-dialog{-webkit-transform:scale(1.02);transform:scale(1.02)}.modal-dialog-scrollable{display:-ms-flexbox;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);height:-webkit-min-content;height:-moz-min-content;height:min-content;content:""}.modal-dialog-centered.modal-dialog-scrollable{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#303030;background-clip:padding-box;border:1px solid #444;border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #444;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:.75rem;border-top:1px solid #444;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem);height:-webkit-min-content;height:-moz-min-content;height:min-content}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:Lato,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.825rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:Lato,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.825rem;word-wrap:break-word;background-color:#303030;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#303030}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#303030}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#303030}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #444}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#303030}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:.9375rem;background-color:#444;border-bottom:1px solid #373737;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#fff}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#375a7f!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#28415b!important}.bg-secondary{background-color:#444!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#2b2b2b!important}.bg-success{background-color:#00bc8c!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#008966!important}.bg-info{background-color:#3498db!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#217dbb!important}.bg-warning{background-color:#f39c12!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#c87f0a!important}.bg-danger{background-color:#e74c3c!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#d62c1a!important}.bg-light{background-color:#adb5bd!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#919ca6!important}.bg-dark{background-color:#303030!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#171717!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#375a7f!important}.border-secondary{border-color:#444!important}.border-success{border-color:#00bc8c!important}.border-info{border-color:#3498db!important}.border-warning{border-color:#f39c12!important}.border-danger{border-color:#e74c3c!important}.border-light{border-color:#adb5bd!important}.border-dark{border-color:#303030!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;-ms-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#375a7f!important}a.text-primary:focus,a.text-primary:hover{color:#20344a!important}.text-secondary{color:#444!important}a.text-secondary:focus,a.text-secondary:hover{color:#1e1e1e!important}.text-success{color:#00bc8c!important}a.text-success:focus,a.text-success:hover{color:#007053!important}.text-info{color:#3498db!important}a.text-info:focus,a.text-info:hover{color:#1d6fa5!important}.text-warning{color:#f39c12!important}a.text-warning:focus,a.text-warning:hover{color:#b06f09!important}.text-danger{color:#e74c3c!important}a.text-danger:focus,a.text-danger:hover{color:#bf2718!important}.text-light{color:#adb5bd!important}a.text-light:focus,a.text-light:hover{color:#838f9b!important}.text-dark{color:#303030!important}a.text-dark:focus,a.text-dark:hover{color:#0a0a0a!important}.text-body{color:#fff!important}.text-muted{color:#888!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;word-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#444}.table .thead-dark th{color:inherit;border-color:#444}}.blockquote-footer{color:#888}.table-primary,.table-primary>td,.table-primary>th{background-color:#375a7f}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#444}.table-light,.table-light>td,.table-light>th{background-color:#adb5bd}.table-dark,.table-dark>td,.table-dark>th{background-color:#303030}.table-success,.table-success>td,.table-success>th{background-color:#00bc8c}.table-info,.table-info>td,.table-info>th{background-color:#3498db}.table-danger,.table-danger>td,.table-danger>th{background-color:#e74c3c}.table-warning,.table-warning>td,.table-warning>th{background-color:#f39c12}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-primary:hover,.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#2f4d6d}.table-hover .table-secondary:hover,.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#373737}.table-hover .table-light:hover,.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#9fa8b2}.table-hover .table-dark:hover,.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#232323}.table-hover .table-success:hover,.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#00a379}.table-hover .table-info:hover,.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#258cd1}.table-hover .table-danger:hover,.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#e43725}.table-hover .table-warning:hover,.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#e08e0b}.table-hover .table-active:hover,.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.input-group-addon{color:#fff}.nav-pills .nav-item.open .nav-link,.nav-pills .nav-item.open .nav-link:focus,.nav-pills .nav-item.open .nav-link:hover,.nav-pills .nav-link,.nav-pills .nav-link.active,.nav-pills .nav-link.active:focus,.nav-pills .nav-link.active:hover,.nav-tabs .nav-item.open .nav-link,.nav-tabs .nav-item.open .nav-link:focus,.nav-tabs .nav-item.open .nav-link:hover,.nav-tabs .nav-link,.nav-tabs .nav-link.active,.nav-tabs .nav-link.active:focus,.nav-tabs .nav-link.active:hover{color:#fff}.breadcrumb a{color:#fff}.pagination a:hover{text-decoration:none}.close{opacity:.4}.close:focus,.close:hover{opacity:1}.alert{border:none;color:#fff}.alert .alert-link,.alert a{color:#fff;text-decoration:underline}.alert-primary{background-color:#303030}.alert-secondary{background-color:#444}.alert-success{background-color:#00bc8c}.alert-info{background-color:#3498db}.alert-warning{background-color:#f39c12}.alert-danger{background-color:#e74c3c}.alert-light{background-color:#adb5bd}.alert-dark{background-color:#303030}.list-group-item-action{color:#fff}.list-group-item-action:focus,.list-group-item-action:hover{background-color:#444;color:#fff}.list-group-item-action .list-group-item-heading{color:#fff} diff --git a/data/html/css/bootstrap.min.css.map b/data/html/css/bootstrap.min.css.map deleted file mode 100644 index 7ec106e36f1..00000000000 --- a/data/html/css/bootstrap.min.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_root.scss","../../scss/_reboot.scss","dist/css/bootstrap.css","../../scss/vendor/_rfs.scss","bootstrap.css","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_forms.scss","../../scss/mixins/_transition.scss","../../scss/mixins/_forms.scss","../../scss/mixins/_gradients.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_toasts.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_clearfix.scss","../../scss/_spinners.scss","../../scss/utilities/_align.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_background.scss","../../scss/utilities/_borders.scss","../../scss/utilities/_display.scss","../../scss/utilities/_embed.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/utilities/_interactions.scss","../../scss/utilities/_overflow.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_shadows.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_stretched-link.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/_print.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap v4.5.3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"code\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"input-group\";\n@import \"custom-forms\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"jumbotron\";\n@import \"alert\";\n@import \"progress\";\n@import \"media\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n@import \"utilities\";\n@import \"print\";\n","// Do not forget to update getting-started/theming.md!\n:root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n @each $bp, $value in $grid-breakpoints {\n --breakpoint-#{$bp}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `

`-`

` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n color: inherit;\n text-decoration: none;\n\n @include hover() {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // Disable auto-hiding scrollbar in IE & legacy Edge to avoid overlap,\n // making it impossible to interact with the content\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Set the cursor for non-` +

-
- Resolved APIs - {% if results.behavior.summary.resolved_apis %} +
+
    - {% for api in results.behavior.summary.resolved_apis %} -
  • {{api}}
  • + {% for anomaly in results.behavior.anomaly %} +
  • + {{anomaly.category}} {{anomaly.funcname}} + {{anomaly.message}} + (pid={{anomaly.pid}}, process={{anomaly.name}}) +
  • {% endfor %}
- {% else %} - Nothing to display. - {% endif %} +
+
{% endif %} - + diff --git a/data/html/sections/debugger.html b/data/html/sections/debugger.html new file mode 100644 index 00000000000..053cd19646f --- /dev/null +++ b/data/html/sections/debugger.html @@ -0,0 +1,27 @@ +
+ {% set proctree_details = False %} + {% include "sections/proctree.html" %} +
+

Debugger Log

+
+ {% if debugger %} +
+ {% for pid, log in debugger.items() %} +
+

+ +

+
+
+
{{log}}
+
+
+
+ {% endfor %} +
+ {% else %} +

No debugger log available.

+ {% endif %} +
diff --git a/data/html/sections/dropped.html b/data/html/sections/dropped.html index ae05ee1728a..e0a983ce2fe 100644 --- a/data/html/sections/dropped.html +++ b/data/html/sections/dropped.html @@ -1,22 +1,28 @@ -
+

Dropped Files

{% set tab_name = 'dropped' %} {% if results.dropped %} +
{% for file in results.dropped %} -
- {% if summary_report %} -

{% for name in file.name%} {{name}} {% endfor %}

-
- {% else %} -

{% for name in file.name%} {{name}} {% endfor %}

- {% else %} - Nothing to display. +

Nothing to display.

{% endif %} -
+ diff --git a/data/html/sections/errors.html b/data/html/sections/errors.html index 7585840c846..5e8ad85646a 100644 --- a/data/html/sections/errors.html +++ b/data/html/sections/errors.html @@ -5,7 +5,7 @@

Errors

diff --git a/data/html/sections/file.html b/data/html/sections/file.html index b5cd1c3b75a..db0fc661057 100644 --- a/data/html/sections/file.html +++ b/data/html/sections/file.html @@ -1,20 +1,30 @@ -
-
-

File Details {% if results.info.parent_sample %} - - - {% endif %} -

- {% if results.info.parent_sample %} -
- {% for file in results.info.parent_sample|parentfixup|dict2list %} +
+
+
+

File Details + {% if results.info.parent_sample %} + + {% endif %} +

+
+
+ {% set tab_name = 'static' %} + {% if results.target.file %} + {% set file = results.target.file %} {% include "generic/_file_info.html" %} - {% endfor %} + {% endif %} + + {% if results.info.parent_sample %} +
+ {% for _file_item in results.info.parent_sample|parentfixup|dict2list %} + {% set file = _file_item %} + {% set tab_name = 'static' %} + {% include "generic/_file_info.html" %} + {% endfor %} +
+ {% endif %}
- {% endif %}
- {% set tab_name = 'static' %} - {% if results.target.file %} - {% set file = results.target.file %} - {% include "generic/_file_info.html" %} - {% endif %} -
+ diff --git a/data/html/sections/info.html b/data/html/sections/info.html index 7058558cd99..15f3c8fa6a3 100644 --- a/data/html/sections/info.html +++ b/data/html/sections/info.html @@ -1,87 +1,116 @@ -
- - {% if results.detections %} -
-

Detection(s): - {% for block in results.detections %} - {{block.family}} +{% if results.detections %} +

+
+ Detections +
+
+

+ {% for block in results.detections %} + {{block.family}} {% endfor %} -

-
- {% endif %} - - {% if summary_report %} -
-

Sandbox Info

+

- {% endif %} - - - - - - - - - - - - - - - - - - - -
CategoryStarted OnCompleted OnDurationCuckoo Version
{{results.info.category|upper}}{{results.info.started}}{{results.info.ended}}{{results.info.duration}} seconds{{results.info.version}}
-
- -{% if results.info.machine and results.info.machine.name %} -
- - - - - - - - - - - - - - - - - - - -
MachineLabelManagerStarted OnShutdown On
{{results.info.machine.name}}{{results.info.machine.label}}{{results.info.machine.manager}}{{results.info.machine.started_on}}{{results.info.machine.shutdown_on}}
-
+ {% endif %} {% if "CAPE" in results and results.CAPE.configs %} -

Malware config(s)

-
- {% for config_block in results.CAPE.configs %} - {% for family, config in config_block.items() %} - {% if family not in "_associated_config_hashes,_associated_analysis_hashes" %} - - - - - - {% for key, value in config.items() %} - - - - - {% endfor %} -
Type{{family}} Config
{{key}}{{value|malware_config}}
- {% endif %} +
+
+ Malware Config(s) +
+
+ {% for config_block in results.CAPE.configs %} + {% for family, config in config_block.items() %} + {% if family not in "_associated_config_hashes,_associated_analysis_hashes" %} + + + + + + {% if config_block._associated_config_hashes %} + + + + + + + {% endif %} + + {% for key, value in config.items() %} + + + + + {% endfor %} +
Type{{family}} Config
Extracted From + {% for hashes in config_block._associated_config_hashes %} +
+ {% set short_sha256 = hashes.sha256[:8] %} + {% set hashes_id = family ~ "-" ~ short_sha256 %} + {% set hashes_header_id = hashes_id ~ "-header" %} + +
+
+
+ {% for algo, value in hashes.items() %} +
{{ algo }}
+
{{ value }}
+ {% endfor %} +
+
+
+
+ {% endfor %} +
{{key}}{{value|malware_config}}
+ {% endif %} + {% endfor %} {% endfor %} - {% endfor %} -
+ + {% endif %} + +
+ +
+
+
+
Report Time
+
{{ results.info.started }}
+ +
Machine Name
+
{{ results.info.machine.name }}
+ +
Analysis ID
+
{{ results.info.id }}
+ +
Machine Label
+
{{ results.info.machine.label }}
+ +
Duration
+
{{ results.info.duration }} seconds
+ +
Machine Manager
+
{{ results.info.machine.manager }}
+ +
OS
+
{{ results.info.machine.os }}
+ +
Shutdown On
+
{{ results.info.machine.shutdown_on }}
+
+
+
+
+ +{% include "sections/_mitre.html" %} +{% include "sections/_capa_summary.html" %} +{% include "sections/_curtain.html" %} + diff --git a/data/html/sections/network.html b/data/html/sections/network.html index bca465900d0..8fb29022dfa 100644 --- a/data/html/sections/network.html +++ b/data/html/sections/network.html @@ -1,235 +1,61 @@ -
+

Network Analysis

{% if results.network %} - {% if results.network.hosts %} -
- {% if summary_report %} -

Hosts Involved

-
- {% else %} -

Hosts Involved

- -
- {% endif %} - - {% if results.network.domains %} -
- {% if summary_report %} -

DNS Requests

-
- {% else %} -

DNS Requests

- + +
+
+ {% include "generic/_network_hosts.html" %}
- {% endif %} - - {% if results.network.tcp %} -
- {% if summary_report %} -

TCP Connections

-
- {% else %} -

TCP Connections

- -
- {% endif %} - - {% if results.network.udp %} -
- {% if summary_report %} -

UDP Connections

-
- {% else %} -

UDP Connections

- -
- {% endif %} - - {% if results.network.http %} -
- {% if summary_report %} -

HTTP Requests

-
- {% else %} -

HTTP Requests

- +
+ {% include "generic/_network_dns.html" %}
- {% endif %} - - {% if results.network.smtp %} -
- {% if summary_report %} -

SMTP Requests

-
- {% else %} -

SMTP Requests

- +
+ {% include "generic/_network_tcp.html" %}
- {% endif %} - - {% if results.network.irc %} -
- {% if summary_report %} -

IRC Requests

-
- {% else %} -

IRC Requests

- +
+ {% include "generic/_network_udp.html" %}
- {% endif %} - - {% if results.network.icmp %} -
- {% if summary_report %} -

ICMP Requests

-
- {% else %} -

ICMP Requests

- -
- {% endif %} - - {% if not results.network.hosts and not results.network.domains and not results.network.http and not results.network.irc and not results.network.icmp %} - Nothing to display. - {% endif %} +
+ {% include "generic/_network_http.html" %} +
+
+ {% include "generic/_network_smtp.html" %} +
+
+ {% include "generic/_network_irc.html" %} +
+
+ {% include "generic/_network_icmp.html" %} +
+
{% else %} - Nothing to display. +

Nothing to display.

{% endif %} -
+ diff --git a/data/html/sections/payloads.html b/data/html/sections/payloads.html index 64494cb31ac..6e9a73efff9 100644 --- a/data/html/sections/payloads.html +++ b/data/html/sections/payloads.html @@ -1,22 +1,27 @@ - -
+

Payloads

{% if "CAPE" in results and results.CAPE.payloads %} +
{% for file in results.CAPE.payloads %} -
- {% if summary_report %} -

{{file.name}}

-
- {% else %} -

{{file.name}}

- {% else %} - Nothing to display. +

Nothing to display.

{% endif %} -
+ diff --git a/data/html/sections/procdump.html b/data/html/sections/procdump.html new file mode 100644 index 00000000000..eb41ba5ff6e --- /dev/null +++ b/data/html/sections/procdump.html @@ -0,0 +1,28 @@ +
+
+

Process Dumps

+
+ {% set tab_name = 'procdump' %} + {% if results.procdump %} +
+ {% for file in results.procdump %} +
+
+
+ +
+
+
+
+ {% include "generic/_file_info.html" %} +
+
+
+ {% endfor %} +
+ {% else %} +

Nothing to display.

+ {% endif %} +
diff --git a/data/html/sections/proctree.html b/data/html/sections/proctree.html new file mode 100644 index 00000000000..ef6b61e219f --- /dev/null +++ b/data/html/sections/proctree.html @@ -0,0 +1,46 @@ +{% macro render_tree(processes) %} + +{% endmacro %} + +{% if results.behavior.processtree %} +
+
+

Process Tree

+
+
+ {{ render_tree(results.behavior.processtree) }} +
+
+{% endif %} \ No newline at end of file diff --git a/data/html/sections/screenshots.html b/data/html/sections/screenshots.html index daf4cdba858..98eaeb2f562 100644 --- a/data/html/sections/screenshots.html +++ b/data/html/sections/screenshots.html @@ -1,12 +1,21 @@ -
-
-

Screenshots

+ +
+
+

Screenshots

+
+
+ {% if results.shots %} +
+ {% for shot in results.shots %} +
+ + Screenshot + +
+ {% endfor %} +
+ {% else %} +

No screenshots available.

+ {% endif %} +
- {% if results.shots %} - {% for shot in results.shots %} - - {% endfor %} - {% else %} - No screenshots available. - {% endif %} -
diff --git a/data/html/sections/signatures.html b/data/html/sections/signatures.html index 51e4f7f4d31..32baf2f5b60 100644 --- a/data/html/sections/signatures.html +++ b/data/html/sections/signatures.html @@ -1,33 +1,24 @@ -
-
-

Signatures

+
+
+ Signatures
- {% if results.signatures %} - {% for sign in results.signatures %} - {% if sign.severity == 1 %} -
- {% elif sign.severity == 2 %} -
- {% elif sign.severity >= 3 %} -
- {% else %} -
- {% endif %} - {{sign.description}} -
- {% if summary_report %} -
- {% if sign.data %} - {% for sign in sign.data %} - {% for key, value in sign.items() %} -
{{key}}: {{value}}
- {% endfor %} - {% endfor %} -
- {% endif %} - {% endif %} - {% endfor %} - {% else %} - No signatures matched - {% endif %} -
+
+ {% if results.signatures %} + + {% else %} +

No signatures matched.

+ {% endif %} +
+ diff --git a/data/html/sections/url.html b/data/html/sections/url.html index 3428a2ccfa8..7e39bcf15ca 100644 --- a/data/html/sections/url.html +++ b/data/html/sections/url.html @@ -1,50 +1,57 @@ -
-
-

URL Details

+
+
+
+

URL Details

+
+
+ + + + + + + + + + + + + +
URL{{results.url_analysis.url}}
VirusTotal + {% if results.virustotal %} + {% if results.virustotal.response_code == 1 %} + Permalink
+ VirusTotal Scan Date: {{results.virustotal.scan_date}}
+ Detection Rate: {{results.virustotal.positives}}/{{results.virustotal.total}} + +
+ + + + + + {% for key in results.virustotal.scans|sort %} + + + {% if results["virustotal"]["scans"][key]["detected"] %} + + + {% endfor %} +
AntivirusResult
{{key}} + {% else %} + + {% endif %} + {{ results["virustotal"]["scans"][key]["result"]|title }}
+
+ {% else %} +

Domain not found on VirusTotal

+ {% endif %} + {% else %} +

VirusTotal lookup disabled, add your API key to the module

+ {% endif %} +
+
- - - - - - - - - - - - - -
URL{{results.url_analysis.url}}
VirusTotal - {% if results.virustotal %} - {% if results.virustotal.response_code == 1 %} - Permalink
- VirusTotal Scan Date: {{results.virustotal.scan_date}}
- Detection Rate: {{results.virustotal.positives}}/{{results.virustotal.total}} (Expand) - - {% else %} - Domain not found on VirusTotal - {% endif %} - {% else %} - VirusTotal lookup disabled, add your API key to the module - {% endif %} -
-
+ diff --git a/data/html/sections/volatility.html b/data/html/sections/volatility.html index bef574e1493..a5b180f6abe 100644 --- a/data/html/sections/volatility.html +++ b/data/html/sections/volatility.html @@ -1,253 +1,322 @@ {% if not summary_report %} -
-
-

Volatility

-
- - {% if results.memory %} - - -
- Malfind - - Scanning for injections - (help) - - +
+
+
+

+ +

+
+
+ {% if results.memory %} +
+ +
+
+
+ +
+
+
+
+ {% if results.memory.malfind %} + {% include "sections/memory/_malfind.html" %} + {% else %} +

Nothing to display.

+ {% endif %} +
+
+
- -
- Yarascan - - Scanning for rule matches - (help) - - -
+ +
+
+
+ +
+
+
+
+ {% if results.memory.yarascan %} + {% include "sections/memory/_yarascan.html" %} + {% else %} +

Nothing to display.

+ {% endif %} +
+
+
- -
- Apihooks - - Listing API hooks - (help) - - -
+ +
+
+
+ +
+
+
+
+ {% if results.memory.apihooks %} + {% include "sections/memory/_apihooks.html" %} + {% else %} +

Nothing to display.

+ {% endif %} +
+
+
- -
- PSList - - Listing processes - (help) - - -
+ +
+
+
+ +
+
+
+
+ {% if results.memory.pslist %} + {% include "sections/memory/_pslist.html" %} + {% else %} +

Nothing to display.

+ {% endif %} +
+
+
- -
- Callbacks - - Listing registered callbacks - (help) - - -
+ +
+
+
+ +
+
+
+
+ {% if results.memory.callbacks %} + {% include "sections/memory/_callbacks.html" %} + {% else %} +

Nothing to display.

+ {% endif %} +
+
+
- -
- Messagehooks - - Registered Messagehooks - (help) - - -
+ +
+
+
+ +
+
+
+
+ {% if results.memory.messagehooks %} + {% include "sections/memory/_messagehooks.html" %} + {% else %} +

Nothing to display.

+ {% endif %} +
+
+
- -
- Devicetree - - Listing devices and drivers - (help) - - -
+ +
+
+
+ +
+
+
+
+ {% if results.memory.devicetree %} + {% include "sections/memory/_devicetree.html" %} + {% else %} +

Nothing to display.

+ {% endif %} +
+
+
- -
- Svcscan - - Scanning for services - (help) - - -
+ +
+
+
+ +
+
+
+
+ {% if results.memory.svcscan %} + {% include "sections/memory/_svcscan.html" %} + {% else %} +

Nothing to display.

+ {% endif %} +
+
+
- -
- Modscan - - Scan for (hidden) kernel drivers - (help) - - -
+ +
+
+
+ +
+
+
+
+ {% if results.memory.modscan %} + {% include "sections/memory/_modscan.html" %} + {% else %} +

Nothing to display.

+ {% endif %} +
+
+
- -
- IDT - - Listing IDTs - (help) - - -
+ +
+
+
+ +
+
+
+
+ {% if results.memory.idt %} + {% include "sections/memory/_idt.html" %} + {% else %} +

Nothing to display.

+ {% endif %} +
+
+
- -
- Timers - - Listing timers - (help) - - -
+ +
+
+
+ +
+
+
+
+ {% if results.memory.timers %} + {% include "sections/memory/_timers.html" %} + {% else %} +

Nothing to display.

+ {% endif %} +
+
+
- -
- GDT - - Listing GDTs - (help) - - -
+ +
+
+
+ +
+
+
+
+ {% if results.memory.gdt %} + {% include "sections/memory/_gdt.html" %} + {% else %} +

Nothing to display.

+ {% endif %} +
+
+
- -
- SSDT - - Listing SSDT - (help) - - -
+ +
+
+
+ +
+
+
+
+ {% if results.memory.ssdt %} + {% include "sections/memory/_ssdt.html" %} + {% else %} +

Nothing to display.

+ {% endif %} +
+
+
- -
- Netscan - - Listing netscan - (help) - - -
+ +
+
+
+ +
+
+
+
+ {% if results.memory.netscan %} + {% include "sections/memory/_netscan.html" %} + {% else %} +

Nothing to display.

+ {% endif %} +
+
+
- -
- Sockscan - - Listing sockscan - (help) - - {% else %} - Nothing to display. +

Nothing to display.

{% endif %}
- - {% else %} - Nothing to display. - {% endif %} -
+ + {% endif %} diff --git a/data/html/statistics.html b/data/html/statistics.html deleted file mode 100644 index 3d84d95be7f..00000000000 --- a/data/html/statistics.html +++ /dev/null @@ -1,18 +0,0 @@ -{% extends "base-web.html" %} -{% block content %} - -
- -
-{% endblock %} diff --git a/data/html/statistics/README b/data/html/statistics/README deleted file mode 100644 index 32a795fdc12..00000000000 --- a/data/html/statistics/README +++ /dev/null @@ -1 +0,0 @@ -This is an empty directory where statistics images will be created. diff --git a/data/html/submit.html b/data/html/submit.html deleted file mode 100644 index 6d03b6e1a92..00000000000 --- a/data/html/submit.html +++ /dev/null @@ -1,101 +0,0 @@ -{% extends "base-web.html" %} -{% block content %} -
- - {% if context.error_toggle %} -
OOPS! Some error occurred, please check the instructions below!
- {% endif %} -
-
-
- -
- - {% if context.error_file %} - {{error_file}} - {% endif %} -
-
- -
- -
- - {% if context.error_package %} - {{context.error_package}} - {% endif %} -
-
- -
- -
- - {% if context.error_options %} - {{context.error_options}} - {% endif %} -
-
- -
- -
- - {% if context.error_timeout %} - {{context.error_timeout}} - {% endif %} -
-
- -
- -
- - {% if context.error_priority %} - {{context.error_priority}} - {% endif %} -
-
- -
- -
- - {% if context.error_machine %} - {{context.error_machine}} - {% endif %} -
-
- -
- -
- - {% if context.error_timeout %} - {{context.error_timeout}} - {% endif %} -
-
- -
- - -
-
-
-
-{% endblock %} diff --git a/data/html/success.html b/data/html/success.html deleted file mode 100644 index 6e8f10fd57c..00000000000 --- a/data/html/success.html +++ /dev/null @@ -1,11 +0,0 @@ -{% extends "base-web.html" %} -{% block content %} - -
-
- GOOD! File {{submitfile}} was submitted for analysis with Task ID {{taskid}}. -
-
-{% endblock %} diff --git a/data/html/webfonts/fa-brands-400.ttf b/data/html/webfonts/fa-brands-400.ttf new file mode 100644 index 00000000000..227f022db56 Binary files /dev/null and b/data/html/webfonts/fa-brands-400.ttf differ diff --git a/data/html/webfonts/fa-brands-400.woff2 b/data/html/webfonts/fa-brands-400.woff2 new file mode 100644 index 00000000000..73c5c129404 Binary files /dev/null and b/data/html/webfonts/fa-brands-400.woff2 differ diff --git a/data/html/webfonts/fa-regular-400.ttf b/data/html/webfonts/fa-regular-400.ttf new file mode 100644 index 00000000000..c8ed46d4cea Binary files /dev/null and b/data/html/webfonts/fa-regular-400.ttf differ diff --git a/data/html/webfonts/fa-regular-400.woff2 b/data/html/webfonts/fa-regular-400.woff2 new file mode 100644 index 00000000000..c9291c7b66b Binary files /dev/null and b/data/html/webfonts/fa-regular-400.woff2 differ diff --git a/data/html/webfonts/fa-solid-900.ttf b/data/html/webfonts/fa-solid-900.ttf new file mode 100644 index 00000000000..99b35ad5053 Binary files /dev/null and b/data/html/webfonts/fa-solid-900.ttf differ diff --git a/data/html/webfonts/fa-solid-900.woff2 b/data/html/webfonts/fa-solid-900.woff2 new file mode 100644 index 00000000000..c7bd59c241e Binary files /dev/null and b/data/html/webfonts/fa-solid-900.woff2 differ diff --git a/data/html/webfonts/fa-v4compatibility.ttf b/data/html/webfonts/fa-v4compatibility.ttf new file mode 100644 index 00000000000..be0afc27ae9 Binary files /dev/null and b/data/html/webfonts/fa-v4compatibility.ttf differ diff --git a/data/html/webfonts/fa-v4compatibility.woff2 b/data/html/webfonts/fa-v4compatibility.woff2 new file mode 100644 index 00000000000..37a9b8c79eb Binary files /dev/null and b/data/html/webfonts/fa-v4compatibility.woff2 differ diff --git a/installer/cape2.sh b/installer/cape2.sh index a1931243c86..b1bfd493ca8 100755 --- a/installer/cape2.sh +++ b/installer/cape2.sh @@ -59,8 +59,8 @@ librenms_megaraid_enable=0 MONGO_ENABLE=1 DIE_VERSION="3.10" - TOR_SOCKET_TIMEOUT="60" +CAPE_ROOT="/opt/CAPEv2" # if a config file is present, read it in if [ -f "./cape-config.sh" ]; then @@ -648,7 +648,7 @@ function distributed() { sudo apt-get install -y uwsgi uwsgi-plugin-python3 nginx 2>/dev/null sudo -u ${USER} bash -c '/etc/poetry/bin/poetry run pip install flask flask-restful flask-sqlalchemy requests' - sudo cp /opt/CAPEv2/uwsgi/capedist.ini /etc/uwsgi/apps-available/cape_dist.ini + sudo cp $CAPE_ROOT/uwsgi/capedist.ini /etc/uwsgi/apps-available/cape_dist.ini sudo ln -s /etc/uwsgi/apps-available/cape_dist.ini /etc/uwsgi/apps-enabled sudo -u postgres -H sh -c "psql -c \"CREATE DATABASE ${USER}dist\""; @@ -764,7 +764,7 @@ function install_yara_x() { sudo -u ${USER} git clone https://github.com/VirusTotal/yara-x cd yara-x || return sudo -u ${USER} bash -c 'source "$HOME/.cargo/env" ; cargo install --path cli' - /etc/poetry/bin/poetry --directory /opt/CAPEv2/ run pip install yara-x + /etc/poetry/bin/poetry --directory $CAPE_ROOT/ run pip install yara-x } function install_yara() { @@ -942,7 +942,7 @@ function install_capa() { cd capa || return git pull git submodule update --init rules - /etc/poetry/bin/poetry --directory /opt/CAPEv2/ run pip install /tmp/capa + /etc/poetry/bin/poetry --directory $CAPE_ROOT/ run pip install /tmp/capa cd /opt/CAPEv2 if [ -d /tmp/capa ]; then sudo rm -rf /tmp/capa @@ -1236,7 +1236,7 @@ EOF chown root:root /usr/share/clamav-unofficial-sigs/conf.d/00-clamav-unofficial-sigs.conf chmod 644 /usr/share/clamav-unofficial-sigs/conf.d/00-clamav-unofficial-sigs.conf usermod -a -G ${USER} clamav - echo "/opt/CAPEv2/storage/** r," | sudo tee -a /etc/apparmor.d/local/usr.sbin.clamd + echo "$CAPE_ROOT/storage/** r," | sudo tee -a /etc/apparmor.d/local/usr.sbin.clamd sudo apparmor_parser -r /etc/apparmor.d/usr.sbin.clamd sudo systemctl enable clamav-daemon sudo systemctl start clamav-daemon @@ -1251,7 +1251,7 @@ function install_CAPE() { if [ ! -d CAPEv2 ]; then git clone https://github.com/kevoreilly/CAPEv2/ fi - chown ${USER}:${USER} -R /opt/CAPEv2/ + chown ${USER}:${USER} -R $CAPE_ROOT/ #chown -R root:${USER} /usr/var/malheur/ #chmod -R =rwX,g=rwX,o=X /usr/var/malheur/ # Adapting owner permissions to the ${USER} path folder @@ -1260,7 +1260,7 @@ function install_CAPE() { crontab -l | { cat; echo "30 1 * * 0 cd /opt/CAPEv2 && sudo -u ${USER} /etc/poetry/bin/poetry run python ./utils/cleaners.py --delete-unused-file-data-in-mongo"; } | crontab - fi - cd "/opt/CAPEv2/" || return + cd "$CAPE_ROOT/" || return sudo -u ${USER} bash -c 'export PYTHON_KEYRING_BACKEND=keyring.backends.null.Keyring; CRYPTOGRAPHY_DONT_BUILD_RUST=1 /etc/poetry/bin/poetry install' if [ "$DISABLE_LIBVIRT" -eq 0 ]; then @@ -1271,7 +1271,7 @@ function install_CAPE() { #packages are needed for build options in extra/yara_installer.sh sudo apt-get install -y libjansson-dev libmagic1 libmagic-dev - sudo -u ${USER} bash -c '/etc/poetry/bin/poetry run /opt/CAPEv2/extra/yara_installer.sh' + sudo -u ${USER} bash -c '/etc/poetry/bin/poetry run $CAPE_ROOT/extra/yara_installer.sh' if [ -d /tmp/yara-python ]; then sudo rm -rf /tmp/yara-python @@ -1286,7 +1286,7 @@ function install_CAPE() { # sed -i "/machinery =/cmachinery = kvm" conf/cuckoo.conf sed -i "/interface =/cinterface = ${NETWORK_IFACE}" conf/auxiliary.conf - chown ${USER}:${USER} -R "/opt/CAPEv2/" + chown ${USER}:${USER} -R "$CAPE_ROOT/" if [ "$MONGO_ENABLE" -ge 1 ]; then crudini --set conf/reporting.conf mongodb enabled yes @@ -1305,7 +1305,8 @@ function install_CAPE() { if [ ! -f /etc/sudoers.d/cape ]; then cat >> /etc/sudoers.d/cape << EOF Cmnd_Alias CAPE_SERVICES = /usr/bin/systemctl restart cape-rooter, /usr/bin/systemctl restart cape-processor, /usr/bin/systemctl restart cape, /usr/bin/systemctl restart cape-web, /usr/bin/systemctl restart cape-dist, /usr/bin/systemctl restart cape-fstab, /usr/bin/systemctl restart suricata, /usr/bin/systemctl restart guac-web, /usr/bin/systemctl restart guacd -${USER} ALL=(ALL) NOPASSWD:CAPE_SERVICES +Cmnd_Alias UFW_STATUS = /usr/sbin/ufw status +${USER} ALL=(ALL) NOPASSWD:CAPE_SERVICES, UFW_STATUS EOF fi if [ ! -f /etc/sudoers.d/ip_netns ]; then @@ -1327,11 +1328,11 @@ fi function install_systemd() { echo "[+] Installing systemd configuration" - cp /opt/CAPEv2/systemd/cape.service /lib/systemd/system/cape.service - cp /opt/CAPEv2/systemd/cape-processor.service /lib/systemd/system/cape-processor.service - cp /opt/CAPEv2/systemd/cape-web.service /lib/systemd/system/cape-web.service - cp /opt/CAPEv2/systemd/cape-rooter.service /lib/systemd/system/cape-rooter.service - cp /opt/CAPEv2/systemd/suricata.service /lib/systemd/system/suricata.service + cp $CAPE_ROOT/systemd/cape.service /lib/systemd/system/cape.service + cp $CAPE_ROOT/systemd/cape-processor.service /lib/systemd/system/cape-processor.service + cp $CAPE_ROOT/systemd/cape-web.service /lib/systemd/system/cape-web.service + cp $CAPE_ROOT/systemd/cape-rooter.service /lib/systemd/system/cape-rooter.service + cp $CAPE_ROOT/systemd/suricata.service /lib/systemd/system/suricata.service systemctl daemon-reload cape_web_enable_string='' if [ "$MONGO_ENABLE" -ge 1 ]; then @@ -1458,8 +1459,8 @@ function install_guacamole() { fi if [ ! -f "/opt/lib/systemd/system/guac-web.service" ] ; then - cp /opt/CAPEv2/systemd/guacd.service /lib/systemd/system/guacd.service - cp /opt/CAPEv2/systemd/guac-web.service /lib/systemd/system/guac-web.service + cp $CAPE_ROOT/systemd/guacd.service /lib/systemd/system/guacd.service + cp $CAPE_ROOT/systemd/guac-web.service /lib/systemd/system/guac-web.service fi poetry_path="/etc/poetry/bin/poetry" @@ -1467,7 +1468,7 @@ function install_guacamole() { sed -i "s|/usr/bin/poetry|$poetry_path|g" /lib/systemd/system/guac-web.service fi - if [ ! -d "/opt/CAPEv2/storage/guacrecordings" ] ; then + if [ ! -d "$CAPE_ROOT/storage/guacrecordings" ] ; then sudo mkdir -p opt/CAPEv2/storage/guacrecordings && chown ${USER}:${USER} opt/CAPEv2/storage/guacrecordings fi @@ -1626,12 +1627,12 @@ case "$COMMAND" in install_suricata install_jemalloc if ! crontab -l | grep -q './smtp_sinkhole.sh'; then - crontab -l | { cat; echo "@reboot cd /opt/CAPEv2/utils/ && ./smtp_sinkhole.sh 2>/dev/null"; } | crontab - + crontab -l | { cat; echo "@reboot cd $CAPE_ROOT/utils/ && ./smtp_sinkhole.sh 2>/dev/null"; } | crontab - fi # Disabled due to frequent CAPA updates and it breaks it. Users should care about this subject # Update FLARE CAPA rules and community every X hours # if ! crontab -l | grep -q 'community.py -waf -cr'; then - # crontab -l | { cat; echo "5 0 */1 * * cd /opt/CAPEv2/utils/ && poetry run python utils/community.py -waf -cr && poetry run pips install -U flare-capa && systemctl restart cape-processor 2>/dev/null"; } | crontab - + # crontab -l | { cat; echo "5 0 */1 * * cd $CAPE_ROOT/utils/ && poetry run python utils/community.py -waf -cr && poetry run pips install -U flare-capa && systemctl restart cape-processor 2>/dev/null"; } | crontab - # fi if ! crontab -l | grep -q 'echo signal newnym'; then crontab -l | { cat; echo "00 */1 * * * (echo authenticate '""'; echo signal newnym; echo quit) | nc localhost 9051 2>/dev/null"; } | crontab - @@ -1651,15 +1652,15 @@ case "$COMMAND" in install_logrotate install_mitmproxy #socksproxies is to start redsocks stuff - if [ -f /opt/CAPEv2/socksproxies.sh ]; then - crontab -l | { cat; echo "@reboot /opt/CAPEv2/socksproxies.sh"; } | crontab - + if [ -f $CAPE_ROOT/socksproxies.sh ]; then + crontab -l | { cat; echo "@reboot $CAPE_ROOT/socksproxies.sh"; } | crontab - fi if ! crontab -l | grep -q './smtp_sinkhole.sh'; then - crontab -l | { cat; echo "@reboot cd /opt/CAPEv2/utils/ && ./smtp_sinkhole.sh 2>/dev/null"; } | crontab - + crontab -l | { cat; echo "@reboot cd $CAPE_ROOT/utils/ && ./smtp_sinkhole.sh 2>/dev/null"; } | crontab - fi # Update FLARE CAPA rules once per day if ! crontab -l | grep -q 'community.py -waf -cr'; then - crontab -l | { cat; echo "5 0 */1 * * cd /opt/CAPEv2/utils/ && sudo -u ${USER} /etc/poetry/bin/poetry --directory /opt/CAPEv2/ run python3 community.py -waf -cr && poetry --directory /opt/CAPEv2/ run pip install -U flare-capa && systemctl restart cape-processor 2>/dev/null"; } | crontab - + crontab -l | { cat; echo "5 0 */1 * * cd $CAPE_ROOT/utils/ && sudo -u ${USER} /etc/poetry/bin/poetry --directory $CAPE_ROOT/ run python3 community.py -waf -cr && poetry --directory $CAPE_ROOT/ run pip install -U flare-capa && systemctl restart cape-processor 2>/dev/null"; } | crontab - fi install_librenms if [ "$clamav_enable" -ge 1 ]; then diff --git a/lib/cuckoo/common/constants.py b/lib/cuckoo/common/constants.py index 882e2b487c1..439a18b19dd 100644 --- a/lib/cuckoo/common/constants.py +++ b/lib/cuckoo/common/constants.py @@ -12,7 +12,7 @@ ANALYSIS_BASE_PATH = os.path.join(CUCKOO_ROOT, "storage") -CUCKOO_VERSION = "2.4-CAPE" +CUCKOO_VERSION = "2.5" CUCKOO_GUEST_PORT = 8000 CUCKOO_GUEST_INIT = 0x001 CUCKOO_GUEST_RUNNING = 0x002 diff --git a/lib/cuckoo/common/integrations/file_extra_info.py b/lib/cuckoo/common/integrations/file_extra_info.py index 966838d8f33..7dbf8961028 100644 --- a/lib/cuckoo/common/integrations/file_extra_info.py +++ b/lib/cuckoo/common/integrations/file_extra_info.py @@ -145,12 +145,6 @@ HAVE_VIRUSTOTAL = True -HAVE_MANDIANT_INTEL = False -if integration_conf.mandiant_intel.enabled: - from lib.cuckoo.common.integrations.mandiant_intel import mandiant_lookup - - HAVE_MANDIANT_INTEL = True - exclude_startswith = ("parti_",) excluded_extensions = (".parti",) tools_folder = os.path.join(cfg.cuckoo.get("tmppath", "/tmp"), "cape-external") @@ -272,11 +266,6 @@ def static_file_info( if vt_details: data_dictionary["virustotal"] = vt_details - if HAVE_MANDIANT_INTEL and processing_conf.mandiant_intel.enabled: - mandiant_intel_details = mandiant_lookup("file", file_path, results) - if mandiant_intel_details: - data_dictionary["mandiant_intel"] = mandiant_intel_details - generic_file_extractors( file_path, destination_folder, diff --git a/lib/cuckoo/common/integrations/mandiant_intel.py b/lib/cuckoo/common/integrations/mandiant_intel.py deleted file mode 100644 index 53f4fca393f..00000000000 --- a/lib/cuckoo/common/integrations/mandiant_intel.py +++ /dev/null @@ -1,154 +0,0 @@ -import base64 -import json -import logging - -import requests -from urllib3.exceptions import InsecureRequestWarning - -from lib.cuckoo.common.config import Config -from lib.cuckoo.common.objects import File -from lib.cuckoo.common.path_utils import path_exists -from lib.cuckoo.common.utils import add_family_detection - -requests.packages.urllib3.disable_warnings(category=InsecureRequestWarning) - -log = logging.getLogger(__name__) - -MANDIANT_AUTH_URL = "https://api.intelligence.mandiant.com/token" -MANDIANT_SEARCH_URL = "https://api.intelligence.mandiant.com/v4/search" - -integragrations_conf = Config("integrations") - -api_access = integragrations_conf.mandiant_intel.api_access -api_secret = integragrations_conf.mandiant_intel.api_secret - - -class MandiantAPIClient: - def __init__(self): - self.api_access = api_access - self.api_secret = api_secret - self.auth_url = MANDIANT_AUTH_URL - self.search_url = MANDIANT_SEARCH_URL - self.token = None - - def _generate_auth_header(self): - auth_token_bytes = f"{self.api_access}:{self.api_secret}".encode("ascii") - base64_auth_token_bytes = base64.b64encode(auth_token_bytes) - return base64_auth_token_bytes.decode("ascii") - - def get_new_token(self): - if self.token: - return - - headers = { - "Authorization": f"Basic {self._generate_auth_header()}", - "Content-Type": "application/x-www-form-urlencoded", - "Accept": "application/json", - "X-App-Name": "get-indicator-infos", - } - params = {"grant_type": "client_credentials"} - - try: - response = requests.post(url=self.auth_url, headers=headers, verify=False, allow_redirects=False, data=params) - except Exception as e: - return {"error": True, "msg": f"Error during token request: {e}"} - - if response.status_code == 200: - self.token = response.json().get("access_token") - return self.token - else: - return {"error": True, "msg": f"Failed to obtain token from server: {response.status_code}"} - - def search(self, indicator): - if not self.token: - log.error("No valid token available. Please authenticate first.") - return - - headers = { - "Authorization": f"Bearer {self.token}", - "Content-Type": "application/json", - "Accept": "application/json", - "X-App-Name": "get-indicator-infos", - } - - body = { - "search": f"{indicator}", - "type": "all", - "limit": 50, - "sort_by": ["relevance"], - "sort_order": "asc", - "next": "", - } - - try: - response = requests.post( - url=self.search_url, headers=headers, verify=False, allow_redirects=False, data=json.dumps(body) - ) - except Exception as e: - return {"error": True, "msg": f"Error during search request: {e}"} - - if response.status_code == 200: - return self.parse_response(response.json()) - elif response.status_code == 401: - self.token = None - if self.get_new_token(): - return self.search(indicator) - else: - log.error("Failed to refresh token.") - return - else: - return {"error": True, "msg": f"Search failed: {response.status_code}"} - - def parse_response(self, response): - actors = [] - malwares = [] - objects = response.get("objects") - if not objects: - return - - for obj in objects: - if "actors" in obj: - actors.extend(actor.get("name") for actor in obj["actors"] if "name" in actor) - if "malwares" in obj: - malwares.extend(malware.get("name") for malware in obj["malwares"] if "name" in malware) - - return {"actor": actors, "malware": malwares} - - -def mandiant_lookup(category: str, target: str, results: dict = {}): - if not integragrations_conf.mandiant_intel.enabled: - return results - - mandiant_intel = {} - - if category == "file": - sha256 = False - if not path_exists(target) and len(target) != 64: - return {"error": True, "msg": "File doesn't exist"} - - sha256 = target if len(target) == 64 else File(target).get_sha256() - client = MandiantAPIClient() - mandiant_intel = {} - mandiant_intel["sha256"] = sha256 - if client.get_new_token(): - result = client.search(sha256) - if result: - mandiant_intel["detections"] = result - names = result.get("malware", []) - for name in names: - add_family_detection(results, name, "Mandiant", sha256) - - return mandiant_intel - - -if __name__ == "__main__": - import sys - - indicator = sys.argv[1] - - client = MandiantAPIClient() - - if client.get_new_token(): - result = client.search(indicator) - if result: - print(json.dumps(result, indent=4)) diff --git a/lib/cuckoo/common/web_utils.py b/lib/cuckoo/common/web_utils.py index a8ab2cd0961..c62785aae39 100644 --- a/lib/cuckoo/common/web_utils.py +++ b/lib/cuckoo/common/web_utils.py @@ -1399,6 +1399,7 @@ def perform_search( query_val = {"$exists": True} retval = [] + mongo_search_query = None if repconf.mongodb.enabled and query_val: if term in hash_searches: # The file details are uniq, and we store 1 to many. So where hash type is uniq, IDs are list @@ -1429,14 +1430,17 @@ def perform_search( print(f"Unknown search {term}:{value}") return [] - # Allow to overwrite perform_search_filters for custom results - if not projection: - projection = perform_search_filters - if "target.file.sha256" in projection: - projection = dict(**projection) - projection[f"target.file.{FILE_REF_KEY}"] = 1 - if not retval: + if not retval and mongo_search_query: + # Allow to overwrite perform_search_filters for custom results + if not projection: + projection = perform_search_filters + if "target.file.sha256" in projection: + projection = dict(**projection) + projection[f"target.file.{FILE_REF_KEY}"] = 1 + if term in search_term_map_repetetive_blocks: + mongo_search_query = {"$or": [{path: condition} for path, condition in mongo_search_query.items()]} retval = list(mongo_find("analysis", mongo_search_query, projection, limit=search_limit)) + for doc in retval: target_file = doc.get("target", {}).get("file", {}) if FILE_REF_KEY in target_file and "sha256" not in target_file: diff --git a/lib/cuckoo/core/analysis_manager.py b/lib/cuckoo/core/analysis_manager.py index 4f230d3da35..5e7a30e7691 100644 --- a/lib/cuckoo/core/analysis_manager.py +++ b/lib/cuckoo/core/analysis_manager.py @@ -422,7 +422,6 @@ def run_analysis_on_guest(self) -> None: options["clock"] = self.db.update_clock(self.task.id) self.db.guest_set_status(self.task.id, "starting") guest_manager.start_analysis(options) - try: if guest_manager.get_status_from_db() == "starting": guest_manager.set_status_in_db("running") diff --git a/lib/cuckoo/core/startup.py b/lib/cuckoo/core/startup.py index be3d9304f30..006e99955c9 100644 --- a/lib/cuckoo/core/startup.py +++ b/lib/cuckoo/core/startup.py @@ -465,6 +465,30 @@ def init_rooter(): # ToDo check if ip_forward is on + # Check if UFW is enabled. If it is, it could interfere with routing. + # We use subprocess.run for better error handling and stdout capture. + try: + ufw_proc = subprocess.run(["ufw", "status"], capture_output=True, text=True, check=False) + + if ufw_proc.returncode == 0: + if "Status: active" in ufw_proc.stdout: + log.warning( + "UFW (Uncomplicated Firewall) is active. This might interfere with CAPEv2's network routing/analysis. " + "Please ensure UFW is configured to allow all necessary traffic for CAPEv2 or consider disabling it for analysis. " + "You can check UFW rules with 'sudo ufw status verbose'." + ) + else: + log.debug("UFW is not active, which is ideal for CAPEv2's routing setup.") + else: + log.debug( + "Could not check UFW status (command exited with code %d). " + "Output: %s. Error: %s", ufw_proc.returncode, ufw_proc.stdout, ufw_proc.stderr + ) + except FileNotFoundError: + log.debug("UFW command not found. Assuming UFW is not in use.") + except Exception as e: + log.debug("An unexpected error occurred while checking UFW status: %s", e) + def init_routing(): """Initialize and check whether the routing information is correct.""" diff --git a/modules/processing/memory.py b/modules/processing/memory.py index d02d3dee515..9edae89d417 100644 --- a/modules/processing/memory.py +++ b/modules/processing/memory.py @@ -37,7 +37,7 @@ # from volatility3.plugins.windows import pslist HAVE_VOLATILITY = True except ImportError: - print("Missed dependency: poetry run pip install volatility3 -U") + log.error("Missed dependency: poetry run pip install volatility3 -U") HAVE_VOLATILITY = False log = logging.getLogger() @@ -143,47 +143,7 @@ def run(self, plugin_class, pids=None, round=1): return {} -""" keeping at the moment to see if we want to integrate more - {'windows.statistics.Statistics': , - 'timeliner.Timeliner': , - 'windows.pslist.PsList': , - 'windows.handles.Handles': , - 'windows.poolscanner.PoolScanner': , - 'windows.bigpools.BigPools': , - 'windows.registry.hivescan.HiveScan': , - 'windows.registry.hivelist.HiveList': , - 'windows.registry.printkey.PrintKey': , - 'windows.registry.certificates.Certificates': , - 'banners.Banners': , - 'frameworkinfo.FrameworkInfo': , - 'yarascan.YaraScan': , - 'layerwriter.LayerWriter': , - 'isfinfo.IsfInfo': , - 'configwriter.ConfigWriter': , - 'windows.info.Info': , - 'windows.psscan.PsScan': , - 'windows.cmdline.CmdLine': , - 'windows.envars.Envars': , - 'windows.hashdump.Hashdump': , - 'windows.lsadump.Lsadump': , - 'windows.cachedump.Cachedump': , - 'windows.pstree.PsTree': , - 'windows.memmap.Memmap': , - 'windows.vadyarascan.VadYaraScan': , - 'windows.vadinfo.VadInfo': , - 'windows.modules.Modules': , - 'windows.driverscan.DriverScan': , - 'windows.driverirp.DriverIrp': , - 'windows.verinfo.VerInfo': , - 'windows.symlinkscan.SymlinkScan': , - 'windows.strings.Strings': , - 'windows.virtmap.VirtMap': , - 'windows.dumpfiles.DumpFiles': , - 'windows.filescan.FileScan': , - 'windows.getservicesids.GetServiceSIDs': , - 'windows.svcscan.SvcScan': , - 'windows.registry.userassist.UserAssist': , -""" + class VolatilityManager: @@ -239,40 +199,67 @@ def run(self, manager=None, vm=None): vol_logger = logging.getLogger("volatility3") vol_logger.setLevel(logging.WARNING) - # ToDo rewrite this to for loop and key and names be in dict - # if self.options.psxview.enabled: - # results["pstree"] = vol3.run("windows.pstree.PsTree") - if self.options.psscan.enabled: - results["psscan"] = vol3.run("windows.psscan.PsScan") - if self.options.pslist.enabled: - try: - results["pslist"] = vol3.run("windows.pslist.PsList") - except UnsatisfiedException: - vol_logger.error("Failing PsList") - if self.options.callbacks.enabled: - results["callbacks"] = vol3.run("windows.callbacks.Callbacks") - if self.options.ssdt.enabled: - results["ssdt"] = vol3.run("windows.ssdt.SSDT") - if self.options.getsids.enabled: - results["getsids"] = vol3.run("windows.getsids.GetSIDs") - if self.options.privs.enabled: - results["privs"] = vol3.run("windows.privileges.Privs") - if self.options.malfind.enabled: - results["malfind"] = vol3.run("windows.malfind.Malfind") - if self.options.dlllist.enabled: - results["dlllist"] = vol3.run("windows.dlllist.DllList") - if self.options.handles.enabled: - results["handles"] = vol3.run("windows.handles.Handles") - if self.options.mutantscan.enabled: - results["mutantscan"] = vol3.run("windows.mutantscan.MutantScan") - if self.options.svcscan.enabled: - results["svcscan"] = vol3.run("windows.svcscan.SvcScan") - if self.options.modscan.enabled: - results["modscan"] = vol3.run("windows.modscan.ModScan") - if self.options.yarascan.enabled: - results["yarascan"] = vol3.run("yarascan.YaraScan") - if self.options.netscan.enabled: - results["netscan"] = vol3.run("windows.netscan.NetScan") + plugins_map = { + "psscan": "windows.psscan.PsScan", + "pslist": "windows.pslist.PsList", + "pstree": "windows.pstree.PsTree", + "psxview": "windows.psxview.PsXView", + "callbacks": "windows.callbacks.Callbacks", + "ssdt": "windows.ssdt.SSDT", + "getsids": "windows.getsids.GetSIDs", + "privs": "windows.privileges.Privs", + "malfind": "windows.malfind.Malfind", + "dlllist": "windows.dlllist.DllList", + "handles": "windows.handles.Handles", + "mutantscan": "windows.mutantscan.MutantScan", + "svcscan": "windows.svcscan.SvcScan", + "modscan": "windows.modscan.ModScan", + "yarascan": "yarascan.YaraScan", + "netscan": "windows.netscan.NetScan", + "info": "windows.info.Info", + "ldrmodules": "windows.ldrmodules.LdrModules", + "cmdline": "windows.cmdline.CmdLine", + "envars": "windows.envars.Envars", + "modules": "windows.modules.Modules", + "driverscan": "windows.driverscan.DriverScan", + "driverirp": "windows.driverirp.DriverIrp", + "verinfo": "windows.verinfo.VerInfo", + "filescan": "windows.filescan.FileScan", + "vadinfo": "windows.vadinfo.VadInfo", + "timers": "windows.timers.Timers", + "hivelist": "windows.registry.hivelist.HiveList", + "hashdump": "windows.hashdump.Hashdump", + "lsadump": "windows.lsadump.Lsadump", + "cachedump": "windows.cachedump.Cachedump", + "symlinkscan": "windows.symlinkscan.SymlinkScan", + "thrdscan": "windows.thrdscan.ThrdScan", + "hollowprocesses": "windows.hollowprocesses.HollowProcesses", + "processghosting": "windows.processghosting.ProcessGhosting", + "suspiciousthreads": "windows.suspicious_threads.SuspiciousThreads", + "devicetree": "windows.devicetree.DeviceTree", + "consoles": "windows.consoles.Consoles", + "cmdscan": "windows.cmdscan.CmdScan", + "amcache": "windows.amcache.Amcache", + "shimcache": "windows.shimcachemem.ShimcacheMem", + "userassist": "windows.registry.userassist.UserAssist", + "unloadedmodules": "windows.unloadedmodules.UnloadedModules", + "iat": "windows.iat.IAT", + "skeletonkey": "windows.skeleton_key_check.Skeleton_Key_Check", + "unhookedsyscalls": "windows.unhooked_system_calls.unhooked_system_calls", + "etwpatch": "windows.etwpatch.EtwPatch", + "mftscan": "windows.mftscan.MFTScan", + "svclist": "windows.svclist.SvcList", + "svcdiff": "windows.svcdiff.SvcDiff", + } + + for conf_key, plugin_name in plugins_map.items(): + if getattr(self.options, conf_key, None) and self.options.get(conf_key).enabled: + try: + results[conf_key] = vol3.run(plugin_name) + except UnsatisfiedException: + vol_logger.error("Failing %s", plugin_name) + except Exception as e: + vol_logger.error("Error running %s: %s", plugin_name, e) self.find_taint(results) diff --git a/modules/reporting/reporthtml.py b/modules/reporting/reporthtml.py new file mode 100644 index 00000000000..d22db3517f9 --- /dev/null +++ b/modules/reporting/reporthtml.py @@ -0,0 +1,134 @@ +# Copyright (C) 2010-2015 Cuckoo Foundation. +# This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org +# See the file 'docs/LICENSE' for copying permission. + +import base64 +import codecs +import logging +import os + +from lib.cuckoo.common.abstracts import Report +from lib.cuckoo.common.constants import CUCKOO_ROOT +from lib.cuckoo.common.exceptions import CuckooReportError +from lib.cuckoo.common.objects import File +from lib.cuckoo.common.path_utils import path_exists +from web.analysis.templatetags.analysis_tags import flare_capa_attck, flare_capa_capabilities, flare_capa_mbc, malware_config +from web.analysis.templatetags.key_tags import dict2list, getkey, parentfixup, str2list +from web.analysis.templatetags.pdf_tags import datefmt + +try: + from jinja2.environment import Environment + from jinja2.loaders import FileSystemLoader + + HAVE_JINJA2 = True +except ImportError: + HAVE_JINJA2 = False + +log = logging.getLogger(__name__) + + +class ReportHTML(Report): + """Stores report in HTML format.""" + + def run(self, results): + """Writes report. + @param results: Cuckoo results dict. + @raise CuckooReportError: if fails to write report. + """ + if not HAVE_JINJA2: + raise CuckooReportError("Failed to generate HTML report: Jinja2 Python library is not installed") + + shots_path = os.path.join(self.analysis_path, "shots") + if path_exists(shots_path) and self.options.screenshots: + shots = [] + counter = 1 + for shot_name in os.listdir(shots_path): + if not shot_name.endswith((".jpg", ".png")): + continue + + shot_path = os.path.join(shots_path, shot_name) + + if os.path.getsize(shot_path) == 0: + continue + + shot = {} + shot["id"] = os.path.splitext(File(shot_path).get_name())[0] + shot["data"] = base64.b64encode(open(shot_path, "rb").read()).decode() + shots.append(shot) + + counter += 1 + + shots.sort(key=lambda shot: shot["id"]) + results["shots"] = shots + else: + results["shots"] = [] + + bingraph_path = os.path.join(self.analysis_path, "bingraph") + if path_exists(bingraph_path): + if "graphs" not in results: + results["graphs"] = {} + + bingraph_dict_content = {} + for file_name in os.listdir(bingraph_path): + file_path = os.path.join(bingraph_path, file_name) + sha256 = os.path.basename(file_path).split("-", 1)[0] + with codecs.open(file_path, "r", encoding="utf-8") as f: + bingraph_dict_content[sha256] = f.read() + + if bingraph_dict_content: + results["graphs"]["bingraph"] = {"enabled": True, "content": bingraph_dict_content} + + debugger_path = os.path.join(self.analysis_path, "debugger") + debugger = {} + if path_exists(debugger_path): + try: + for log_file in sorted(os.listdir(debugger_path)): + if not log_file.endswith(".log"): + continue + + log_path = os.path.join(debugger_path, log_file) + if not os.path.isfile(log_path): + continue + + try: + pid = log_file.strip(".log") + with open(log_path, "r") as f: + debugger[pid] = f.read() + except (ValueError, TypeError): + log.warning("Could not parse PID from debugger log file: %s", log_file) + except Exception as e: + log.warning("Could not read debugger logs for HTML report: %s", e) + + env = Environment(autoescape=True) + env.filters.update( + { + "getkey": getkey, + "str2list": str2list, + "dict2list": dict2list, + "parentfixup": parentfixup, + "malware_config": malware_config, + "flare_capa_capability": flare_capa_capabilities, + "flare_capa_attck": flare_capa_attck, + "flare_capa_mbc": flare_capa_mbc, + "datefmt": datefmt, + } + ) + env.loader = FileSystemLoader(os.path.join(CUCKOO_ROOT, "data", "html")) + results["local_conf"] = self.options + + try: + tpl = env.get_template("report.html") + html = tpl.render( + { + "results": results, + "summary_report": False, + "graphs": results.get("graphs", {}), + "debugger": debugger, + } + ) + with codecs.open(os.path.join(self.reports_path, "report.html"), "w", encoding="utf-8") as report: + report.write(html) + except Exception as e: + log.exception("Failed to generate summary HTML report: %s", e) + + return True diff --git a/report.html b/report.html new file mode 100644 index 00000000000..459946975b0 --- /dev/null +++ b/report.html @@ -0,0 +1,71392 @@ + + + + + CAPE Sandbox + + + + + + + + + + + + +
+ + + + + +
+
+ +
+
+ Detections +
+
+

+ + Formbook + +

+
+
+ + + +
+
+ Malware Config(s) +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeFormbook Config
Extracted From + +
+ + + + +
+
+
+ +
md5
+
cfe5a4b89981415568eb611d4e81eb2b
+ +
sha1
+
fc9cb40db4d73e167c6d80d476b6fab6e4adf47a
+ +
sha256
+
5938a9f9614b30912b38d3e051f179bada3541e03e09a81230f65e53c21e8449
+ +
sha512
+
c5eff9643fc7ad58b57979bccc576f66734d77e9e5b64211027a89bac26b8707ad857701f3c11c4bd800409166128bfa9831ac5305db545d90bbc74f349eb4b8
+ +
sha3_384
+
2f84046c7e269ccbb9fcab602a7bccc79be9e212f226cd6404a9d55f6289c52c04fd33429de075577a8ab09f1989710b
+ +
+
+
+
+ +
CNCswww.9206mgrgr.one
raw + + + + + +
Decoys +
    +
  • hospitality-guest.com
  • +
  • oi3tf2.vip
  • +
  • thisismy.gallery
  • +
  • fruitmyday.ie
  • +
  • lrme.xyz
  • +
  • qeltrbu.sbs
  • +
  • 659965.com
  • +
  • desamiantage-expert.fr
  • +
  • melvix.life
  • +
  • esra-ozer.com
  • +
  • hga2030.com
  • +
  • auto-trade-174.ru
  • +
  • akvapuziki.ru
  • +
  • veritas-veridic.com
  • +
  • cg044.top
  • +
  • sofaluxia.com
  • +
+
+
+ + + + + + + +
+
+ + +
+ +
+
+
+
Report Time
+
2025-12-09 12:22:25
+ +
Machine Name
+
win10-3
+ +
Analysis ID
+
17212
+ +
Machine Label
+
win10-3
+ +
Duration
+
232 seconds
+ +
Machine Manager
+
KVM
+ +
OS
+
+ +
Shutdown On
+
2025-12-09 12:26:17
+
+
+
+
+ + + + + + +
+ +
+
+
+
+

File Details + +

+
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Filename + +
binary
+ +
File TypePE32 executable (GUI) Intel 80386, for MS Windows
File Size721408 bytes
MD5bc352a63e8fb9e42a955285345025e75
SHA1509d30a5dd51d5305962caeea73d6a5015180b78
SHA256728546301b7008b5a1fb3aea761701debc5b249e959baa0d09cfba30be90e012 + [VT] + [MWDB] + [Bazaar] +
SHA3-384ac08be96efb0469fef293a90aaa1af1701a05359822ec41c73a8118dfaf6a443188c388f5d149e82b22ee18b64929a72
CRC32A442911F
TLSHT175E4235746C1E8A9D66173708836CCA05A743C705E06A62B876DF2BFAC32347DD2B71A
Ssdeep12288:/z7hU5I5yuNHIgzSFKxWltRohBfSTso93U618R4nJk5a9RJ/jYyZc6NAYjLLO7:/f+iN57Gtene3xhMqsyjAYLL0
+ + + + + + + + + + + + + +
+ +
+

PE Information

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Image BaseEntry PointReported ChecksumActual ChecksumMinimum OS VersionCompile TimeImport HashIconIcon Exact HashIcon Similarity HashIcon DHash
0x004000000x001386900x000000000x000baaa75.12025-11-24 12:30:4121371b611d91188d602926b15db6bd483d5dc4e5a911bee7292a914140092c8ca788a1c8239f81d6e401dd187d68f45eb2b2e3e3e3a3a200
+
+
+
+ +
+

Version Infos

+
+ + + + + + + + + + + + + +
Translation0x0809 0x04b0
+
+
+
+ + + +
+

Sections

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameRAW AddressVirtual AddressVirtual SizeSize of Raw DataCharacteristicsEntropy
UPX00x000004000x000010000x000db0000x00000000IMAGE_SCN_CNT_UNINITIALIZED_DATA|IMAGE_SCN_MEM_EXECUTE|IMAGE_SCN_MEM_READ|IMAGE_SCN_MEM_WRITE0.00
UPX10x000004000x000dc0000x0005d0000x0005ca00IMAGE_SCN_CNT_INITIALIZED_DATA|IMAGE_SCN_MEM_EXECUTE|IMAGE_SCN_MEM_READ|IMAGE_SCN_MEM_WRITE7.94
.rsrc0x0005ce000x001390000x000540000x00053400IMAGE_SCN_CNT_INITIALIZED_DATA|IMAGE_SCN_MEM_READ|IMAGE_SCN_MEM_WRITE7.92
+
+
+
+ + + + + +
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameOffsetSizeLanguageSub-languageEntropyFile type
RT_ICON0x001395ac0x00000128LANG_ENGLISHSUBLANG_ENGLISH_UK3.66None
RT_ICON0x001396d80x00000128LANG_ENGLISHSUBLANG_ENGLISH_UK2.06None
RT_ICON0x001398040x00000128LANG_ENGLISHSUBLANG_ENGLISH_UK2.25None
RT_ICON0x001399300x000002e8LANG_ENGLISHSUBLANG_ENGLISH_UK3.65None
RT_ICON0x00139c1c0x00000128LANG_ENGLISHSUBLANG_ENGLISH_UK3.44None
RT_ICON0x00139d480x00000ea8LANG_ENGLISHSUBLANG_ENGLISH_UK4.16None
RT_ICON0x0013abf40x000008a8LANG_ENGLISHSUBLANG_ENGLISH_UK4.07None
RT_ICON0x0013b4a00x00000568LANG_ENGLISHSUBLANG_ENGLISH_UK2.18None
RT_ICON0x0013ba0c0x000025a8LANG_ENGLISHSUBLANG_ENGLISH_UK4.52None
RT_ICON0x0013dfb80x000010a8LANG_ENGLISHSUBLANG_ENGLISH_UK4.65None
RT_ICON0x0013f0640x00000468LANG_ENGLISHSUBLANG_ENGLISH_UK4.39None
RT_MENU0x000da4a00x00000050LANG_ENGLISHSUBLANG_ENGLISH_UK0.00None
RT_STRING0x000da4f00x00000594LANG_ENGLISHSUBLANG_ENGLISH_UK0.00None
RT_STRING0x000daa840x0000068aLANG_ENGLISHSUBLANG_ENGLISH_UK0.00None
RT_STRING0x000db1100x00000490LANG_ENGLISHSUBLANG_ENGLISH_UK0.00None
RT_STRING0x000db5a00x000005fcLANG_ENGLISHSUBLANG_ENGLISH_UK0.00None
RT_STRING0x000dbb9c0x0000065cLANG_ENGLISHSUBLANG_ENGLISH_UK0.00None
RT_STRING0x000dc1f80x00000466LANG_ENGLISHSUBLANG_ENGLISH_UK7.64None
RT_STRING0x000dc6600x00000158LANG_ENGLISHSUBLANG_ENGLISH_UK7.15None
RT_RCDATA0x0013f4d00x0004c3acLANG_NEUTRALSUBLANG_NEUTRAL8.00None
RT_GROUP_ICON0x0018b8800x00000076LANG_ENGLISHSUBLANG_ENGLISH_UK2.87None
RT_GROUP_ICON0x0018b8fc0x00000014LANG_ENGLISHSUBLANG_ENGLISH_UK2.02None
RT_GROUP_ICON0x0018b9140x00000014LANG_ENGLISHSUBLANG_ENGLISH_UK1.84None
RT_GROUP_ICON0x0018b92c0x00000014LANG_ENGLISHSUBLANG_ENGLISH_UK2.02None
RT_VERSION0x0018b9440x000000dcLANG_ENGLISHSUBLANG_ENGLISH_UK2.78None
RT_MANIFEST0x0018ba240x000003efLANG_ENGLISHSUBLANG_ENGLISH_UK5.40None
+
+
+
+
+ + + +
+ +
+
+
+ +
+
+
+
+ +
0x58bf90 LoadLibraryA
+ +
0x58bf94 GetProcAddress
+ +
0x58bf98 VirtualProtect
+ +
0x58bf9c VirtualAlloc
+ +
0x58bfa0 VirtualFree
+ +
0x58bfa4 ExitProcess
+ +
+
+
+ +
+
+
+ +
+
+
+
+ +
0x58bfac GetAce
+ +
+
+
+ +
+
+
+ +
+
+
+
+ +
0x58bfb4 ImageList_Remove
+ +
+
+
+ +
+
+
+ +
+
+
+
+ +
0x58bfbc GetSaveFileNameW
+ +
+
+
+ +
+
+
+ +
+
+
+
+ +
0x58bfc4 LineTo
+ +
+
+
+ +
+
+
+ +
+
+
+
+ +
0x58bfcc IcmpSendEcho
+ +
+
+
+ +
+
+
+ +
+
+
+
+ +
0x58bfd4 WNetGetConnectionW
+ +
+
+
+ +
+
+
+ +
+
+
+
+ +
0x58bfdc CoGetObject
+ +
+
+
+ +
+
+
+ +
+
+
+
+ +
0x58bfe4 OleLoadPicture
+ +
+
+
+ +
+
+
+ +
+
+
+
+ + + +
+
+
+ +
+
+
+ +
+
+
+
+ +
0x58bff4 DragFinish
+ +
+
+
+ +
+
+
+ +
+
+
+
+ +
0x58bffc GetDC
+ +
+
+
+ +
+
+
+ +
+
+
+
+ +
0x58c004 LoadUserProfileW
+ +
+
+
+ +
+
+
+ +
+
+
+
+ +
0x58c00c IsThemeActive
+ +
+
+
+ +
+
+
+ +
+
+
+
+ +
0x58c014 VerQueryValueW
+ +
+
+
+ +
+
+
+ +
+
+
+
+ +
0x58c01c FtpOpenFileW
+ +
+
+
+ +
+
+
+ +
+
+
+
+ +
0x58c024 timeGetTime
+ +
+
+
+ +
+
+
+ +
+
+
+
+ +
0x58c02c connect
+ +
+
+
+ +
+ +
+ + + + + +
+ + + + + + + + 2025-12-09T12:26:47.339718 + image/svg+xml + + + Matplotlib v3.3.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+
+
+
+ +
+
+
+ Signatures +
+
+ +
    + + +
  • Queries the keyboard layout
  • + + + +
  • Queries the computer locale (possible geofencing)
  • + + + +
  • SetUnhandledExceptionFilter detected (possible anti-debug)
  • + + + +
  • Possible date expiration check, exits too soon after checking local time
  • + + + +
  • Checks system language via registry key (possible geofencing)
  • + + + +
  • Resumed a thread in another process
  • + + + +
  • Writes to the memory another process
  • + + + +
  • Reads from the memory of another process
  • + + + +
  • Reads data out of its own binary image
  • + + + +
  • The binary contains an unknown PE section name indicative of packing
  • + + + +
  • The binary likely contains encrypted or compressed data
  • + + + +
  • Creates RWX memory
  • + + + +
  • Resolves a suspicious Top Level Domain (TLD)
  • + + + +
  • Installs itself for autorun at Windows startup
  • + + + +
  • Yara detections observed in process dumps, payloads or dropped files
  • + + +
+ +
+
+
+
+
+
+
+

Screenshots

+
+
+ +

No screenshots available.

+ +
+
+
+
+
+
+
+

Network Analysis

+
+ + +
+
+ +

Nothing to display.

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameResponse
www.9206mgrgr.one + +
www.oi3tf2.vip + +
www.thisismy.gallery + +
www.fruitmyday.ie + +
www.lrme.xyz + +
www.qeltrbu.sbs + +
www.659965.com + +
www.desamiantage-expert.fr + +
www.melvix.life + +
www.esra-ozer.com + +
+ +
+
+ +

Nothing to display.

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IP AddressPort
192.168.1.153
192.168.1.153
192.168.1.153
192.168.1.153
8.8.8.853
192.168.1.153
192.168.1.153
192.168.1.153
192.168.1.153
192.168.1.153
192.168.1.153
192.168.1.153
192.168.1.153
192.168.1.153
192.168.1.153
192.168.1.153
192.168.1.153
192.168.1.153
192.168.1.153
192.168.1.153
192.168.1.153
192.168.1.153
192.168.1.153
192.168.1.153
192.168.1.153
192.168.1.153
192.168.1.153
192.168.1.153
+ +
+
+ +

No HTTP(s) requests performed.

+ +
+
+ +

Nothing to display.

+ +
+
+ +

Nothing to display.

+ +
+
+ +

Nothing to display.

+ +
+
+ +
+
+
+
+
+

Dropped Files

+
+ + +
+ +
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Filename + +
neophobic
+ +
File TypeASCII text, with very long lines (28674), with no line terminators
Associated Filenames + +
C:\Users\Louise\AppData\Local\Temp\neophobic
+ +
File Size28674 bytes
MD5655ec08496bb51ccc34724c2fcc26a97
SHA1f77ece379bc852440696955ef2c0efe8ea5df12f
SHA256d7b999bc741cd583f9d87dc002ea4f75ea9c2929435eab77c8536b10359ec273 + [VT] + [MWDB] + [Bazaar] +
SHA3-3840669c30793bf455b9444908275b1f98a767832294a529930564d8a4beccf3203618efa1a0edc303ff7446e5dafda33a5
CRC32BDF65310
TLSHT123D2CB602C6F09E035ADC570F30CDB7CAE61D2553C9D6127CD872D738272A11A46ABEE
Ssdeep192:aIU0YzxURqp0mXY+15jeDE49yry+a9ydK7esTlUlh2z3LD1LXVBvbcENwwZUU1ry:rYzxrp0fwaIzDaLXDXU8BdxWEXaU50d
+ + + + + + + + + + + + + + + +
+
+
+

1y669cfd92fddd1311116768c97c111111779:5695c:76111111779:5e97cb83111111779:6699c97f111111779:569bc:76111111779:5e9dcb7d111111779:669fc944111111779:56:1c:43111111779:5e:3cb3f111111779:66:5c975111111779:56:7c:7d111111779:5e:9cb7d111111779:66:b44d1779:56:dc:7f111111779:9e55ggggggcb85111111779::657ggggggc975111111779:9659ggggggc:7d111111779:9e5bggggggcb7d111111779::65dggggggc93f111111779:965fggggggc:75111111779:9e61ggggggcb7d111111779::663ggggggc97d111111779:9665gggggg44d:779:9e67ggggggcb86111111779:66e1c984111111779:56e3c:76111111779:5ee5cb83111111779:66e7c944111111779:56e9c:43111111779:5eebcb3f111111779:66edc975111111779:56efc:7d111111779:5ef1cb7d111111779:66f344d1779:56f5c:72111111779:9e79ggggggcb75111111779::67bggggggc987111111779:967dggggggc:72111111779:9e7fggggggcb81111111779::681ggggggc97:111111779:9683ggggggc:44111111779:9e85ggggggcb43111111779::687ggggggc93f111111779:9689ggggggc:75111111779:9e8bggggggcb7d111111779::68dggggggc97d111111779:968fgggggg44d:779:5e91cb84111111779:66b1c979111111779:56b3c:7d111111779:5eb5cb88111111779:66b7c972111111779:56b9c:81111111779:5ebbcb7:111111779:66bdc93f111111779:56bfc:75111111779:5ec1cb7d111111779:66c3c97d111111779:56c544d:779:5ec7cb84111111779:66c9c979111111779:56cbc:76111111779:5ecdcb7d111111779:66cfc97d111111779:56d1c:44111111779:5ed3cb43111111779:66d5c93f111111779:56d7c:75111111779:5ed9cb7d111111779:66dbc97d111111779:56dd44d:779:5edfd896g5gegggg587d966d9e:645gegggg9::6g9geggggd896gdgeggggd2c::f759e9655gegggg9:9611gfggggd89615gfgggg53bfd8g89e9eb5gegggg9:9e19gfggggd8961dgfgggge9dc99679e:659gegggg9::621gfggggd89625gfgggg5b1edf1:9e965dgegggg9:9629gfggggd8962dgfgggg832eec6f9e9e7dgegggg9:9e31gfggggd89635gfgggg7e53g7519e:685gegggg9::639gfggggd8963dgfggggb:f9g7c19e968dgegggg9:9641gfggggd89645gfgggg:6g847959e9e9dgegggg9:9e49gfggggd8964dgfggggc76ef72:9e:6:1gegggg9::651gfggggd89655gfggggg92:536c9e9651gegggg9:9659gfggggd8965dgfggggb9feg3df9e9e4dgegggg9:9e61gfggggd89665gfgggg5eb:c5d59e:691gegggg9::669gfggggd8966dgfggggbf2:699c9e9695gegggg9:9671gfggggd89675gfgggg53c167be9e9e99gegggg9:9e79gfggggd8967dgfgggg9ecg51bc9e:6:dgegggg9::681gfggggd89685gfgggggd14::869e9671gegggg9:9689gfggggd8968dgfgggg1dee:eg39e9e6dgegggg9:9e91gfggggd89695gfgggg177be86b9e:669gegggg9::699gfggggd8969dgfgggg2367f:dd9e9675gegggg9:96:1gfggggd896:5gfggggdd:821369e9eb1gegggg9:9e:9gfggggd896:dgfggggg2537cgd9e:6b9gegggg9::6b1gfggggd896b5gfgggg:515c3e:9e96bdgegggg9:96b9gfggggd896bdgfggggg526:4c19e9ec5gegggg9:9ec1gfggggd896c5gfgggg1c45613f9e:6c9gegggg9::6c9gfggggd896cdgfgggg3:f:fgb29e96cdgegggg9:96d1gfggggd896d5gfgggge1146d1:9e9ed1gegggg9:9ed9gfggggd896ddgfgggg7652gcb89e:6d5gegggg9::6e1gfggggd896e5gfggggeeg664de9e96d9gegggg9:96e9gfggggd896edgfgggged1926dc9e9ee1gegggg9:9ef1gfggggd896f5gfgggg9eced24g9e:6ddgegggg9::6f9gfggggd896fdgfgggg32e163569e96f1gegggg9:96g1gfggggd896g5gfgggggg2g8dd:9e9ef5gegggg9:9eg9gfggggd896gdgfgggg56cc69f19e:6f9gegggg9::611ggggggd89615ggggggc1177b:19e96fdgegggg9:9619ggggggd8961dgggggg21b4b4189e9e65gegggg9:9e21ggggggd89625ggggggf273bg919e:6g1gegggg9::629ggggggd89669gggggg89288cbb9e9661gegggg9:966dggggggd8962dggggggg5:c:76d9e9ee5gegggg9:9e31ggggggd89635ggggggdf4b51b99e:6edgegggg9::639ggggggd8963dggggggcg389de89e96e9gegggg9:9641ggggggd89671gggggg1779719:9e9e49gegggg9:9e75ggggggd89645gggggg4g3c76d89e:679gegggg9::649ggggggd8964dgggggg6gfgcb859e9681gegggg9:9651gggggg9e5e9562f9563f11119:56g9948eg911854bd856gd11111111fc1:9c66gd94d3129:66gd948egd3684339c56gd9c9dd6g5gegggg629c66g963f9e13f11119c5egd9c:5deg9gegggg9:13fcdg9e9679gggggg61gg:6e1gegggg9:56g5948eg511854bd856gd11111111fc1:9c5egd94d2129:5egd948egd1484339c66gd9c95e62dgggggg619c5eg562f9913f11119c66gd9c9de631gggggg9:12fcdg9e66e163gg:6e1gegggg9:56g1948eg111854bd856gd11111111fc1:9c56gd94d1129:56gd948egd1284339c5egd9c:5de71gggggg639c56g161f9443f11119c5egd9c:5de75gggggg9:13fcdg9e56c961gg:6e1gegggg9:56fd948efd11854bd856gd11111111fc1:9c5egd94d2129:5egd948egd1384339c66gd9c95e645gggggg619c5efd62f9f73e11119c66gd9c9de649gggggg9:12fcdg9e66b163gg:6e1gegggg9:56f9948ef911854bd856gd11111111fc1:9c56gd94d1129:56gd948egd1284339c5egd9c:5de69gggggg639c56f961f9::3e11119c5egd9c:5de6dgggggg9:13fcdgc:411111119ec645gegggg9c8e19g4b69c56196g6f9cf66ed31511669cfd94fd1dd856g911111111d756gg11d856g51111111179111111g17b127b117b119e56g961gg:6b911111196d1861694d9ggfc579e5egg627b129c66g963gg:6bd11111196d186227b119c56g961gg:6c111111194d9ggfc327b119c5eg962gg:6c11111111gc756gg::c:1c111111g8g:94d3759:66g59c56g59cf66ed3d111dddddddddddddddddddddddddddd669cfd629c96d911111161gg66659:56gd948egdgg861544d1fc16c9121111119cf66ed3d511dddddddddddddddddddd669cfd629c96d911111161gg66659:56gd948egdgg861544d1fc229c5egd94f2218518c912111111fc1344d19cf66ed3d511dddddddddddddddddddddddddddd669cfd94fd35676892fdd1111111c:411111119e86199cgdg4b6f9f2gfggggd2f11bd2f11b::9:56ed9:66f17b1179911111117b147b117b1279111111919c96d911111161gg:6:11111119:56gd948egdgg861844d1f:6:1211119e5ef5629c66gd63gg666996d186229c56gd61gg:69911111144d1f:4:1211117b1579114111119c5ef5627b11gg66319:56g9948eg911861844d1f:2:1211117b1179911111117b127b117b1179111111519c:6dd11111163gg:6:11111119:56g5948eg5gg86339c56gd61gg:69911111179119111117b119c5eg962gg:6:d11111144d1f:dg1111117b119e66g1639c56f5619c5eg9629c66gd63gg:6:511111196d186339c56gd61gg:69911111179119111117b119c5eg962gg:6:d11111144d1f::2111111948eg111862g9c66gd63gg:69911111179119111117b119c56g961gg:6:d11111144d1fc7d7b119e5efd629c66f5639c56g9619c5eg562gg664996d1863:9c66gd63gg:6991111119c56g561gg:69911111179119111117b119c5eg962gg:6:d11111144d1fc3b9c66gd63gg:6991111119c56g561gg:69911111179119111117b119c5eg962gg:6:d111111c9121111116g6f9cf66ed3d911dddddddd669cfd92fded1511116768c93f111111779:56fdc:87111111779:5effcb73111111779:66g1c984111111779:56g344d:779:5eg5cb64111111779::649ggggggc976111111779:964bggggggc:85111111779:9e4dggggggcb31111111779::64fggggggc968111111779:9651ggggggc:84111111779:9e53ggggggcb79111111779::655ggggggc964111111779:9657ggggggc:79111111779:9e59ggggggcb76111111779::65bggggggc97d111111779:965dggggggc:7d111111779:9e5fggggggcb31111111779::661ggggggc94e111111779:9663ggggggc:31111111779:9e65ggggggcb54111111779::667ggggggc983111111779:9669ggggggc:76111111779:9e6bggggggcb72111111779::66dggggggc985111111779:966fggggggc:76111111779:9e71ggggggcb5g111111779::673ggggggc973111111779:9675ggggggc:7b111111779:9e77ggggggcb76111111779::679ggggggc974111111779:967bggggggc:85111111779:9e7dggggggcb39111111779::67fggggggc933111111779:9681ggggggc:68111111779:9e83ggggggcb64111111779::685ggggggc974111111779:9687ggggggc:83111111779:9e89ggggggcb7:111111779::68bggggggc981111111779:968dggggggc:85111111779:9e8fggggggcb3f111111779:6691c964111111779:5693c:79111111779:5e95cb76111111779:6697c97d111111779:5699c:7d111111779:5e9bcb33111111779:669dc93:111111779:569fc:1b111111779:5e:1cb68111111779:66:3c984111111779:56:5c:79111111779:5e:7cb64111111779:66:9c979111111779:56:bc:76111111779:5e:dcb7d111111779:66:fc97d111111779:56b1c:3f111111779:5eb3cb63111111779:66b5c986111111779:56b7c:7f111111779:5eb9cb31111111779:66bbc933111111779:56bd44d:779:5ebfcb33111111779:66c1c93d111111779:56c3c:31111111779:5ec5cb42111111779:66c7c91b111111779:56c9c:64111111779:5ecbcb76111111779:66cdc985111111779:56cfc:31111111779:5ed1cb68111111779:66d3c984111111779:56d5c:79111111779:5ed7cb64111111779:66d9c979111111779:56dbc:76111111779:5eddcb7d111111779:66dfc97d111111779:56e1c:31111111779:5ee3cb4e111111779:66e5c931111111779:56e7c:5f111111779:5ee9cb7g111111779:66ebc985111111779:56edc:79111111779:5eefcb7:111111779:66f1c97f111111779:56f3c:78111111779:5ef5cb1b111111779:66f744d1779:56f9d856gd111111119e9e35gcgggg627b117b117b187b11gg664d96d1851844d1f:471211119c:6d9111111639e9635gcgggg619e9e3dgegggg62gg66359e66fd639e963dgegggg61gg66419e9e3dgegggg6292fdd1111111c:411111119e86199cgdg4b6f9bdg:gggg96d1851844d1f:f81111117b1179911111117b137b117b1179111111519e:63dgegggg63gg:6:11111119:56g9948eg9gg861844d1f:c91111117b1579114111119c96dd11111161f94g36111116c3111111617b11gg66319:56gd948egd11861844d1f:9b1111119e9e49gggggg629c66gd63gg663d9c96dd111111619c5egd62gg66419e66c1639c56gd61gg66417b119e9e45gggggg629c66gd63f9fc351111e2f1619c56gd619c5eg962gg664996d1862g9c66g963gg:69911111179119111117b119c56gd61gg:6:d11111144d1fc319c5eg962gg:69911111179119111117b119c66gd63gg:6:d111111c9121111116g6f9cf66ed3d911dd <truncated>

+
+
+
+ + + + + + + + 2025-12-09T12:26:47.937603 + image/svg+xml + + + Matplotlib v3.3.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ +
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Filename + +
autA9E9.tmp
+ +
File Typedata
Associated Filenames + +
C:\Users\Louise\AppData\Local\Temp\autA9E9.tmp
+ +
File Size9768 bytes
MD53febaa0fabb58095c1b76f3d6f2560c0
SHA15a67c639224a8a817f8d969ba487a77d877e5d9f
SHA2563128d13540b68ce33291e6021ea5aefb16f87b2cf12b8b06bebee15466cc4245 + [VT] + [MWDB] + [Bazaar] +
SHA3-38473232742b5cf0d4b3a09b0fd0699240bcdb24e8be569b5e10407a26b9e0fe722c5773504212cbe2f34f8e76fcd1de5cb
CRC32CD2A8047
TLSHT1C512BF3730149DE1B50BC15E6CA54DBB99349068CB1AC633A9EDE37C60640F4C39B769
Ssdeep192:ZfyK3sxPgtaYWi9jwzbu2uje16VLbKzG8MVGBZaOTwmS:RyfxNYddAGL2z/MoBbTbS
+ + + + + + + + + + + + + +
+ + + + + + + + 2025-12-09T12:26:48.492217 + image/svg+xml + + + Matplotlib v3.3.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ +
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Filename + +
spiketail.vbs
+ +
File Typedata
Associated Filenames + +
C:\Users\Louise\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\spiketail.vbs
+ +
File Size276 bytes
MD57cb10edc01c7b544f7704d01b6186955
SHA1afe0d136eb4e5600580912e34413cb79b20eebaf
SHA256aae6b1f077fb93896098a65bbed6ec128464ffbfac64a0e9ace4d2e5130b52f3 + [VT] + [MWDB] + [Bazaar] +
SHA3-384190e30051694350c863b47835d75c9435a73ada2663874a3dd5986e7483cf2e170554359e68f0b49ff41dd4a576b2585
CRC3290771FED
TLSHT1ECD05E4063D26120B3F73E80BC7A48251B77FA318C31D20D0040450E0871618CA70756
Ssdeep6:DMM8lfm3OOQdUfclq5Ja1UEZ+lX1GlZlzOu6nriIM8lfQVn:DsO+vNlK01Q1GzJ4mA2n
+ + + + + + + + + + + + + + + +
+
+
+

Set WshShell = CreateObject("WScript.Shell") +WshShell.Run "C:\Users\Louise\AppData\Local\caprone\spiketail.exe", 1 +Set WshShell = Nothing +

+
+
+
+ + + + + + + + 2025-12-09T12:26:48.987823 + image/svg+xml + + + Matplotlib v3.3.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ +
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Filename + +
reaffection
+ +
File Typedata
Associated Filenames + +
C:\Users\Louise\AppData\Local\Temp\reaffection
+ +
File Size295424 bytes
MD54b3ff29c3010b6f9823fd8862c6cb860
SHA13110dc3d0459213c6557b9ed4f5ebc4d79ace740
SHA2562546161ccaf40c8648c7397533b4a7e3e7aeaa1c7164be4ad9e71d8db90aaae2 + [VT] + [MWDB] + [Bazaar] +
SHA3-384936813a02bb12135d16c68179cf52163d5f6d91bddf55fa10acdd2b37d63bdcab490b3c63a86b21a36cee5ec460f8728
CRC3212B0864A
TLSHT10654014E23260546D6ABDBECD93C14D5F6331ED89B58F1CDA9F8464AC28D4C22D7BE10
Ssdeep6144:5ql05WuBRsHrEhzOyDIKA/+y+3sq1ROLlJ+LkeFYf8h1cnxocLqb:m39LEhz52/T+3sKqeFJoLs
+ + + + + + + + + + + + + +
+ + + + + + + + 2025-12-09T12:26:49.560737 + image/svg+xml + + + Matplotlib v3.3.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ +
+ +
+
+
+
+
+

Payloads

+
+ +
+ +
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeFormbook Payload
Filename + +
c063d01e28c34dc31e3cc68d292a1592ebb72cd1fb1f532e262604bafaef912a
+ +
File Typedata
File Size61087744 bytes
Target Processnotepad.exe
Target PID4836
Target PathC:\Windows\System32\notepad.exe
Injecting Processsvchost.exe
Injecting PID4012
PathC:\Windows\SysWOW64\svchost.exe
MD57808d82d9eb0d4cca7b0d7e0cb7ee847
SHA1667321152210eed63bd0a8704edcb76759cc61fa
SHA256c063d01e28c34dc31e3cc68d292a1592ebb72cd1fb1f532e262604bafaef912a + [VT] + [MWDB] + [Bazaar] +
SHA3-3849693fcafdc1d1ca7679a0bf7de295e9004c8e9771ea4f0657f2a933284d1bb9d8bd502b6ea3478917c98f45c58437bd3
CRC329FBE5D5E
TLSHT1ABD733F47016A2F4EBBBA1BF52274BC478FE5E1242C8E4B2397870F49091C5A56A570F
Ssdeep1572864:hw0gETD85litUXFIvHeIa9Agx3ArQTjWUoYYAMEzZG:PvTwytUX6vHrIxQrxUXYLCY
Yara +
    + +
  • + shellcode_stack_strings - Match x86 that appears to be stack string creation. + + - Author: William Ballenthin + +
  • + +
+
CAPE Yara +
    + +
  • + Formbook + - Formbook Payload + + - Author: kevoreilly +
  • + +
+
+ + + + + + + + + + + + + +
+ + + + + + + + 2025-12-09T12:27:00.760410 + image/svg+xml + + + Matplotlib v3.3.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ +
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeUnpacked Shellcode
Filename + +
fb71bcf2eb604961ea69c7f13909a4e94c07af2c7e8e1e72f38c9c6586364879
+ +
File Typedata
File Size14298 bytes
Virtual Address0x04250000
Processspiketail.exe
PID6044
PathC:\Users\Louise\AppData\Local\caprone\spiketail.exe
MD5071607093f2a93cec56135ac367553cd
SHA153f8bd6b37df57fbdb876ff8167bf45378134905
SHA256fb71bcf2eb604961ea69c7f13909a4e94c07af2c7e8e1e72f38c9c6586364879 + [VT] + [MWDB] + [Bazaar] +
SHA3-3848308afe1a14026296524a4eba59c323fe6080de5601e8353eacefe6af2fa1c96348d1b84a4d747964e8e5415a470bfa7
CRC32D5C9090E
TLSHT149529810C24183EBE49241A0A39A1E399039DD347B9058DB73619F793A72EF57E352D7
Ssdeep384:gH6dZ6Fho0c6LHH9lCJys1zDihSUwvzoZiw767K0i:gH6H640c6L9l6xXihSU5Zt7CW
Yara +
    + +
  • + HeavensGate - Heaven's Gate: Switch from 32-bit to 64-mode + + - Author: kevoreilly + +
  • + +
+
+ + + + + + + + + + + + + +
+ + + + + + + + 2025-12-09T12:27:01.270221 + image/svg+xml + + + Matplotlib v3.3.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ +
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Filename + +
1a7aeed7f1251166f4b155d7d9c9aea71a4173c084f77f2545aa63385a1f90b4
+ +
File TypePE32 executable (DLL) (GUI) Intel 80386, for MS Windows
File Size1672704 bytes
Processsvchost.exe
PID4012
PathC:\Windows\SysWOW64\svchost.exe
MD52fa27a46e6c5182332d0545ab9be2a60
SHA118a84865a1a4f5c757b9e7df6b6f849a7f5dd57c
SHA2561a7aeed7f1251166f4b155d7d9c9aea71a4173c084f77f2545aa63385a1f90b4 + [VT] + [MWDB] + [Bazaar] +
SHA3-38428f54282a84fd416a62c8e142f032cf94d17bd3295bd51a9da444b28c1fbc3e7168a06ad608a23dce9f91ce347582836
CRC32C8888244
TLSHT1FB75B351A3F84615F6F73B7059B926300E7A7CA5AB78C2DF228015AE4EB1EC08D71763
Ssdeep24576:jhe5jT9XyetZyhymfEHhHe3eP9w/ZceItH66i6Gv/12f0XHjX:N2ieto7EH5e3e+2eELc3j
+ + + + + + + + + + + + + +
+ +
+

PE Information

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Image BaseEntry PointReported ChecksumActual ChecksumMinimum OS VersionPDB PathCompile TimeExported DLL Name
0x06f000000x000000000x001a61730x0019c57110.0wntdll.pdb1971-04-29 16:46:46ntdll.dll
+
+
+
+ +
+

Version Infos

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CompanyNameMicrosoft Corporation
FileDescriptionNT Layer DLL
FileVersion10.0.19041.1288 (WinBuild.160101.0800)
InternalNamentdll.dll
LegalCopyright© Microsoft Corporation. All rights reserved.
OriginalFilenamentdll.dll
ProductNameMicrosoft® Windows® Operating System
ProductVersion10.0.19041.1288
Translation0x0409 0x04b0
+
+
+
+ + + +
+

Sections

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameRAW AddressVirtual AddressVirtual SizeSize of Raw DataCharacteristicsEntropy
.text0x000004000x000010000x001200000x0011f800IMAGE_SCN_CNT_CODE|IMAGE_SCN_MEM_EXECUTE|IMAGE_SCN_MEM_READ6.83
PAGE0x0011fc000x001210000x000010000x00000600IMAGE_SCN_CNT_CODE|IMAGE_SCN_MEM_EXECUTE|IMAGE_SCN_MEM_READ5.09
RT0x001202000x001220000x000010000x00000200IMAGE_SCN_CNT_CODE|IMAGE_SCN_MEM_EXECUTE|IMAGE_SCN_MEM_READ5.24
.data0x001204000x001230000x000060000x00000e00IMAGE_SCN_CNT_INITIALIZED_DATA|IMAGE_SCN_MEM_READ|IMAGE_SCN_MEM_WRITE2.81
.mrdata0x001212000x001290000x000030000x00002400IMAGE_SCN_CNT_INITIALIZED_DATA|IMAGE_SCN_MEM_READ|IMAGE_SCN_MEM_WRITE0.28
.00cfg0x001236000x0012c0000x000010000x00000000IMAGE_SCN_CNT_INITIALIZED_DATA|IMAGE_SCN_MEM_READ0.00
.rsrc0x001236000x0012d0000x000700000x0006fe00IMAGE_SCN_CNT_INITIALIZED_DATA|IMAGE_SCN_MEM_READ3.35
.reloc0x001934000x0019d0000x000060000x00005200IMAGE_SCN_CNT_INITIALIZED_DATA|IMAGE_SCN_MEM_DISCARDABLE|IMAGE_SCN_MEM_READ6.71
+
+
+
+ + + + + +
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameOffsetSizeLanguageSub-languageEntropyFile type
MUI0x0019cd000x000000c8LANG_ENGLISHSUBLANG_ENGLISH_US2.73None
RT_MESSAGETABLE0x0012d4700x0006f890LANG_ENGLISHSUBLANG_ENGLISH_US3.35None
RT_VERSION0x0012d0f00x00000380LANG_ENGLISHSUBLANG_ENGLISH_US3.50None
+
+
+
+
+ + + +
+ + +
+

Exports

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OrdinalAddressName
150x6f67b30A_SHAFinal
160x6f88b80A_SHAInit
170x6f67c10A_SHAUpdate
180x6fbeac0AlpcAdjustCompletionListConcurrencyCount
190x6fbeaf0AlpcFreeCompletionListMessage
200x6fbebe0AlpcGetCompletionListLastMessageInformation
210x6fbec10AlpcGetCompletionListMessageAttributes
220x6f69f30AlpcGetHeaderSize
230x6f69ef0AlpcGetMessageAttribute
240x6fbec50AlpcGetMessageFromCompletionList
250x6fbeda0AlpcGetOutstandingCompletionListMessageCount
260x6f69eb0AlpcInitializeMessageAttribute
270x6fbedc0AlpcMaxAllowedMessageLength
280x6fbedd0AlpcRegisterCompletionList
290x6fbee20AlpcRegisterCompletionListWorkerThread
300x6fbee90AlpcRundownCompletionList
310x6fbeeb0AlpcUnregisterCompletionList
320x6fbeed0AlpcUnregisterCompletionListWorkerThread
330x6f66ce0ApiSetQueryApiSetPresence
340x6f50250ApiSetQueryApiSetPresenceEx
350x6fbe850CsrAllocateCaptureBuffer
360x6fbe860CsrAllocateMessagePointer
370x6fbe870CsrCaptureMessageBuffer
380x6fbe880CsrCaptureMessageMultiUnicodeStringsInPlace
390x6fbe910CsrCaptureMessageString
400x6fbe960CsrCaptureTimeout
410x6fbe990CsrClientCallServer
420x6f6bc50CsrClientConnectToServer
430x6fbe9a0CsrFreeCaptureBuffer
440x6fbe9b0CsrGetProcessId
450x6fbe9c0CsrIdentifyAlertableThread
460x6fb4950CsrSetPriorityClass
470x6fbe9d0CsrVerifyRegion
480x6f74d30DbgBreakPoint
490x6f2b920DbgPrint
500x6fbef40DbgPrintEx
510x6fbef70DbgPrintReturnControlC
520x6fbefa0DbgPrompt
530x6fbefe0DbgQueryDebugFilterState
540x6fbeff0DbgSetDebugFilterState
550x6fad930DbgUiConnectToDbg
560x6fad990DbgUiContinue
570x6fad9c0DbgUiConvertStateChangeStructure
580x6fad9e0DbgUiConvertStateChangeStructureEx
590x6fadbe0DbgUiDebugActiveProcess
600x6fadc30DbgUiGetThreadDebugObject
610x6fadc50DbgUiIssueRemoteBreakin
620x6fadca0DbgUiRemoteBreakin
630x6fadd00DbgUiSetThreadDebugObject
640x6fadd20DbgUiStopDebugging
650x6fadd50DbgUiWaitStateChange
660x6f74d20DbgUserBreakPoint
670x7000460EtwCheckCoverage
680x7000c30EtwCreateTraceInstanceId
690x6f2e500EtwDeliverDataBlock
700x70004b0EtwEnumerateProcessRegGuids
710x6f5c1b0EtwEventActivityIdControl
720x6f66960EtwEventEnabled
730x6f2b210EtwEventProviderEnabled
740x6f2e0f0EtwEventRegister
750x6f30ab0EtwEventSetInformation
760x6f59a00EtwEventUnregister
770x6f612a0EtwEventWrite
780x7000c80EtwEventWriteEndScenario
790x6f2bb40EtwEventWriteEx
800x70005b0EtwEventWriteFull
810x6f2bd80EtwEventWriteNoRegistration
820x7000d60EtwEventWriteStartScenario
830x70005f0EtwEventWriteString
840x6f63cf0EtwEventWriteTransfer
850x6f6c7d0EtwGetTraceEnableFlags
860x6f6c7a0EtwGetTraceEnableLevel
870x6f6c750EtwGetTraceLoggerHandle
880x7000ec0EtwLogTraceEvent
890x6f419b0EtwNotificationRegister
900x6f59a20EtwNotificationUnregister
910x6f6ff70EtwProcessPrivateLoggerRequest
920x7000860EtwRegisterSecurityProvider
930x6f643c0EtwRegisterTraceGuidsA
940x6f643f0EtwRegisterTraceGuidsW
950x70025d0EtwReplyNotification
960x7002610EtwSendNotification
970x6f2a720EtwSetMark
980x7000f20EtwTraceEventInstance
990x6f6a150EtwTraceMessage
1000x6f6a180EtwTraceMessageVa
1010x6f599b0EtwUnregisterTraceGuids
1020x70008a0EtwWriteUMSecurityEvent
1030x6f704f0EtwpCreateEtwThread
1040x6f87bf0EtwpGetCpuSpeed
1050x7002d10EvtIntReportAuthzEventAndSourceAsync
1060x7002d50EvtIntReportEventAndSourceAsync
1070x6f74fc0KiFastSystemCall
1080x6f74fd0KiFastSystemCallRet
1090x6f74fe0KiIntSystemCall
1100x6f74f30KiRaiseUserExceptionDispatcher
1110x6f74d60KiUserApcDispatcher
1120x6f74e50KiUserCallbackDispatcher
1130x6f74ec0KiUserExceptionDispatcher
1140x6f88c40LdrAccessResource
1150x6fbcb50LdrAddDllDirectory
1160x6f38b30LdrAddLoadAsDataTable
1170x6f52140LdrAddRefDll
1180x6fac3d0LdrAppxHandleIntegrityFailure
1190x6fadd80LdrCallEnclave
1200x6f50150LdrControlFlowGuardEnforced
1210x6fadd90LdrCreateEnclave
1220x6fade40LdrDeleteEnclave
1230x6f66a00LdrDisableThreadCalloutsForDll
1240x6fbf060LdrEnumResources
1250x6f297c0LdrEnumerateLoadedModules
1260x6fae9a0LdrFastFailInLoaderCallout
1270x6f4f250LdrFindEntryForAddress
1280x6fbf2a0LdrFindResourceDirectory_U
1290x6f6bbe0LdrFindResourceEx_U
1300x6f3b970LdrFindResource_U
1310x6fbf2d0LdrFlushAlternateResourceModules
1320x6f2ade0LdrGetDllDirectory
1330x6f4cc10LdrGetDllFullName
1340x6f4c870LdrGetDllHandle
1350x6f65860LdrGetDllHandleByMapping
1360x6f4f310LdrGetDllHandleByName
1370x6f4ac40LdrGetDllHandleEx
1380x6f32810LdrGetDllPath
1390x6fae9d0LdrGetFailureData
1400x6fbf3c0LdrGetFileNameFromLoadAsDataTable
1410x6f2b840LdrGetProcedureAddress
1420x6f26b30LdrGetProcedureAddressEx
1430x6f4cf20LdrGetProcedureAddressForCaller
1440x6fb14c0LdrInitShimEngineDynamic
1450x6fade70LdrInitializeEnclave
1460x6f66310LdrInitializeThunk
1470x6fae9e0LdrIsModuleSxsRedirected
1480x6f2a2a0LdrLoadAlternateResourceModule
1490x6f3be00LdrLoadAlternateResourceModuleEx
1500x6f4ddc0LdrLoadDll
1510x6fadd80LdrLoadEnclaveModule
1520x6f68600LdrLockLoaderLock
1530x6fbfed0LdrOpenImageFileOptionsKey
1540x70269d4LdrParentInterlockedPopEntrySList
1550x7026990LdrParentRtlInitializeNtUserPfn
1560x70269b0LdrParentRtlResetNtUserPfn
1570x70269a8LdrParentRtlRetrieveNtUserPfn
1580x6fc2890LdrProcessRelocationBlock
1590x6fc28c0LdrProcessRelocationBlockEx
1600x6f69710LdrQueryImageFileExecutionOptions
1610x6f69750LdrQueryImageFileExecutionOptionsEx
1620x6f26cd0LdrQueryImageFileKeyOption
1630x6faeb50LdrQueryModuleServiceTags
1640x6faf710LdrQueryOptionalDelayLoadedAPI
1650x6faebf0LdrQueryProcessModuleInformation
1660x6f2b380LdrRegisterDllNotification
1670x6fbcd30LdrRemoveDllDirectory
1680x6f389e0LdrRemoveLoadAsDataTable
1690x6fc2ef0LdrResFindResource
1700x6f39830LdrResFindResourceDirectory
1710x6f3b600LdrResGetRCConfig
1720x6fc2f40LdrResRelease
1730x6f3a910LdrResSearchResource
1740x6f4ca80LdrResolveDelayLoadedAPI
1750x6faf7b0LdrResolveDelayLoadsFromDll
1760x6f3e810LdrRscIsTypeExist
1770x6f6d850LdrSetAppCompatDllRedirectionCallback
1780x6fbcde0LdrSetDefaultDllDirectories
1790x6f6d470LdrSetDllDirectory
1800x6f6ccd0LdrSetDllManifestProber
1810x6faf0a0LdrSetImplicitPathOptions
1820x6fbf410LdrSetMUICacheType
1830x6f5d6f0LdrShutdownProcess
1840x6f4f660LdrShutdownThread
1850x6f3fd10LdrStandardizeSystemPath
1860x7029248LdrSystemDllInitBlock
1870x6f5a390LdrUnloadAlternateResourceModule
1880x6f5a3b0LdrUnloadAlternateResourceModuleEx
1890x6f4cda0LdrUnloadDll
1900x6f6a6f0LdrUnlockLoaderLock
1910x6faf100LdrUnregisterDllNotification
1920x6fbce20LdrUpdatePackageSearchPath
1930x6faf180LdrVerifyImageMatchesChecksum
1940x6faf1f0LdrVerifyImageMatchesChecksumEx
1950x70269b4LdrpChildNtdll
1960x6f3ab90LdrpResGetMappingSize
1970x6f3b380LdrpResGetResourceDirectory
1980x7000270MD4Final
1990x7000310MD4Init
2000x7000350MD4Update
2010x6f6f960MD5Final
2020x6f724c0MD5Init
2030x6f6fa00MD5Update
2040x7023948NlsAnsiCodePage
2050x7026930NlsMbCodePageTag
2060x7026918NlsMbOemCodePageTag
2070x6f729d0NtAcceptConnectPort
2080x6f729b0NtAccessCheck
2090x6f72c60NtAccessCheckAndAuditAlarm
2100x6f73000NtAccessCheckByType
2110x6f72f60NtAccessCheckByTypeAndAuditAlarm
2120x6f73010NtAccessCheckByTypeResultList
2130x6f73020NtAccessCheckByTypeResultListAndAuditAlarm
2140x6f73030NtAccessCheckByTypeResultListAndAuditAlarmByHandle
2150x6f73040NtAcquireCrossVmMutant
2160x6f73050NtAcquireProcessActivityReference
2170x6f72e40NtAddAtom
2180x6f73060NtAddAtomEx
2190x6f73070NtAddBootEntry
2200x6f73080NtAddDriverEntry
2210x6f73090NtAdjustGroupsToken
2220x6f72de0NtAdjustPrivilegesToken
2230x6f730a0NtAdjustTokenClaimsAndDeviceGroups
2240x6f730b0NtAlertResumeThread
2250x6f730c0NtAlertThread
2260x6f730d0NtAlertThreadByThreadId
2270x6f730e0NtAllocateLocallyUniqueId
2280x6f730f0NtAllocateReserveObject
2290x6f73100NtAllocateUserPhysicalPages
2300x6f73110NtAllocateUserPhysicalPagesEx
2310x6f73120NtAllocateUuids
2320x6f72b30NtAllocateVirtualMemory
2330x6f73130NtAllocateVirtualMemoryEx
2340x6f73140NtAlpcAcceptConnectPort
2350x6f73150NtAlpcCancelMessage
2360x6f73160NtAlpcConnectPort
2370x6f73170NtAlpcConnectPortEx
2380x6f73180NtAlpcCreatePort
2390x6f73190NtAlpcCreatePortSection
2400x6f731a0NtAlpcCreateResourceReserve
2410x6f731b0NtAlpcCreateSectionView
2420x6f731c0NtAlpcCreateSecurityContext
2430x6f731d0NtAlpcDeletePortSection
2440x6f731e0NtAlpcDeleteResourceReserve
2450x6f731f0NtAlpcDeleteSectionView
2460x6f73200NtAlpcDeleteSecurityContext
2470x6f73210NtAlpcDisconnectPort
2480x6f73220NtAlpcImpersonateClientContainerOfPort
2490x6f73230NtAlpcImpersonateClientOfPort
2500x6f73240NtAlpcOpenSenderProcess
2510x6f73250NtAlpcOpenSenderThread
2520x6f73260NtAlpcQueryInformation
2530x6f73270NtAlpcQueryInformationMessage
2540x6f73280NtAlpcRevokeSecurityContext
2550x6f73290NtAlpcSendWaitReceivePort
2560x6f732a0NtAlpcSetInformation
2570x6f72e90NtApphelpCacheControl
2580x6f732b0NtAreMappedFilesTheSame
2590x6f732c0NtAssignProcessToJobObject
2600x6f732d0NtAssociateWaitCompletionPacket
2610x6f732e0NtCallEnclave
2620x6f72a00NtCallbackReturn
2630x6f72fa0NtCancelIoFile
2640x6f732f0NtCancelIoFileEx
2650x6f73300NtCancelSynchronousIoFile
2670x6f72fe0NtCancelTimer
2660x6f73310NtCancelTimer2
2680x6f73320NtCancelWaitCompletionPacket
2690x6f72db0NtClearEvent
2700x6f72aa0NtClose
2710x6f72d80NtCloseObjectAuditAlarm
2720x6f73330NtCommitComplete
2730x6f73340NtCommitEnlistment
2740x6f73350NtCommitRegistryTransaction
2750x6f73360NtCommitTransaction
2760x6f73370NtCompactKeys
2770x6f73380NtCompareObjects
2780x6f73390NtCompareSigningLevels
2790x6f733a0NtCompareTokens
2800x6f733b0NtCompleteConnectPort
2810x6f733c0NtCompressKey
2820x6f733d0NtConnectPort
2830x6f72e00NtContinue
2840x6f733e0NtContinueEx
2850x6f733f0NtConvertBetweenAuxiliaryCounterAndPerformanceCounter
2860x6f73400NtCreateCrossVmEvent
2870x6f73410NtCreateCrossVmMutant
2880x6f73420NtCreateDebugObject
2890x6f73430NtCreateDirectoryObject
2900x6f73440NtCreateDirectoryObjectEx
2910x6f73450NtCreateEnclave
2920x6f73460NtCreateEnlistment
2930x6f72e50NtCreateEvent
2940x6f73470NtCreateEventPair
2950x6f72f20NtCreateFile
2960x6f73480NtCreateIRTimer
2970x6f73490NtCreateIoCompletion
2980x6f734a0NtCreateJobObject
2990x6f734b0NtCreateJobSet
3000x6f72ba0NtCreateKey
3010x6f734c0NtCreateKeyTransacted
3020x6f734d0NtCreateKeyedEvent
3030x6f734e0NtCreateLowBoxToken
3040x6f734f0NtCreateMailslotFile
3050x6f73500NtCreateMutant
3060x6f73510NtCreateNamedPipeFile
3070x6f73520NtCreatePagingFile
3080x6f73530NtCreatePartition
3090x6f73540NtCreatePort
3100x6f73550NtCreatePrivateNamespace
3110x6f73560NtCreateProcess
3120x6f72ea0NtCreateProcessEx
3130x6f73570NtCreateProfile
3140x6f73580NtCreateProfileEx
3150x6f73590NtCreateRegistryTransaction
3160x6f735a0NtCreateResourceManager
3170x6f72e70NtCreateSection
3180x6f735b0NtCreateSectionEx
3190x6f735c0NtCreateSemaphore
3200x6f735d0NtCreateSymbolicLinkObject
3210x6f72eb0NtCreateThread
3220x6f735e0NtCreateThreadEx
3240x6f735f0NtCreateTimer
3230x6f73600NtCreateTimer2
3250x6f73610NtCreateToken
3260x6f73620NtCreateTokenEx
3270x6f73630NtCreateTransaction
3280x6f73640NtCreateTransactionManager
3290x6f73650NtCreateUserProcess
3300x6f73660NtCreateWaitCompletionPacket
3310x6f73670NtCreateWaitablePort
3320x6f73680NtCreateWnfStateName
3330x6f73690NtCreateWorkerFactory
3340x6fb3c80NtCurrentTeb
3350x6f736a0NtDebugActiveProcess
3360x6f736b0NtDebugContinue
3370x6f72d10NtDelayExecution
3380x6f736c0NtDeleteAtom
3390x6f736d0NtDeleteBootEntry
3400x6f736e0NtDeleteDriverEntry
3410x6f736f0NtDeleteFile
3420x6f73700NtDeleteKey
3430x6f73710NtDeleteObjectAuditAlarm
3440x6f73720NtDeletePrivateNamespace
3450x6f73730NtDeleteValueKey
3460x6f73740NtDeleteWnfStateData
3470x6f73750NtDeleteWnfStateName
3480x6f72a20NtDeviceIoControlFile
3490x6f73760NtDirectGraphicsCall
3500x6f73770NtDisableLastKnownGood
3510x6f73780NtDisplayString
3520x6f73790NtDrawText
3530x6f72d90NtDuplicateObject
3540x6f72df0NtDuplicateToken
3550x6f737a0NtEnableLastKnownGood
3560x6f737b0NtEnumerateBootEntries
3570x6f737c0NtEnumerateDriverEntries
3580x6f72cf0NtEnumerateKey
3590x6f737d0NtEnumerateSystemEnvironmentValuesEx
3600x6f737e0NtEnumerateTransactionObject
3610x6f72ae0NtEnumerateValueKey
3620x6f737f0NtExtendSection
3630x6f73800NtFilterBootOption
3640x6f73810NtFilterToken
3650x6f73820NtFilterTokenEx
3660x6f72af0NtFindAtom
3670x6f72e80NtFlushBuffersFile
3680x6f73830NtFlushBuffersFileEx
3690x6f73840NtFlushInstallUILanguage
3700x6f73850NtFlushInstructionCache
3710x6f73860NtFlushKey
3720x6f73870NtFlushProcessWriteBuffers
3730x6f73880NtFlushVirtualMemory
3740x6f73890NtFlushWriteBuffer
3750x6f738a0NtFreeUserPhysicalPages
3760x6f72bb0NtFreeVirtualMemory
3770x6f738b0NtFreezeRegistry
3780x6f738c0NtFreezeTransactions
3790x6f72d60NtFsControlFile
3800x6f738d0NtGetCachedSigningLevel
3810x6f738e0NtGetCompleteWnfStateSubscription
3820x6f738f0NtGetContextThread
3830x6f73900NtGetCurrentProcessorNumber
3840x6f73910NtGetCurrentProcessorNumberEx
3850x6f73920NtGetDevicePowerState
3860x6f73930NtGetMUIRegistryInfo
3870x6f73940NtGetNextProcess
3880x6f73950NtGetNextThread
3890x6f73960NtGetNlsSectionPtr
3900x6f73970NtGetNotificationResourceManager
3910x6fc4df0NtGetTickCount
3920x6f73980NtGetWriteWatch
3930x6f73990NtImpersonateAnonymousToken
3940x6f72bc0NtImpersonateClientOfPort
3950x6f739a0NtImpersonateThread
3960x6f739b0NtInitializeEnclave
3970x6f739c0NtInitializeNlsFiles
3980x6f739d0NtInitializeRegistry
3990x6f739e0NtInitiatePowerAction
4000x6f72ec0NtIsProcessInJob
4010x6f739f0NtIsSystemResumeAutomatic
4020x6f73a00NtIsUILanguageComitted
4030x6f73a10NtListenPort
4040x6f73a20NtLoadDriver
4050x6f73a30NtLoadEnclaveData
4080x6f73a40NtLoadKey
4060x6f73a50NtLoadKey2
4070x6f74730NtLoadKey3
4090x6f73a60NtLoadKeyEx
4100x6f73a70NtLockFile
4110x6f73a80NtLockProductActivationKeys
4120x6f73a90NtLockRegistryKey
4130x6f73aa0NtLockVirtualMemory
4140x6f73ab0NtMakePermanentObject
4150x6f73ac0NtMakeTemporaryObject
4160x6f73ad0NtManageHotPatch
4170x6f73ae0NtManagePartition
4180x6f73af0NtMapCMFModule
4190x6f73b00NtMapUserPhysicalPages
4200x6f729e0NtMapUserPhysicalPagesScatter
4210x6f72c50NtMapViewOfSection
4220x6f73b10NtMapViewOfSectionEx
4230x6f73b20NtModifyBootEntry
4240x6f73b30NtModifyDriverEntry
4250x6f73b40NtNotifyChangeDirectoryFile
4260x6f73b50NtNotifyChangeDirectoryFileEx
4270x6f73b60NtNotifyChangeKey
4280x6f73b70NtNotifyChangeMultipleKeys
4290x6f73b80NtNotifyChangeSession
4300x6f72f50NtOpenDirectoryObject
4310x6f73b90NtOpenEnlistment
4320x6f72dd0NtOpenEvent
4330x6f73ba0NtOpenEventPair
4340x6f72d00NtOpenFile
4350x6f73bb0NtOpenIoCompletion
4360x6f73bc0NtOpenJobObject
4370x6f72ad0NtOpenKey
4380x6f73bd0NtOpenKeyEx
4390x6f73be0NtOpenKeyTransacted
4400x6f73bf0NtOpenKeyTransactedEx
4410x6f73c00NtOpenKeyedEvent
4420x6f73c10NtOpenMutant
4430x6f73c20NtOpenObjectAuditAlarm
4440x6f73c30NtOpenPartition
4450x6f73c40NtOpenPrivateNamespace
4460x6f72c30NtOpenProcess
4470x6f73c50NtOpenProcessToken
4480x6f72cd0NtOpenProcessTokenEx
4490x6f73c60NtOpenRegistryTransaction
4500x6f73c70NtOpenResourceManager
4510x6f72d40NtOpenSection
4520x6f73c80NtOpenSemaphore
4530x6f73c90NtOpenSession
4540x6f73ca0NtOpenSymbolicLinkObject
4550x6f73cb0NtOpenThread
4560x6f72c10NtOpenThreadToken
4570x6f72cc0NtOpenThreadTokenEx
4580x6f73cc0NtOpenTimer
4590x6f73cd0NtOpenTransaction
4600x6f73ce0NtOpenTransactionManager
4610x6f73cf0NtPlugPlayControl
4620x6f72fc0NtPowerInformation
4630x6f73d00NtPrePrepareComplete
4640x6f73d10NtPrePrepareEnlistment
4650x6f73d20NtPrepareComplete
4660x6f73d30NtPrepareEnlistment
4670x6f73d40NtPrivilegeCheck
4680x6f73d50NtPrivilegeObjectAuditAlarm
4690x6f73d60NtPrivilegedServiceAuditAlarm
4700x6f73d70NtPropagationComplete
4710x6f73d80NtPropagationFailed
4720x6f72ed0NtProtectVirtualMemory
4730x6f73d90NtPssCaptureVaSpaceBulk
4740x6f73da0NtPulseEvent
4750x6f72da0NtQueryAttributesFile
4760x6f73db0NtQueryAuxiliaryCounterFrequency
4770x6f73dc0NtQueryBootEntryOrder
4780x6f73dd0NtQueryBootOptions
4790x6f73de0NtQueryDebugFilterState
4800x6f72b00NtQueryDefaultLocale
4810x6f72e10NtQueryDefaultUILanguage
4820x6f72d20NtQueryDirectoryFile
4830x6f73df0NtQueryDirectoryFileEx
4840x6f73e00NtQueryDirectoryObject
4850x6f73e10NtQueryDriverEntryOrder
4860x6f73e20NtQueryEaFile
4870x6f72f30NtQueryEvent
4880x6f73e30NtQueryFullAttributesFile
4890x6f73e40NtQueryInformationAtom
4900x6f73e50NtQueryInformationByName
4910x6f73e60NtQueryInformationEnlistment
4920x6f72ac0NtQueryInformationFile
4930x6f73e70NtQueryInformationJobObject
4940x6f73e80NtQueryInformationPort
4950x6f72b40NtQueryInformationProcess
4960x6f73e90NtQueryInformationResourceManager
4970x6f72c20NtQueryInformationThread
4980x6f72be0NtQueryInformationToken
4990x6f73ea0NtQueryInformationTransaction
5000x6f73eb0NtQueryInformationTransactionManager
5010x6f73ec0NtQueryInformationWorkerFactory
5020x6f73ed0NtQueryInstallUILanguage
5030x6f73ee0NtQueryIntervalProfile
5040x6f73ef0NtQueryIoCompletion
5050x6f72b10NtQueryKey
5060x6f73f00NtQueryLicenseValue
5070x6f73f10NtQueryMultipleValueKey
5080x6f73f20NtQueryMutant
5090x6f72ab0NtQueryObject
5100x6f73f30NtQueryOpenSubKeys
5110x6f73f40NtQueryOpenSubKeysEx
5120x6f72ce0NtQueryPerformanceCounter
5130x6f73f50NtQueryPortInformationProcess
5140x6f73f60NtQueryQuotaInformationFile
5150x6f72ee0NtQuerySection
5160x6f73f70NtQuerySecurityAttributesToken
5170x6f73f80NtQuerySecurityObject
5180x6f73f90NtQuerySecurityPolicy
5190x6f73fa0NtQuerySemaphore
5200x6f73fb0NtQuerySymbolicLinkObject
5210x6f73fc0NtQuerySystemEnvironmentValue
5220x6f73fd0NtQuerySystemEnvironmentValueEx
5230x6f72d30NtQuerySystemInformation
5240x6f73fe0NtQuerySystemInformationEx
5250x6f72f70NtQuerySystemTime
5260x6f72d50NtQueryTimer
5270x6f73ff0NtQueryTimerResolution
5280x6f72b20NtQueryValueKey
5290x6f72c00NtQueryVirtualMemory
5300x6f72e60NtQueryVolumeInformationFile
5310x6f74000NtQueryWnfStateData
5320x6f74010NtQueryWnfStateNameInformation
5330x6f72e20NtQueueApcThread
5340x6f74020NtQueueApcThreadEx
5350x6f74030NtRaiseException
5360x6f74040NtRaiseHardError
5370x6f72a10NtReadFile
5380x6f72cb0NtReadFileScatter
5390x6f74050NtReadOnlyEnlistment
5400x6f72f10NtReadRequestData
5410x6f72dc0NtReadVirtualMemory
5420x6f74060NtRecoverEnlistment
5430x6f74070NtRecoverResourceManager
5440x6f74080NtRecoverTransactionManager
5450x6f74090NtRegisterProtocolAddressInformation
5460x6f740a0NtRegisterThreadTerminatePort
5470x6f740b0NtReleaseKeyedEvent
5480x6f72bd0NtReleaseMutant
5490x6f72a50NtReleaseSemaphore
5500x6f740c0NtReleaseWorkerFactoryWorker
5510x6f72a40NtRemoveIoCompletion
5520x6f740d0NtRemoveIoCompletionEx
5530x6f740e0NtRemoveProcessDebug
5540x6f740f0NtRenameKey
5550x6f74100NtRenameTransactionManager
5560x6f74110NtReplaceKey
5570x6f74120NtReplacePartitionUnit
5580x6f72a70NtReplyPort
5590x6f72a60NtReplyWaitReceivePort
5600x6f72c80NtReplyWaitReceivePortEx
5610x6f74130NtReplyWaitReplyPort
5620x6f74140NtRequestPort
5630x6f72bf0NtRequestWaitReplyPort
5640x6f74150NtResetEvent
5650x6f74160NtResetWriteWatch
5660x6f74170NtRestoreKey
5670x6f74180NtResumeProcess
5680x6f72ef0NtResumeThread
5690x6f74190NtRevertContainerImpersonation
5700x6f741a0NtRollbackComplete
5710x6f741b0NtRollbackEnlistment
5720x6f741c0NtRollbackRegistryTransaction
5730x6f741d0NtRollbackTransaction
5740x6f741e0NtRollforwardTransactionManager
5750x6f741f0NtSaveKey
5760x6f74200NtSaveKeyEx
5770x6f74210NtSaveMergedKeys
5780x6f74220NtSecureConnectPort
5790x6f74230NtSerializeBoot
5800x6f74240NtSetBootEntryOrder
5810x6f74250NtSetBootOptions
5830x6f74260NtSetCachedSigningLevel
5820x6f74270NtSetCachedSigningLevel2
5840x6f74280NtSetContextThread
5850x6f74290NtSetDebugFilterState
5860x6f742a0NtSetDefaultHardErrorPort
5870x6f742b0NtSetDefaultLocale
5880x6f742c0NtSetDefaultUILanguage
5890x6f742d0NtSetDriverEntryOrder
5900x6f742e0NtSetEaFile
5910x6f72a90NtSetEvent
5920x6f72ca0NtSetEventBoostPriority
5930x6f742f0NtSetHighEventPair
5940x6f74300NtSetHighWaitLowEventPair
5950x6f74310NtSetIRTimer
5960x6f74320NtSetInformationDebugObject
5970x6f74330NtSetInformationEnlistment
5980x6f72c40NtSetInformationFile
5990x6f74340NtSetInformationJobObject
6000x6f74350NtSetInformationKey
6010x6f72f90NtSetInformationObject
6020x6f72b90NtSetInformationProcess
6030x6f74360NtSetInformationResourceManager
6040x6f74370NtSetInformationSymbolicLink
6050x6f72a80NtSetInformationThread
6060x6f74380NtSetInformationToken
6070x6f74390NtSetInformationTransaction
6080x6f743a0NtSetInformationTransactionManager
6090x6f743b0NtSetInformationVirtualMemory
6100x6f743c0NtSetInformationWorkerFactory
6110x6f743d0NtSetIntervalProfile
6120x6f743e0NtSetIoCompletion
6130x6f743f0NtSetIoCompletionEx
6140x6f74400NtSetLdtEntries
6150x6f74410NtSetLowEventPair
6160x6f74420NtSetLowWaitHighEventPair
6170x6f74430NtSetQuotaInformationFile
6180x6f74440NtSetSecurityObject
6190x6f74450NtSetSystemEnvironmentValue
6200x6f74460NtSetSystemEnvironmentValueEx
6210x6f74470NtSetSystemInformation
6220x6f74480NtSetSystemPowerState
6230x6f74490NtSetSystemTime
6240x6f744a0NtSetThreadExecutionState
6260x6f72ff0NtSetTimer
6250x6f744b0NtSetTimer2
6270x6f744c0NtSetTimerEx
6280x6f744d0NtSetTimerResolution
6290x6f744e0NtSetUuidSeed
6300x6f72fd0NtSetValueKey
6310x6f744f0NtSetVolumeInformationFile
6320x6f74500NtSetWnfProcessNotificationEvent
6330x6f74510NtShutdownSystem
6340x6f74520NtShutdownWorkerFactory
6350x6f74530NtSignalAndWaitForSingleObject
6360x6f74540NtSinglePhaseReject
6370x6f74550NtStartProfile
6380x6f74560NtStopProfile
6390x6f74570NtSubscribeWnfStateChange
6400x6f74580NtSuspendProcess
6410x6f74590NtSuspendThread
6420x6f745a0NtSystemDebugControl
6430x6f745b0NtTerminateEnclave
6440x6f745c0NtTerminateJobObject
6450x6f72c90NtTerminateProcess
6460x6f72f00NtTerminateThread
6470x6f745d0NtTestAlert
6480x6f745e0NtThawRegistry
6490x6f745f0NtThawTransactions
6500x6f74600NtTraceControl
6510x6f72fb0NtTraceEvent
6520x6f74610NtTranslateFilePath
6530x6f74620NtUmsThreadYield
6540x6f74630NtUnloadDriver
6560x6f74640NtUnloadKey
6550x6f74650NtUnloadKey2
6570x6f74660NtUnloadKeyEx
6580x6f74670NtUnlockFile
6590x6f74680NtUnlockVirtualMemory
6600x6f72c70NtUnmapViewOfSection
6610x6f74690NtUnmapViewOfSectionEx
6620x6f746a0NtUnsubscribeWnfStateChange
6630x6f746b0NtUpdateWnfStateData
6640x6f746c0NtVdmControl
6650x6f746d0NtWaitForAlertByThreadId
6660x6f746e0NtWaitForDebugEvent
6670x6f746f0NtWaitForKeyedEvent
6690x6f72f80NtWaitForMultipleObjects
6680x6f72b70NtWaitForMultipleObjects32
6700x6f729f0NtWaitForSingleObject
6710x6f74700NtWaitForWorkViaWorkerFactory
6720x6f74710NtWaitHighEventPair
6730x6f74720NtWaitLowEventPair
6740x6f729c0NtWorkerFactoryWorkerReady
6750x6f74820NtWow64AllocateVirtualMemory64
6760x6f74850NtWow64CallFunction64
6770x6f74770NtWow64CsrAllocateCaptureBuffer
6780x6f74790NtWow64CsrAllocateMessagePointer
6790x6f747a0NtWow64CsrCaptureMessageBuffer
6800x6f747b0NtWow64CsrCaptureMessageString
6810x6f74760NtWow64CsrClientCallServer
6820x6f74740NtWow64CsrClientConnectToServer
6830x6f74780NtWow64CsrFreeCaptureBuffer
6840x6f747c0NtWow64CsrGetProcessId
6850x6f74750NtWow64CsrIdentifyAlertableThread
6860x6f747d0NtWow64CsrVerifyRegion
6870x6f747e0NtWow64DebuggerCall
6880x6f747f0NtWow64GetCurrentProcessorNumberEx
6890x6f74800NtWow64GetNativeSystemInformation
6900x6f74860NtWow64IsProcessorFeaturePresent
6910x6f74810NtWow64QueryInformationProcess64
6920x6f74830NtWow64ReadVirtualMemory64
6930x6f74840NtWow64WriteVirtualMemory64
6940x6f72a30NtWriteFile
6950x6f72b80NtWriteFileGather
6960x6f72f40NtWriteRequestData
6970x6f72d70NtWriteVirtualMemory
6980x6f72e30NtYieldExecution
6990x6f87d40NtdllDefWindowProc_A
7000x6f87d50NtdllDefWindowProc_W
7010x6f87e00NtdllDialogWndProc_A
7020x6f87e10NtdllDialogWndProc_W
7030x6fc52a0PfxFindPrefix
7040x6fc5340PfxInitialize
7050x6fc5360PfxInsertPrefix
7060x6fc5450PfxRemovePrefix
7070x70064e0PssNtCaptureSnapshot
7080x7006ab0PssNtDuplicateSnapshot
7090x7006b20PssNtFreeRemoteSnapshot
7100x7006cc0PssNtFreeSnapshot
7110x7006e20PssNtFreeWalkMarker
7120x7006e50PssNtQuerySnapshot
7130x7006fe0PssNtValidateDescriptor
7140x70070b0PssNtWalkSnapshot
7150x6fc5690RtlAbortRXact
7160x6f66a50RtlAbsoluteToSelfRelativeSD
7170x6f6a890RtlAcquirePebLock
7180x6fc5e60RtlAcquirePrivilege
7190x6fca580RtlAcquireReleaseSRWLockExclusive
7200x6f6be10RtlAcquireResourceExclusive
7210x6f6b400RtlAcquireResourceShared
7220x6f42340RtlAcquireSRWLockExclusive
7230x6f353e0RtlAcquireSRWLockShared
7240x6f63500RtlActivateActivationContext
7250x6f63550RtlActivateActivationContextEx
90x6f4dc60RtlActivateActivationContextUnsafeFast
7260x6f53670RtlAddAccessAllowedAce
7270x6f6d180RtlAddAccessAllowedAceEx
7280x6fcae30RtlAddAccessAllowedObjectAce
7290x6fcae80RtlAddAccessDeniedAce
7300x6fcaeb0RtlAddAccessDeniedAceEx
7310x6fcaee0RtlAddAccessDeniedObjectAce
7320x6fcaf30RtlAddAccessFilterAce
7330x6f2afe0RtlAddAce
7340x6fc56d0RtlAddActionToRXact
7350x6f60120RtlAddAtomToAtomTable
7360x6fc5710RtlAddAttributeActionToRXact
7370x6fcb110RtlAddAuditAccessAce
7380x6fcb150RtlAddAuditAccessAceEx
7390x6fcb190RtlAddAuditAccessObjectAce
7400x6fcb200RtlAddCompoundAce
7410x6fcd370RtlAddIntegrityLabelToBoundaryDescriptor
7420x6f56730RtlAddMandatoryAce
7430x6fcb330RtlAddProcessTrustLabelAce
7440x6f350f0RtlAddRefActivationContext
7450x6fb4f20RtlAddRefMemoryStream
7460x6fcb450RtlAddResourceAttributeAce
7470x6f29d40RtlAddSIDToBoundaryDescriptor
7480x6fcb7c0RtlAddScopedPolicyIDAce
7490x6fb8510RtlAddVectoredContinueHandler
7500x6f2b0d0RtlAddVectoredExceptionHandler
7510x6f39650RtlAddressInSectionTable
7520x6f66d90RtlAdjustPrivilege
7530x6f64910RtlAllocateActivationContextStack
7540x6f63760RtlAllocateAndInitializeSid
7550x6fc60c0RtlAllocateAndInitializeSidEx
7560x6f60650RtlAllocateHandle
7570x6f45da0RtlAllocateHeap
7580x7022010RtlAllocateMemoryBlockLookaside
7590x70220a0RtlAllocateMemoryZone
7600x6f6d700RtlAllocateWnfSerializationGroup
7610x6f61e40RtlAnsiCharToUnicodeChar
7620x6f2adb0RtlAnsiStringToUnicodeSize
7630x6f4c580RtlAnsiStringToUnicodeString
7640x6fce240RtlAppendAsciizToString
7650x6facff0RtlAppendPathElement
7660x6fce2a0RtlAppendStringToString
7670x6f510f0RtlAppendUnicodeStringToString
7680x6f3fe60RtlAppendUnicodeToString
7690x6fba160RtlApplicationVerifierStop
7700x6fc58b0RtlApplyRXact
7710x6fc5940RtlApplyRXactNoFlush
7720x6fac940RtlAppxIsFileOwnedByTrustedInstaller
7730x6fc6150RtlAreAllAccessesGranted
7740x6fc6170RtlAreAnyAccessesGranted
7750x6fce410RtlAreBitsClear
7760x6f67af0RtlAreBitsSet
7770x6f64d70RtlAreLongPathsEnabled
7780x6fcfd90RtlAssert
7790x6fcfea0RtlAvlInsertNodeEx
7800x6fd0010RtlAvlRemoveNode
7810x6fd0450RtlBarrier
7820x6fd0470RtlBarrierForDelete
7830x7005380RtlCancelTimer
7840x6fcda90RtlCanonicalizeDomainName
7850x6f6f260RtlCapabilityCheck
7860x6fc6190RtlCapabilityCheckForSingleSessionSku
7870x6f88960RtlCaptureContext
7880x6f5c020RtlCaptureStackBackTrace
7890x6f88c60RtlCaptureStackContext
7900x6f28e60RtlCharToInteger
7910x6fd09b0RtlCheckBootStatusIntegrity
7920x6f68540RtlCheckForOrphanedCriticalSections
7930x6fd1200RtlCheckPortableOperatingSystem
7940x6fd12c0RtlCheckRegistryKey
7950x6fb5c90RtlCheckSandboxedToken
7960x6fd0ac0RtlCheckSystemBootStatusIntegrity
7970x6f6f740RtlCheckTokenCapability
7980x6fc61d0RtlCheckTokenMembership
7990x6f55fa0RtlCheckTokenMembershipEx
8000x6f6bcf0RtlCleanUpTEBLangLists
8010x6fce4e0RtlClearAllBits
8020x6f870e0RtlClearBit
8030x6f61b30RtlClearBits
8040x6f66760RtlClearThreadWorkOnBehalfTicket
8050x6fb4f30RtlCloneMemoryStream
8060x6fb58a0RtlCloneUserProcess
8070x6fd6380RtlCmDecodeMemIoResource
8080x6fd6400RtlCmEncodeMemIoResource
8090x6fb6930RtlCommitDebugInfo
8100x6fb4f30RtlCommitMemoryStream
8110x6fd6990RtlCompactHeap
8120x6fda440RtlCompareAltitudes
8130x6f88070RtlCompareMemory
8140x6f880c0RtlCompareMemoryUlong
8150x6fce300RtlCompareString
8160x6f504e0RtlCompareUnicodeString
8170x6f50510RtlCompareUnicodeStrings
8180x6fda6c0RtlCompressBuffer
8190x6fda960RtlComputeCrc32
8200x6fbe690RtlComputeImportTableHash
8210x6fb4bf0RtlComputePrivatizedDllName_U
8220x6fda9a0RtlConnectToSm
8230x6fc3eb0RtlConsoleMultiByteToUnicodeN
8240x6fdad50RtlConstructCrossVmEventPath
8250x6fdad50RtlConstructCrossVmMutexPath
8260x6fdaea0RtlContractHashTable
8270x6fb50e0RtlConvertDeviceFamilyInfoToString
8280x6fca6a0RtlConvertExclusiveToShared
8290x6fd1ae0RtlConvertLCIDToString
8300x6f886c0RtlConvertLongToLargeInteger
8310x6fca5b0RtlConvertSRWLockExclusiveToShared
8320x6fca700RtlConvertSharedToExclusive
8330x6f539e0RtlConvertSidToUnicodeString
8340x6fb5cd0RtlConvertToAutoInheritSecurityObject
8350x6f886d0RtlConvertUlongToLargeInteger
8360x6fce520RtlCopyBitMap
8370x6fdb7c0RtlCopyContext
8380x6fdb930RtlCopyExtendedContext
8390x6fc61f0RtlCopyLuid
8400x6fc6210RtlCopyLuidAndAttributesArray
8410x6fdc7a0RtlCopyMappedMemory
8420x6fb4f40RtlCopyMemoryStreamTo
8430x6fb4f40RtlCopyOutOfProcessMemoryStreamTo
8440x6fb5d00RtlCopySecurityDescriptor
8450x6f56870RtlCopySid
8460x6fc6250RtlCopySidAndAttributesArray
8470x6f2bb00RtlCopyString
8480x6f55f40RtlCopyUnicodeString
8490x6fdc880RtlCrc32
8500x6fdc8b0RtlCrc64
8510x6f57c40RtlCreateAcl
8520x6f632e0RtlCreateActivationContext
8530x6fb5d90RtlCreateAndSetSD
8540x6f60050RtlCreateAtomTable
8550x6fd0b10RtlCreateBootStatusDataFile
8560x6f2a210RtlCreateBoundaryDescriptor
8570x6f5ad10RtlCreateEnvironment
8580x6f5ad40RtlCreateEnvironmentEx
8590x6fdafb0RtlCreateHashTable
8600x6fdafe0RtlCreateHashTableEx
8610x6f40fa0RtlCreateHeap
8620x6f2a990RtlCreateMemoryBlockLookaside
8630x6f2aaf0RtlCreateMemoryZone
8640x6fb5a90RtlCreateProcessParameters
8650x6fb5ad0RtlCreateProcessParametersEx
8660x6f282c0RtlCreateProcessParametersWithTemplate
8670x6fb51a0RtlCreateProcessReflection
8680x6fb6950RtlCreateQueryDebugBuffer
8690x6fd1300RtlCreateRegistryKey
8700x6f58790RtlCreateSecurityDescriptor
8710x6f2c1e0RtlCreateServiceSid
8720x6fdda60RtlCreateSystemVolumeInformationFolder
8730x6f6a5a0RtlCreateTagHeap
8740x6f2a540RtlCreateTimer
8750x6f28fb0RtlCreateTimerQueue
8760x6f54110RtlCreateUnicodeString
8770x6f4d550RtlCreateUnicodeStringFromAsciiz
8780x6fbfd40RtlCreateUserProcess
8790x6fbfda0RtlCreateUserProcessEx
8800x6fb6070RtlCreateUserSecurityObject
8810x6f720a0RtlCreateUserStack
8820x6f70540RtlCreateUserThread
8830x6fc62e0RtlCreateVirtualAccountSid
8840x6f55700RtlCultureNameToLCID
8850x6fc4000RtlCustomCPToUnicodeN
8860x6f5cb30RtlCutoverTimeToSystemTime
8870x6fb6ae0RtlDeCommitDebugInfo
8880x6fb5b10RtlDeNormalizeProcessParams
8890x6f64ac0RtlDeactivateActivationContext
100x6f4c720RtlDeactivateActivationContextUnsafeFast
8900x6f6d8a0RtlDebugPrintTimes
8910x6f64d90RtlDecodePointer
8920x6fba460RtlDecodeRemotePointer
8930x6f2bbf0RtlDecodeSystemPointer
8940x6fda720RtlDecompressBuffer
8950x6fda780RtlDecompressBufferEx
8960x6fda7e0RtlDecompressFragment
8970x6fb60d0RtlDefaultNpAcl
8980x6f28010RtlDelete
8990x6f29390RtlDeleteAce
9000x6f27870RtlDeleteAtomFromAtomTable
9010x6fd0490RtlDeleteBarrier
9020x6f2ba90RtlDeleteBoundaryDescriptor
9030x6f2fbe0RtlDeleteCriticalSection
9040x6f27eb0RtlDeleteElementGenericTable
9050x6f26e10RtlDeleteElementGenericTableAvl
9060x6f26e50RtlDeleteElementGenericTableAvlEx
9070x6fdb000RtlDeleteHashTable
9080x6f67800RtlDeleteNoSplay
9090x6fd1340RtlDeleteRegistryValue
9100x6f29e40RtlDeleteResource
9110x6f6c640RtlDeleteSecurityObject
9120x6f28c90RtlDeleteTimer
9130x70053a0RtlDeleteTimerQueue
9140x6f28b10RtlDeleteTimerQueueEx
9150x6fde610RtlDeregisterSecureMemoryCacheCallback
9160x7005620RtlDeregisterWait
9170x6f28060RtlDeregisterWaitEx
9180x6f6e540RtlDeriveCapabilitySidsFromName
9190x6fcd170RtlDestroyAtomTable
9200x6f2b9c0RtlDestroyEnvironment
9210x6f2bf80RtlDestroyHandleTable
9220x6f2f8c0RtlDestroyHeap
9230x6fcd6d0RtlDestroyMemoryBlockLookaside
9240x6fcd8f0RtlDestroyMemoryZone
9250x6f2b9c0RtlDestroyProcessParameters
9260x6fb6b00RtlDestroyQueryDebugBuffer
9270x6f5d910RtlDetectHeapLeaks
9280x6f334e0RtlDetermineDosPathNameType_U
9290x6facd10RtlDisableThreadProfiling
9300x6f6c1e0RtlDisownModuleHeapAllocation
80x6f2c020RtlDispatchAPC
9310x6f5f4e0RtlDllShutdownInProgress
9320x6fcdc70RtlDnsHostNameToComputerName
9330x6fad200RtlDoesFileExists_U
9340x6fe14c0RtlDoesNameContainWildCards
9350x6f49890RtlDosApplyFileIsolationRedirection_Ustr
9360x6fad220RtlDosLongPathNameToNtPathName_U_WithStatus
9370x6fad250RtlDosLongPathNameToRelativeNtPathName_U_WithStatus
9380x6f51bc0RtlDosPathNameToNtPathName_U
9390x6f51de0RtlDosPathNameToNtPathName_U_WithStatus
9400x6f51c30RtlDosPathNameToRelativeNtPathName_U
9410x6f41e60RtlDosPathNameToRelativeNtPathName_U_WithStatus
9420x6fad280RtlDosSearchPath_U
9430x6f451d0RtlDosSearchPath_Ustr
9440x6fcdd30RtlDowncaseUnicodeChar
9450x6f2ab80RtlDowncaseUnicodeString
9460x6fca7d0RtlDumpResource
9470x6f6cf00RtlDuplicateUnicodeString
9480x6fcd220RtlEmptyAtomTable
9490x6fca820RtlEnableEarlyCriticalSectionEventCreation
9500x6facd60RtlEnableThreadProfiling
9510x6f65750RtlEncodePointer
9520x6fba4b0RtlEncodeRemotePointer
9530x6f6d660RtlEncodeSystemPointer
9540x6fdb090RtlEndEnumerationHashTable
9550x6fdb0e0RtlEndStrongEnumerationHashTable
9560x6fdb0f0RtlEndWeakEnumerationHashTable
9570x6f88460RtlEnlargedIntegerMultiply
9580x6f88470RtlEnlargedUnsignedMultiply
9590x6f3fef0RtlEnterCriticalSection
9600x6fd6af0RtlEnumProcessHeaps
9610x6fdb100RtlEnumerateEntryHashTable
9620x6fde270RtlEnumerateGenericTable
9630x6f2b870RtlEnumerateGenericTableAvl
9640x6fde380RtlEnumerateGenericTableLikeADirectory
9650x6f2b9f0RtlEnumerateGenericTableWithoutSplaying
9660x6f2b8a0RtlEnumerateGenericTableWithoutSplayingAvl
9670x6fcdd50RtlEqualComputerName
9680x6fcdd60RtlEqualDomainName
9690x6fc63c0RtlEqualLuid
9700x6f58350RtlEqualPrefixSid
9710x6f58620RtlEqualSid
9720x6f29440RtlEqualString
9730x6f512a0RtlEqualUnicodeString
9740x6f2c1b0RtlEqualWnfChangeStamps
9750x6fc63f0RtlEraseUnicodeString
9760x6fe1b90RtlEthernetAddressToStringA
9770x6fe1d70RtlEthernetAddressToStringW
9780x6fe21e0RtlEthernetStringToAddressA
9790x6fe2300RtlEthernetStringToAddressW
9800x6f5d620RtlExitUserProcess
9810x6f6b4b0RtlExitUserThread
9820x6f5c3f0RtlExpandEnvironmentStrings
9830x6f5c380RtlExpandEnvironmentStrings_U
9840x6fdb1a0RtlExpandHashTable
9850x6fe2420RtlExtendCorrelationVector
9860x6fcd720RtlExtendMemoryBlockLookaside
9870x6fcd950RtlExtendMemoryZone
9880x6f88590RtlExtendedIntegerMultiply
9890x6f884a0RtlExtendedLargeIntegerDivide
9900x6f88500RtlExtendedMagicDivide
9910x6fce6f0RtlExtractBitMap
9920x6f880f0RtlFillMemory
9930x6f88160RtlFillMemoryUlong
9940x6f88130RtlFillMemoryUlonglong
9950x6fb4f50RtlFinalReleaseOutOfProcessMemoryStream
9960x6f57ff0RtlFindAceByType
9970x6f4d6b0RtlFindActivationContextSectionGuid
9980x6f4a190RtlFindActivationContextSectionString
9990x6f4aa80RtlFindCharInUnicodeString
10000x6fce870RtlFindClearBits
10010x6f619e0RtlFindClearBitsAndSet
10020x6fceb20RtlFindClearRuns
10030x6fd6530RtlFindClosestEncodableLength
10040x6fcd390RtlFindExportedRoutineByName
10050x6fced60RtlFindLastBackwardRunClear
10060x6fcee40RtlFindLeastSignificantBit
10070x6fceee0RtlFindLongestRunClear
10080x6f5ff70RtlFindMessage
10090x6fcef20RtlFindMostSignificantBit
10100x6fcefc0RtlFindNextForwardRunClear
10110x6fcf0c0RtlFindSetBits
10120x6fcf380RtlFindSetBitsAndClear
10130x6f66240RtlFindUnicodeSubstring
10140x6fbea60RtlFirstEntrySList
10150x6f57f90RtlFirstFreeAce
10160x6f65540RtlFlsAlloc
10170x6f687e0RtlFlsFree
10180x6f5ba80RtlFlsGetValue
10190x6f5bea0RtlFlsSetValue
10200x6fd6b10RtlFlushHeaps
10210x6fde6a0RtlFlushSecureMemoryCache
10220x6f538b0RtlFormatCurrentUserKeyPath
10230x6fe27b0RtlFormatMessage
10240x6f60e70RtlFormatMessageEx
10250x6f64a10RtlFreeActivationContextStack
10260x6f43ba0RtlFreeAnsiString
10270x6f677d0RtlFreeHandle
10280x6f43bd0RtlFreeHeap
10290x7022190RtlFreeMemoryBlockLookaside
10300x6fcddd0RtlFreeOemString
10310x6f6a770RtlFreeSid
10320x6f64960RtlFreeThreadActivationContextStack
10330x6f43ba0RtlFreeUTF8String
10340x6f43ba0RtlFreeUnicodeString
10350x6fade40RtlFreeUserStack
10360x6fe2810RtlGUIDFromString
10370x6fe2ae0RtlGenerate8dot3Name
10380x6f6a0f0RtlGetAce
10390x6f667a0RtlGetActiveActivationContext
10400x6f6c730RtlGetActiveConsoleId
10410x6f67980RtlGetAppContainerNamedObjectPath
10420x6fc6430RtlGetAppContainerParent
10430x6fc64e0RtlGetAppContainerSidType
10440x6fd05c0RtlGetCallersAddress
10450x6fda840RtlGetCompressionWorkSpaceSize
10460x6fe3160RtlGetConsoleSessionForegroundProcessId
10470x6f6bdd0RtlGetControlSecurityDescriptor
10480x6fca840RtlGetCriticalSectionRecursionCount
10490x6f27c00RtlGetCurrentDirectory_U
10500x6fe3190RtlGetCurrentPeb
10510x6f67440RtlGetCurrentProcessorNumber
10520x6f66150RtlGetCurrentProcessorNumberEx
10530x6f43c50RtlGetCurrentServiceSessionId
10540x6f60910RtlGetCurrentTransaction
10550x6f656e0RtlGetDaclSecurityDescriptor
10560x6f6b9c0RtlGetDeviceFamilyInfoEnum
10570x6fde2c0RtlGetElementGenericTable
10580x6fde460RtlGetElementGenericTableAvl
10590x6f6c260RtlGetEnabledExtendedFeatures
10600x6f2beb0RtlGetExePath
10620x6fdba00RtlGetExtendedContextLength
10610x6fdb950RtlGetExtendedContextLength2
10630x6fdba50RtlGetExtendedFeaturesMask
10640x6fd1bb0RtlGetFileMUIPath
10650x6fae650RtlGetFrame
10660x6f6cb10RtlGetFullPathName_U
10670x6f52340RtlGetFullPathName_UEx
10680x6f496b0RtlGetFullPathName_UstrEx
10690x6f6ce20RtlGetGroupSecurityDescriptor
10700x6f60490RtlGetIntegerAtom
10710x6fc4a00RtlGetInterruptTimePrecise
10720x6f6caf0RtlGetLastNtStatus
10730x6fe3280RtlGetLastWin32Error
10740x6f63f50RtlGetLengthWithoutLastFullDosOrNtPathElement
10750x6fad450RtlGetLengthWithoutTrailingPathSeperators
10760x6f6a300RtlGetLocaleFileMappingAddress
10770x6f6d5d0RtlGetLongestNtPathLength
10780x6fc4b10RtlGetMultiTimePrecise
10790x6f74800RtlGetNativeSystemInformation
10800x6fdb340RtlGetNextEntryHashTable
10810x6f87190RtlGetNtGlobalFlags
10820x6f30640RtlGetNtProductType
10830x6f401e0RtlGetNtSystemRoot
10840x6fb3cb0RtlGetNtVersionNumbers
10850x6f6aad0RtlGetOwnerSecurityDescriptor
10860x6f541f0RtlGetParentLocaleName
10870x6f65c00RtlGetPersistedStateLocation
10880x6fd6b30RtlGetProcessHeaps
10890x6fd2500RtlGetProcessPreferredUILanguages
10900x6f6d270RtlGetProductInfo
10910x6f306a0RtlGetReturnAddressHijackTarget
10920x6f6c0a0RtlGetSaclSecurityDescriptor
10930x6f2b630RtlGetSearchPath
10940x6fc6550RtlGetSecurityDescriptorRMControl
10950x6fc6580RtlGetSessionProperties
10960x6fd0c40RtlGetSetBootStatusData
10970x6f30680RtlGetSuiteMask
10980x6fd0d40RtlGetSystemBootStatus
10990x6fd0d80RtlGetSystemBootStatusEx
11000x6fd25d0RtlGetSystemPreferredUILanguages
11010x6f86f90RtlGetSystemTimeAndBias
11020x6f5bb60RtlGetSystemTimePrecise
11030x6fae5f0RtlGetThreadErrorMode
11040x6fd2a40RtlGetThreadLangIdByIndex
11050x6f52dd0RtlGetThreadPreferredUILanguages
11060x6f27400RtlGetThreadWorkOnBehalfTicket
11070x6fc6610RtlGetTokenNamedObjectPath
11080x6fd2b10RtlGetUILanguageInfo
11090x6faf660RtlGetUnloadEventTrace
11100x6faf670RtlGetUnloadEventTraceEx
11110x6f63830RtlGetUserInfoHeap
11120x6f2a750RtlGetUserPreferredUILanguages
11130x6f2ff40RtlGetVersion
11140x6fe3b90RtlGuardCheckLongJumpTarget
11150x6f279c0RtlHashUnicodeString
11160x6fe4340RtlHeapTrkInitialize
11170x6f6d5b0RtlIdentifierAuthoritySid
11180x6f65920RtlIdnToAscii
11190x6fe54a0RtlIdnToNameprepUnicode
11200x6fe54d0RtlIdnToUnicode
11210x6f3de40RtlImageDirectoryEntryToData
11220x6f3b940RtlImageNtHeader
11230x6f3e5a0RtlImageNtHeaderEx
11240x6fcd490RtlImageRvaToSection
11250x6fcd4e0RtlImageRvaToVa
11260x6f6bfa0RtlImpersonateSelf
11270x6f6bfc0RtlImpersonateSelfEx
11280x6fe2470RtlIncrementCorrelationVector
11290x6f75030RtlInitAnsiString
11300x6f5ff20RtlInitAnsiStringEx
11310x6fd04c0RtlInitBarrier
11320x6fc4150RtlInitCodePageTable
11330x6fdb390RtlInitEnumerationHashTable
11340x6fb4f50RtlInitMemoryStream
11350x6fc4250RtlInitNlsTables
11360x6fb4f50RtlInitOutOfProcessMemoryStream
11370x6f74ff0RtlInitString
11380x6fce3a0RtlInitStringEx
11390x6fdb3f0RtlInitStrongEnumerationHashTable
11400x6fce3b0RtlInitUTF8String
11410x6fce3a0RtlInitUTF8StringEx
11420x6f75070RtlInitUnicodeString
11430x6f51d30RtlInitUnicodeStringEx
11440x6fdb430RtlInitWeakEnumerationHashTable
11450x6fb4f20RtlInitializeAtomPackage
11460x6f6d580RtlInitializeBitMap
11470x6f64d50RtlInitializeConditionVariable
11480x6fe6510RtlInitializeContext
11490x6fe2540RtlInitializeCorrelationVector
11500x6f5c330RtlInitializeCriticalSection
11510x6f61ba0RtlInitializeCriticalSectionAndSpinCount
11520x6f5fbe0RtlInitializeCriticalSectionEx
11530x6f67ab0RtlInitializeExceptionChain
11550x6fdbbf0RtlInitializeExtendedContext
11540x6fdba70RtlInitializeExtendedContext2
11560x6f6b6b0RtlInitializeGenericTable
11570x6f6d620RtlInitializeGenericTableAvl
11580x6f6b460RtlInitializeHandleTable
11590x6f748a0RtlInitializeNtUserPfn
11600x6fc5960RtlInitializeRXact
11610x6f5fac0RtlInitializeResource
11620x6f685e0RtlInitializeSListHead
11630x6f64d50RtlInitializeSRWLock
11640x6f58310RtlInitializeSid
11650x6f58880RtlInitializeSidEx
11660x6f27db0RtlInsertElementGenericTable
11670x6f26f30RtlInsertElementGenericTableAvl
11680x6f27df0RtlInsertElementGenericTableFull
11690x6f26f70RtlInsertElementGenericTableFullAvl
11700x6fdb440RtlInsertEntryHashTable
11710x6fd06e0RtlInt64ToUnicodeString
11720x6f52b30RtlIntegerToChar
11730x6f52ac0RtlIntegerToUnicodeString
11740x6fcf660RtlInterlockedClearBitRun
11750x6f88700RtlInterlockedCompareExchange64
11760x6f64df0RtlInterlockedFlushSList
11770x6f42140RtlInterlockedPopEntrySList
11780x6f42190RtlInterlockedPushEntrySList
110x6fbe9e0RtlInterlockedPushListSList
11790x6fe6960RtlInterlockedPushListSListEx
11800x6fcf700RtlInterlockedSetBitRun
11810x6fd6600RtlIoDecodeMemIoResource
11820x6fd66c0RtlIoEncodeMemIoResource
11830x6f72250RtlIpv4AddressToStringA
11840x6fe1be0RtlIpv4AddressToStringExA
11850x6fe1dc0RtlIpv4AddressToStringExW
11860x6fe1e70RtlIpv4AddressToStringW
11870x6f6ca30RtlIpv4StringToAddressA
11880x6f6c9e0RtlIpv4StringToAddressExA
11890x6f68a10RtlIpv4StringToAddressExW
11900x6f68a60RtlIpv4StringToAddressW
11910x6f727d0RtlIpv6AddressToStringA
11920x6fe1c90RtlIpv6AddressToStringExA
11930x6fe1eb0RtlIpv6AddressToStringExW
11940x6fe1fc0RtlIpv6AddressToStringW
11950x6f6c310RtlIpv6StringToAddressA
11960x6f6c2a0RtlIpv6StringToAddressExA
11970x6f68000RtlIpv6StringToAddressExW
11980x6f68070RtlIpv6StringToAddressW
11990x6fbdc50RtlIsActivationContextActive
12000x6f59430RtlIsCapabilitySid
12010x6f6c110RtlIsCloudFilesPlaceholder
12020x6fca870RtlIsCriticalSectionLocked
12030x6f521a0RtlIsCriticalSectionLockedByThread
12040x6fe6ac0RtlIsCurrentProcess
12050x6fe6af0RtlIsCurrentThread
12060x6f861d0RtlIsCurrentThreadAttachExempt
12070x6f51c00RtlIsDosDeviceName_U
12080x6fc6640RtlIsElevatedRid
12090x6fde360RtlIsGenericTableEmpty
12100x6fde550RtlIsGenericTableEmptyAvl
12110x6f2d810RtlIsMultiSessionSku
12120x6f71da0RtlIsMultiUsersInSessionSku
12130x6fe1510RtlIsNameInExpression
12140x6fe15a0RtlIsNameInUnUpcasedExpression
12150x6fe2f40RtlIsNameLegalDOS8Dot3
12160x6fe6b20RtlIsNonEmptyDirectoryReparsePointAllowed
12170x6fe8720RtlIsNormalizedString
12180x6f2afa0RtlIsPackageSid
12190x6fc6690RtlIsParentOfChildAppContainer
12200x6f6ab20RtlIsPartialPlaceholder
12210x6fe6980RtlIsPartialPlaceholderFileHandle
12220x6fe69d0RtlIsPartialPlaceholderFileInfo
12230x6f6a5f0RtlIsProcessorFeaturePresent
12240x6f660f0RtlIsStateSeparationEnabled
12250x6f5c620RtlIsTextUnicode
12260x6f6d0f0RtlIsThreadWithinLoaderCallout
12270x6fc6700RtlIsUntrustedObject
12280x6f605b0RtlIsValidHandle
12290x6f60570RtlIsValidIndexHandle
12300x6fe32c0RtlIsValidLocaleName
12310x6fc6830RtlIsValidProcessTrustLabelSid
12320x6fe6b50RtlIsZeroMemory
12330x6fe8890RtlKnownExceptionFilter
12340x6f54f60RtlLCIDToCultureName
12350x6f88440RtlLargeIntegerAdd
12360x6f88650RtlLargeIntegerArithmeticShift
12370x6fe8d50RtlLargeIntegerDivide
12380x6f88680RtlLargeIntegerNegate
12390x6f885f0RtlLargeIntegerShiftLeft
12400x6f88620RtlLargeIntegerShiftRight
12410x6f886a0RtlLargeIntegerSubtract
12420x6fd0760RtlLargeIntegerToChar
12430x6f55a60RtlLcidToLocaleName
12440x6f3e760RtlLeaveCriticalSection
12450x6f6c1b0RtlLengthRequiredSid
12460x6f68720RtlLengthSecurityDescriptor
12470x6f648f0RtlLengthSid
12480x6fc68a0RtlLengthSidAsUnicodeString
12490x6f3a090RtlLoadString
12500x6fc4e50RtlLocalTimeToSystemTime
12510x6f558b0RtlLocaleNameToLcid
12530x6fdbda0RtlLocateExtendedFeature
12520x6fdbc40RtlLocateExtendedFeature2
12540x6fdbdd0RtlLocateLegacyContext
12550x6fd0da0RtlLockBootStatusData
12560x6fe8df0RtlLockCurrentThread
12570x6f5dae0RtlLockHeap
12580x6fcd740RtlLockMemoryBlockLookaside
12590x6fb4f40RtlLockMemoryStreamRegion
12600x6f29620RtlLockMemoryZone
12610x6f296f0RtlLockModuleSection
12620x6fe8ff0RtlLogStackBackTrace
12630x6f602c0RtlLookupAtomInAtomTable
12640x6f27f30RtlLookupElementGenericTable
12650x6f27070RtlLookupElementGenericTableAvl
12660x6f27f60RtlLookupElementGenericTableFull
12670x6f270a0RtlLookupElementGenericTableFullAvl
12680x6fdb4b0RtlLookupEntryHashTable
12690x6fde570RtlLookupFirstMatchingElementGenericTableAvl
12700x6f66a80RtlMakeSelfRelativeSD
12710x6f58400RtlMapGenericMask
12720x6fc68f0RtlMapSecurityErrorToNtStatus
12730x6f881b0RtlMoveMemory
12740x6f61400RtlMultiAppendUnicodeStringBuffer
12750x6f61ea0RtlMultiByteToUnicodeN
12760x6f4e9c0RtlMultiByteToUnicodeSize
12770x6fd6ea0RtlMultipleAllocateHeap
12780x6fd6ee0RtlMultipleFreeHeap
12790x6fb63b0RtlNewInstanceSecurityObject
12800x6fb6470RtlNewSecurityGrantedAccess
12810x6f2c150RtlNewSecurityObject
12820x6f593f0RtlNewSecurityObjectEx
12830x6fb6570RtlNewSecurityObjectWithMultipleInheritance
12840x6fbfe20RtlNormalizeProcessParams
12850x6fc69e0RtlNormalizeSecurityDescriptor
12860x6fe8790RtlNormalizeString
12870x6fe97a0RtlNotifyFeatureUsage
12880x6fad4b0RtlNtPathNameToDosPathName
12890x6f5abc0RtlNtStatusToDosError
12900x6f66030RtlNtStatusToDosErrorNoTeb
12910x6f2b420RtlNumberGenericTableElements
12920x6fde5f0RtlNumberGenericTableElementsAvl
12930x6fcf840RtlNumberOfClearBits
12940x6fcf860RtlNumberOfClearBitsInRange
12950x6fcf890RtlNumberOfSetBits
12960x6fcf9e0RtlNumberOfSetBitsInRange
12970x6f87a30RtlNumberOfSetBitsUlongPtr
12980x6f2adb0RtlOemStringToUnicodeSize
12990x6f2ac40RtlOemStringToUnicodeString
13000x6f2ad20RtlOemToUnicodeN
13010x6f2d780RtlOpenCurrentUser
13020x6fe9c00RtlOsDeploymentState
13030x6fc6e40RtlOwnerAcesPresent
13040x6f3c6b0RtlPcToFileHeader
13050x6fcd2c0RtlPinAtomInAtomTable
13060x6fae670RtlPopFrame
13070x6f60ac0RtlPrefixString
13080x6f64110RtlPrefixUnicodeString
13090x6fbd740RtlProcessFlsData
13100x6f29060RtlProtectHeap
13110x6f72030RtlPublishWnfStateData
13120x6fae6a0RtlPushFrame
13130x6f342d0RtlQueryActivationContextApplicationSettings
13140x6fe9810RtlQueryAllFeatureConfigurations
13150x6f29ee0RtlQueryAtomInAtomTable
13160x6fca890RtlQueryCriticalSectionOwner
13170x6f66d70RtlQueryDepthSList
13180x6fd13a0RtlQueryDynamicTimeZoneInformation
13190x6f6c470RtlQueryElevationFlags
13200x6f3f890RtlQueryEnvironmentVariable
13210x6f5b150RtlQueryEnvironmentVariable_U
13220x6f65220RtlQueryFeatureConfiguration
13230x6fe9880RtlQueryFeatureConfigurationChangeStamp
13240x6fe98b0RtlQueryFeatureUsageNotificationSubscriptions
13250x6fd6f20RtlQueryHeapInformation
13260x6fbff70RtlQueryImageMitigationPolicy
13270x6f59670RtlQueryInformationAcl
13280x6f34d20RtlQueryInformationActivationContext
13290x6f33ee0RtlQueryInformationActiveActivationContext
13300x6fb4f60RtlQueryInterfaceMemoryStream
13310x6fc2d00RtlQueryModuleInformation
13320x6f64ec0RtlQueryPackageClaims
13330x6f64e30RtlQueryPackageIdentity
13340x6f64e70RtlQueryPackageIdentityEx
13350x6f5bc70RtlQueryPerformanceCounter
13360x6f64dc0RtlQueryPerformanceFrequency
13370x6fb6b40RtlQueryProcessBackTraceInformation
13380x6fb6c90RtlQueryProcessDebugInformation
13390x6fb70c0RtlQueryProcessHeapInformation
13400x6fb73d0RtlQueryProcessLockInformation
13410x6fe6a50RtlQueryProcessPlaceholderCompatibilityMode
13420x6f6d080RtlQueryProtectedPolicy
13430x6fd13c0RtlQueryRegistryValueWithFallback
13440x6fd14c0RtlQueryRegistryValues
13450x6fd14f0RtlQueryRegistryValuesEx
13460x6f2fea0RtlQueryResourcePolicy
13470x6fb65a0RtlQuerySecurityObject
13480x6fd7060RtlQueryTagHeap
13490x6f6b9a0RtlQueryThreadPlaceholderCompatibilityMode
13500x6face40RtlQueryThreadProfiling
13510x6fd1520RtlQueryTimeZoneInformation
13520x6fe9ce0RtlQueryTokenHostIdAsUlong64
13530x6f5c560RtlQueryUnbiasedInterruptTime
13540x6fe9d60RtlQueryValidationRunlevel
13550x6fbbf90RtlQueryWnfMetaNotification
13560x6f2e890RtlQueryWnfStateData
13570x6fbbfe0RtlQueryWnfStateDataWithExplicitScope
13580x6fba260RtlQueueApcWow64Thread
13590x6f68b30RtlQueueWorkItem
13600x6fe9df0RtlRaiseCustomSystemEventTrigger
13610x6f88a80RtlRaiseException
13620x6f88ac0RtlRaiseStatus
13630x6f2ed10RtlRandom
13640x6f2ed10RtlRandomEx
13650x6f4eba0RtlRbInsertNodeEx
13660x6f59b60RtlRbRemoveNode
13670x6f42720RtlReAllocateHeap
13680x6fb4f70RtlReadMemoryStream
13690x6fb4f70RtlReadOutOfProcessMemoryStream
13700x6face60RtlReadThreadProfilingData
13710x6fde1c0RtlRealPredecessor
13720x6fde200RtlRealSuccessor
13730x6f32430RtlRegisterFeatureConfigurationChangeNotification
13740x6fbc0c0RtlRegisterForWnfMetaNotification
13750x6fde700RtlRegisterSecureMemoryCacheCallback
13760x6f38140RtlRegisterThreadWithCsrss
13770x6f32080RtlRegisterWait
13780x6f326c0RtlReleaseActivationContext
13790x6fb4f20RtlReleaseMemoryStream
13800x6f5e800RtlReleasePath
13810x6f69fa0RtlReleasePebLock
13820x6fc6e60RtlReleasePrivilege
13830x6f65500RtlReleaseRelativeName
13840x6f6a8e0RtlReleaseResource
13850x6f424e0RtlReleaseSRWLockExclusive
13860x6f35310RtlReleaseSRWLockShared
13870x6fe65d0RtlRemoteCall
13880x6fdb4f0RtlRemoveEntryHashTable
13890x6fc6ef0RtlRemovePrivileges
13900x6fb8530RtlRemoveVectoredContinueHandler
13910x6f2b270RtlRemoveVectoredExceptionHandler
13920x6fc7020RtlReplaceSidInSd
13930x6f66160RtlReplaceSystemDirectoryInPath
13940x6fba610RtlReportException
13950x6fba690RtlReportExceptionEx
13960x6f5d960RtlReportSilentProcessExit
13970x6fbac90RtlReportSqmEscalation
13980x6fcd7b0RtlResetMemoryBlockLookaside
13990x6fcda20RtlResetMemoryZone
14000x6f749c0RtlResetNtUserPfn
14010x6fc42a0RtlResetRtlTranslations
14020x6fd0dc0RtlRestoreBootStatusDefaults
14030x6f5ab50RtlRestoreLastWin32Error
14040x6fd0e80RtlRestoreSystemBootStatusDefaults
14050x6fd2f20RtlRestoreThreadPreferredUILanguages
14060x6f74a70RtlRetrieveNtUserPfn
14070x6fb4f80RtlRevertMemoryStream
14080x6fc7310RtlRunDecodeUnicodeString
14090x6fc7360RtlRunEncodeUnicodeString
14100x6f32380RtlRunOnceBeginInitialize
14110x6f311a0RtlRunOnceComplete
14120x6f30fd0RtlRunOnceExecuteOnce
14130x6f64d50RtlRunOnceInitialize
14140x6fc4eb0RtlSecondsSince1970ToTime
14150x6fc4ef0RtlSecondsSince1980ToTime
14160x6fb4f90RtlSeekMemoryStream
14180x6fc5cf0RtlSelfRelativeToAbsoluteSD
14170x6fc5c50RtlSelfRelativeToAbsoluteSD2
14190x6fdab10RtlSendMsgToSm
14200x6fcfbd0RtlSetAllBits
14210x6fc73f0RtlSetAttributesSecurityDescriptor
14220x6f87110RtlSetBit
14230x6f61af0RtlSetBits
14240x6f6d3c0RtlSetControlSecurityDescriptor
14250x6f689d0RtlSetCriticalSectionSpinCount
14260x6f27a40RtlSetCurrentDirectory_U
14270x6fade80RtlSetCurrentEnvironment
14280x6f5caa0RtlSetCurrentTransaction
14290x6f58660RtlSetDaclSecurityDescriptor
14300x6fd1540RtlSetDynamicTimeZoneInformation
14310x6fadf20RtlSetEnvironmentStrings
14320x6f5b200RtlSetEnvironmentVar
14330x6f5b1c0RtlSetEnvironmentVariable
14340x6fdbe10RtlSetExtendedFeaturesMask
14350x6fe9910RtlSetFeatureConfigurations
14360x6f586d0RtlSetGroupSecurityDescriptor
14370x6f6cb40RtlSetHeapInformation
14380x6fc0a30RtlSetImageMitigationPolicy
14390x6fcb9e0RtlSetInformationAcl
14400x7005640RtlSetIoCompletionCallback
14410x6f5ab50RtlSetLastWin32Error
14420x6f5ab30RtlSetLastWin32ErrorAndNtStatusFromNtStatus
14430x6fb4f60RtlSetMemoryStreamSize
14440x6f58730RtlSetOwnerSecurityDescriptor
14450x6fd1290RtlSetPortableOperatingSystem
14460x6fb7680RtlSetProcessDebugInformation
14470x6fe31a0RtlSetProcessIsCritical
14480x6fe6a70RtlSetProcessPlaceholderCompatibilityMode
14490x6fd2fe0RtlSetProcessPreferredUILanguages
14500x6f6a370RtlSetProtectedPolicy
14510x6f72290RtlSetProxiedProcessId
14520x6f67f90RtlSetSaclSecurityDescriptor
14530x6fbcf00RtlSetSearchPathMode
14540x6fc7430RtlSetSecurityDescriptorRMControl
14550x6fb6820RtlSetSecurityObject
14560x6fb6850RtlSetSecurityObjectEx
14570x6fd0eb0RtlSetSystemBootStatus
14580x6fd0ef0RtlSetSystemBootStatusEx
14590x6f2b5b0RtlSetThreadErrorMode
14600x6fe3210RtlSetThreadIsCritical
14610x6f686c0RtlSetThreadPlaceholderCompatibilityMode
14620x6f6d5a0RtlSetThreadPoolStartFunc
14640x6f56500RtlSetThreadPreferredUILanguages
14630x6f56700RtlSetThreadPreferredUILanguages2
14650x6f5f210RtlSetThreadSubProcessTag
14660x6f371a0RtlSetThreadWorkOnBehalfTicket
14670x6fd1560RtlSetTimeZoneInformation
14680x70053c0RtlSetTimer
14690x6f6c130RtlSetUnhandledExceptionFilter
14700x6f6c4b0RtlSetUserCallbackExceptionFilter
14710x6fd7330RtlSetUserFlagsHeap
14720x6f639e0RtlSetUserValueHeap
14730x6f59470RtlSidDominates
14740x6f592e0RtlSidDominatesForTrust
14750x6fc7470RtlSidEqualLevel
14760x6fc74f0RtlSidHashInitialize
14770x6fc7580RtlSidHashLookup
14780x6fc7690RtlSidIsHigherLevel
14790x6f5b890RtlSizeHeap
14800x6fe61e0RtlSleepConditionVariableCS
14810x6f421e0RtlSleepConditionVariableSRW
14820x6f682a0RtlSplay
14830x6fc5bf0RtlStartRXact
14840x6fb4f60RtlStatMemoryStream
14850x6f6d1b0RtlStringFromGUID
14860x6f6d1d0RtlStringFromGUIDEx
14870x6fdb550RtlStronglyEnumerateEntryHashTable
14880x6f6ba70RtlSubAuthorityCountSid
14890x6f68e20RtlSubAuthoritySid
14900x6fe99e0RtlSubscribeForFeatureUsageNotification
14910x6f306b0RtlSubscribeWnfStateChangeNotification
14920x6f67950RtlSubtreePredecessor
14930x6fde240RtlSubtreeSuccessor
14940x6f300b0RtlSwitchedVVI
14950x6fc4f30RtlSystemTimeToLocalTime
14960x6fbc110RtlTestAndPublishWnfStateData
14970x6f87140RtlTestBit
14980x6fc2110RtlTestProtectedAccess
14990x6f5cfb0RtlTimeFieldsToTime
15000x6fc4f90RtlTimeToElapsedTimeFields
15010x6fc5000RtlTimeToSecondsSince1970
15020x6fc5050RtlTimeToSecondsSince1980
15030x6f5cd10RtlTimeToTimeFields
15040x6fea320RtlTraceDatabaseAdd
15050x6fea370RtlTraceDatabaseCreate
15060x6fea470RtlTraceDatabaseDestroy
15070x6fea4d0RtlTraceDatabaseEnumerate
15080x6fea570RtlTraceDatabaseFind
15090x6fea5c0RtlTraceDatabaseLock
15100x6fea5e0RtlTraceDatabaseUnlock
15110x6fea600RtlTraceDatabaseValidate
15120x6f60990RtlTryAcquirePebLock
15130x6f727b0RtlTryAcquireSRWLockExclusive
15140x6f6a8b0RtlTryAcquireSRWLockShared
15150x6fca600RtlTryConvertSRWLockSharedToExclusiveOrRelease
15160x6f609b0RtlTryEnterCriticalSection
15170x6fea870RtlUTF8StringToUnicodeString
15180x6f5d230RtlUTF8ToUnicodeN
15190x6feaa20RtlUdiv128
120x6fbea80RtlUlongByteSwap
130x6fbea90RtlUlonglongByteSwap
15210x6f87a10RtlUnhandledExceptionFilter
15200x6fe88b0RtlUnhandledExceptionFilter2
15220x6f60cb0RtlUnicodeStringToAnsiSize
15230x6f60ce0RtlUnicodeStringToAnsiString
15240x6fcddf0RtlUnicodeStringToCountedOemString
15250x6f607f0RtlUnicodeStringToInteger
15260x6f60cb0RtlUnicodeStringToOemSize
15270x6f60a00RtlUnicodeStringToOemString
15280x6fea940RtlUnicodeStringToUTF8String
15290x6fc43f0RtlUnicodeToCustomCPN
15300x6f60dc0RtlUnicodeToMultiByteN
15310x6f60e30RtlUnicodeToMultiByteSize
15320x6f60b40RtlUnicodeToOemN
15330x6f64690RtlUnicodeToUTF8N
15340x6fea190RtlUniform
15350x6fd0f10RtlUnlockBootStatusData
15360x6fe8e90RtlUnlockCurrentThread
15370x6f5da40RtlUnlockHeap
15380x6fcd800RtlUnlockMemoryBlockLookaside
15390x6fb4f40RtlUnlockMemoryStreamRegion
15400x6f29960RtlUnlockMemoryZone
15410x6f29a00RtlUnlockModuleSection
15420x6f2b4f0RtlUnregisterFeatureConfigurationChangeNotification
15430x6fe9a00RtlUnsubscribeFromFeatureUsageNotifications
15440x6f5ea00RtlUnsubscribeWnfNotificationWaitForCompletion
15450x6fbc1a0RtlUnsubscribeWnfNotificationWithCompletionCallback
15460x6f5e9e0RtlUnsubscribeWnfStateChangeNotification
15470x6f68e80RtlUnwind
15480x6f40200RtlUpcaseUnicodeChar
15490x6f52c20RtlUpcaseUnicodeString
15500x6fcdf00RtlUpcaseUnicodeStringToAnsiString
15510x6fcdff0RtlUpcaseUnicodeStringToCountedOemString
15520x6fce100RtlUpcaseUnicodeStringToOemString
15530x6fc4500RtlUpcaseUnicodeToCustomCPN
15540x6f60be0RtlUpcaseUnicodeToMultiByteN
15550x6fc4630RtlUpcaseUnicodeToOemN
15560x6f870a0RtlUpdateClonedCriticalSection
15570x6fca680RtlUpdateClonedSRWLock
15580x70053d0RtlUpdateTimer
15590x6f60bc0RtlUpperChar
15600x6fce3c0RtlUpperString
15610x6f72780RtlUserFiberStart
15620x6f74f90RtlUserThreadStart
140x6fbeab0RtlUshortByteSwap
15630x6f53790RtlValidAcl
15640x6fc2160RtlValidProcessProtection
15650x6f6b730RtlValidRelativeSecurityDescriptor
15660x6f681c0RtlValidSecurityDescriptor
15670x6f53d40RtlValidSid
15680x6fe25b0RtlValidateCorrelationVector
15690x6f27470RtlValidateHeap
15700x6fd76c0RtlValidateProcessHeaps
15710x6fce210RtlValidateUnicodeString
15720x6fe3fc0RtlVerifyVersionInfo
15730x6fbc1f0RtlWaitForWnfMetaNotification
15740x6feaab0RtlWaitOnAddress
15750x6f5f300RtlWakeAddressAll
15760x6feaae0RtlWakeAddressAllNoFence
15770x6feab00RtlWakeAddressSingle
15780x6feab30RtlWakeAddressSingleNoFence
15790x6f6a4b0RtlWakeAllConditionVariable
15800x6f71bd0RtlWakeConditionVariable
15810x6f5c0a0RtlWalkFrameChain
15820x6fd77a0RtlWalkHeap
15830x6fdb5b0RtlWeaklyEnumerateEntryHashTable
15840x6fbaca0RtlWerpReportException
15850x6fbc3a0RtlWnfCompareChangeStamp
15860x6f2c1d0RtlWnfDllUnloadCallback
15870x6fba270RtlWow64CallFunction64
15880x6fba280RtlWow64EnableFsRedirection
15890x6f4c4c0RtlWow64EnableFsRedirectionEx
15900x6fba330RtlWow64GetCurrentMachine
15910x6feab50RtlWow64GetEquivalentMachineCHPE
15920x6f5bdc0RtlWow64GetProcessMachines
15930x6fba340RtlWow64GetSharedInfoProcess
15940x6fba390RtlWow64IsWowGuestMachineSupported
15950x6fb5bc0RtlWow64LogMessageInEventLogger
15960x6fb4f70RtlWriteMemoryStream
15970x6fd1580RtlWriteRegistryValue
15980x6fdd2c0RtlZeroHeap
15990x6f88180RtlZeroMemory
16000x6fbdbe0RtlZombifyActivationContext
16010x6f63ed0RtlpApplyLengthFunction
16020x6f6ab40RtlpCheckDynamicTimeZoneInformation
16030x6fd3710RtlpCleanupRegistryKeys
16040x6fcbb70RtlpConvertAbsoluteToRelativeSecurityAttribute
16050x6fd3b40RtlpConvertCultureNamesToLCIDs
16060x6fd3d30RtlpConvertLCIDsToCultureNames
16070x6fcbf80RtlpConvertRelativeToAbsoluteSecurityAttribute
16080x6f540a0RtlpCreateProcessRegistryInfo
16090x6f614d0RtlpEnsureBufferSize
16100x70267f0RtlpFreezeTimeBias
16110x6f6b9d0RtlpGetDeviceFamilyInfoEnum
16120x6f2bf30RtlpGetLCIDFromLangInfoNode
16130x6f2c6b0RtlpGetNameFromLangInfoNode
16140x6f55de0RtlpGetSystemDefaultUILanguage
16150x6feab70RtlpGetUserOrMachineUILanguage4NLS
16160x6fd47c0RtlpInitializeLangRegistryInfo
16170x6f29fe0RtlpIsQualifiedLanguage
16180x6f27230RtlpLoadMachineUIByPolicy
16190x6f2d8e0RtlpLoadUserUIByPolicy
16200x6fcc7e0RtlpMergeSecurityAttributeInformation
16210x6feaf70RtlpMuiFreeLangRegistryInfo
16220x6f2dc50RtlpMuiRegCreateRegistryInfo
16230x6f2cf00RtlpMuiRegFreeRegistryInfo
16240x6f2ce00RtlpMuiRegLoadRegistryInfo
16250x6fcaa70RtlpNotOwnerCriticalSection
16260x6fed320RtlpNtCreateKey
16270x6fed350RtlpNtEnumerateSubKey
16280x6fed410RtlpNtMakeTemporaryKey
16290x6fed420RtlpNtOpenKey
16300x6fed450RtlpNtQueryValueKey
16310x6fed520RtlpNtSetValueKey
16320x6f697b0RtlpQueryDefaultUILanguage
16330x6fb7ba0RtlpQueryProcessDebugInformationRemote
16340x6fec1c0RtlpRefreshCachedUILanguage
16350x6fd4c40RtlpSetInstallLanguage
16360x6fd54c0RtlpSetPreferredUILanguages
16370x6fd54c0RtlpSetUserPreferredUILanguages
16380x6f5cfd0RtlpTimeFieldsToTime
16390x6f5cd30RtlpTimeToTimeFields
16400x6fcad90RtlpUnWaitCriticalSection
16410x6fd6200RtlpVerifyAndCommitUILanguageSettings
16420x6fb4f50RtlpWaitForCriticalSection
16430x6f2adb0RtlxAnsiStringToUnicodeSize
16440x6f2adb0RtlxOemStringToUnicodeSize
16450x6f60cb0RtlxUnicodeStringToAnsiSize
16460x6f60cb0RtlxUnicodeStringToOemSize
16470x7006080SbExecuteProcedure
16480x6f38300SbSelectProcedure
16490x6fbb650ShipAssert
16500x6fbb730ShipAssertGetBufferInfo
16510x6fbb760ShipAssertMsgA
16520x6fbb760ShipAssertMsgW
16530x6f2c180TpAllocAlpcCompletion
16540x6f69ac0TpAllocAlpcCompletionEx
16550x6f6c8b0TpAllocCleanupGroup
16560x6f66ea0TpAllocIoCompletion
16570x7003720TpAllocJobNotification
16580x6f31e90TpAllocPool
16590x6f345d0TpAllocTimer
16600x6f341a0TpAllocWait
16610x6f33d10TpAllocWork
16620x70035d0TpAlpcRegisterCompletionList
16630x7003620TpAlpcUnregisterCompletionList
16640x7004740TpCallbackDetectedUnrecoverableError
16650x6f357c0TpCallbackIndependent
16660x7004770TpCallbackLeaveCriticalSectionOnCompletion
16670x6f69650TpCallbackMayRunLong
16680x70047a0TpCallbackReleaseMutexOnCompletion
16690x70047e0TpCallbackReleaseSemaphoreOnCompletion
16700x6f272f0TpCallbackSendAlpcMessageOnCompletion
16710x7004820TpCallbackSendPendingAlpcMessage
16720x6f72720TpCallbackSetEventOnCompletion
16730x6f6d5e0TpCallbackUnloadDllOnCompletion
16740x6f67090TpCancelAsyncIoOperation
16750x6f66c90TpCaptureCaller
16760x6f6b520TpCheckTerminateWorker
16770x70048d0TpDbgDumpHeapUsage
16780x6fb4f50TpDbgSetLogRoutine
16790x6f6d680TpDisablePoolCallbackChecks
16800x7004860TpDisassociateCallback
16810x6f34580TpIsTimerSet
16820x6f41b90TpPostWork
16830x7003d60TpQueryPoolStackInformation
16840x6f699a0TpReleaseAlpcCompletion
16850x6f2be70TpReleaseCleanupGroup
16860x6f2bc50TpReleaseCleanupGroupMembers
16870x6f66e50TpReleaseIoCompletion
16880x70038f0TpReleaseJobNotification
16890x6f2ae50TpReleasePool
16900x6f33bf0TpReleaseTimer
16910x6f31ed0TpReleaseWait
16920x6f6c4e0TpReleaseWork
16930x7003df0TpSetDefaultPoolMaxThreads
16940x7003f10TpSetDefaultPoolStackInformation
16950x6f31d70TpSetPoolMaxThreads
16960x6f6bef0TpSetPoolMaxThreadsSoftLimit
16970x6f6d110TpSetPoolMinThreads
16980x6f6d6c0TpSetPoolStackInformation
16990x6f2bac0TpSetPoolThreadBasePriority
17000x7004020TpSetPoolThreadCpuSets
17010x6f2ebd0TpSetPoolWorkerThreadIdleTimeout
17020x6f345c0TpSetTimer
17030x6f34680TpSetTimerEx
17040x6f37af0TpSetWait
17050x6f37b10TpSetWaitEx
17060x6f67260TpSimpleTryPost
17070x6f670f0TpStartAsyncIoOperation
17080x6f28e20TpTimerOutstandingCallbackCount
17090x70040a0TpTrimPools
17100x7003660TpWaitForAlpcCompletion
17110x6f2bfd0TpWaitForIoCompletion
17120x7003950TpWaitForJobNotification
17130x6f33c80TpWaitForTimer
17140x6f31de0TpWaitForWait
17150x6f2b550TpWaitForWork
17160x6f66100VerSetConditionMask
17170x6fbaf50WerReportExceptionWorker
17180x6fbbbf0WerReportSQMEvent
17190x6f2c2b0WinSqmAddToAverageDWORD
17200x6fbbec0WinSqmAddToStream
17210x6fbbed0WinSqmAddToStreamEx
17220x6fbbee0WinSqmCheckEscalationAddToStreamEx
17240x6fbbef0WinSqmCheckEscalationSetDWORD
17230x6fbbee0WinSqmCheckEscalationSetDWORD64
17250x6fbbef0WinSqmCheckEscalationSetString
17260x6fbbf00WinSqmCommonDatapointDelete
17280x6fbbf20WinSqmCommonDatapointSetDWORD
17270x6fbbf10WinSqmCommonDatapointSetDWORD64
17290x6fbbf30WinSqmCommonDatapointSetStreamEx
17300x6fbbf20WinSqmCommonDatapointSetString
17310x6fb4f50WinSqmEndSession
17320x6f6d5a0WinSqmEventEnabled
17330x6f6d850WinSqmEventWrite
17340x6f6d5a0WinSqmGetEscalationRuleStatus
17350x6fbbf40WinSqmGetInstrumentationProperty
17360x6f2c2b0WinSqmIncrementDWORD
17370x6f306a0WinSqmIsOptedIn
17380x6fb4f20WinSqmIsOptedInEx
17390x6fbbf00WinSqmIsSessionDisabled
17410x6f2c2b0WinSqmSetDWORD
17400x6fbbec0WinSqmSetDWORD64
17420x6fbbf10WinSqmSetEscalationInfo
17430x6f2c2b0WinSqmSetIfMaxDWORD
17440x6f2c2b0WinSqmSetIfMinDWORD
17450x6f2c2b0WinSqmSetString
17460x6fbbf70WinSqmStartSession
17470x6fbbf80WinSqmStartSessionForPartner
17480x6f306a0WinSqmStartSqmOptinListener
17490x7029228Wow64Transition
17500x6f729d0ZwAcceptConnectPort
17510x6f729b0ZwAccessCheck
17520x6f72c60ZwAccessCheckAndAuditAlarm
17530x6f73000ZwAccessCheckByType
17540x6f72f60ZwAccessCheckByTypeAndAuditAlarm
17550x6f73010ZwAccessCheckByTypeResultList
17560x6f73020ZwAccessCheckByTypeResultListAndAuditAlarm
17570x6f73030ZwAccessCheckByTypeResultListAndAuditAlarmByHandle
17580x6f73040ZwAcquireCrossVmMutant
17590x6f73050ZwAcquireProcessActivityReference
17600x6f72e40ZwAddAtom
17610x6f73060ZwAddAtomEx
17620x6f73070ZwAddBootEntry
17630x6f73080ZwAddDriverEntry
17640x6f73090ZwAdjustGroupsToken
17650x6f72de0ZwAdjustPrivilegesToken
17660x6f730a0ZwAdjustTokenClaimsAndDeviceGroups
17670x6f730b0ZwAlertResumeThread
17680x6f730c0ZwAlertThread
17690x6f730d0ZwAlertThreadByThreadId
17700x6f730e0ZwAllocateLocallyUniqueId
17710x6f730f0ZwAllocateReserveObject
17720x6f73100ZwAllocateUserPhysicalPages
17730x6f73110ZwAllocateUserPhysicalPagesEx
17740x6f73120ZwAllocateUuids
17750x6f72b30ZwAllocateVirtualMemory
17760x6f73130ZwAllocateVirtualMemoryEx
17770x6f73140ZwAlpcAcceptConnectPort
17780x6f73150ZwAlpcCancelMessage
17790x6f73160ZwAlpcConnectPort
17800x6f73170ZwAlpcConnectPortEx
17810x6f73180ZwAlpcCreatePort
17820x6f73190ZwAlpcCreatePortSection
17830x6f731a0ZwAlpcCreateResourceReserve
17840x6f731b0ZwAlpcCreateSectionView
17850x6f731c0ZwAlpcCreateSecurityContext
17860x6f731d0ZwAlpcDeletePortSection
17870x6f731e0ZwAlpcDeleteResourceReserve
17880x6f731f0ZwAlpcDeleteSectionView
17890x6f73200ZwAlpcDeleteSecurityContext
17900x6f73210ZwAlpcDisconnectPort
17910x6f73220ZwAlpcImpersonateClientContainerOfPort
17920x6f73230ZwAlpcImpersonateClientOfPort
17930x6f73240ZwAlpcOpenSenderProcess
17940x6f73250ZwAlpcOpenSenderThread
17950x6f73260ZwAlpcQueryInformation
17960x6f73270ZwAlpcQueryInformationMessage
17970x6f73280ZwAlpcRevokeSecurityContext
17980x6f73290ZwAlpcSendWaitReceivePort
17990x6f732a0ZwAlpcSetInformation
18000x6f72e90ZwApphelpCacheControl
18010x6f732b0ZwAreMappedFilesTheSame
18020x6f732c0ZwAssignProcessToJobObject
18030x6f732d0ZwAssociateWaitCompletionPacket
18040x6f732e0ZwCallEnclave
18050x6f72a00ZwCallbackReturn
18060x6f72fa0ZwCancelIoFile
18070x6f732f0ZwCancelIoFileEx
18080x6f73300ZwCancelSynchronousIoFile
18100x6f72fe0ZwCancelTimer
18090x6f73310ZwCancelTimer2
18110x6f73320ZwCancelWaitCompletionPacket
18120x6f72db0ZwClearEvent
18130x6f72aa0ZwClose
18140x6f72d80ZwCloseObjectAuditAlarm
18150x6f73330ZwCommitComplete
18160x6f73340ZwCommitEnlistment
18170x6f73350ZwCommitRegistryTransaction
18180x6f73360ZwCommitTransaction
18190x6f73370ZwCompactKeys
18200x6f73380ZwCompareObjects
18210x6f73390ZwCompareSigningLevels
18220x6f733a0ZwCompareTokens
18230x6f733b0ZwCompleteConnectPort
18240x6f733c0ZwCompressKey
18250x6f733d0ZwConnectPort
18260x6f72e00ZwContinue
18270x6f733e0ZwContinueEx
18280x6f733f0ZwConvertBetweenAuxiliaryCounterAndPerformanceCounter
18290x6f73400ZwCreateCrossVmEvent
18300x6f73410ZwCreateCrossVmMutant
18310x6f73420ZwCreateDebugObject
18320x6f73430ZwCreateDirectoryObject
18330x6f73440ZwCreateDirectoryObjectEx
18340x6f73450ZwCreateEnclave
18350x6f73460ZwCreateEnlistment
18360x6f72e50ZwCreateEvent
18370x6f73470ZwCreateEventPair
18380x6f72f20ZwCreateFile
18390x6f73480ZwCreateIRTimer
18400x6f73490ZwCreateIoCompletion
18410x6f734a0ZwCreateJobObject
18420x6f734b0ZwCreateJobSet
18430x6f72ba0ZwCreateKey
18440x6f734c0ZwCreateKeyTransacted
18450x6f734d0ZwCreateKeyedEvent
18460x6f734e0ZwCreateLowBoxToken
18470x6f734f0ZwCreateMailslotFile
18480x6f73500ZwCreateMutant
18490x6f73510ZwCreateNamedPipeFile
18500x6f73520ZwCreatePagingFile
18510x6f73530ZwCreatePartition
18520x6f73540ZwCreatePort
18530x6f73550ZwCreatePrivateNamespace
18540x6f73560ZwCreateProcess
18550x6f72ea0ZwCreateProcessEx
18560x6f73570ZwCreateProfile
18570x6f73580ZwCreateProfileEx
18580x6f73590ZwCreateRegistryTransaction
18590x6f735a0ZwCreateResourceManager
18600x6f72e70ZwCreateSection
18610x6f735b0ZwCreateSectionEx
18620x6f735c0ZwCreateSemaphore
18630x6f735d0ZwCreateSymbolicLinkObject
18640x6f72eb0ZwCreateThread
18650x6f735e0ZwCreateThreadEx
18670x6f735f0ZwCreateTimer
18660x6f73600ZwCreateTimer2
18680x6f73610ZwCreateToken
18690x6f73620ZwCreateTokenEx
18700x6f73630ZwCreateTransaction
18710x6f73640ZwCreateTransactionManager
18720x6f73650ZwCreateUserProcess
18730x6f73660ZwCreateWaitCompletionPacket
18740x6f73670ZwCreateWaitablePort
18750x6f73680ZwCreateWnfStateName
18760x6f73690ZwCreateWorkerFactory
18770x6f736a0ZwDebugActiveProcess
18780x6f736b0ZwDebugContinue
18790x6f72d10ZwDelayExecution
18800x6f736c0ZwDeleteAtom
18810x6f736d0ZwDeleteBootEntry
18820x6f736e0ZwDeleteDriverEntry
18830x6f736f0ZwDeleteFile
18840x6f73700ZwDeleteKey
18850x6f73710ZwDeleteObjectAuditAlarm
18860x6f73720ZwDeletePrivateNamespace
18870x6f73730ZwDeleteValueKey
18880x6f73740ZwDeleteWnfStateData
18890x6f73750ZwDeleteWnfStateName
18900x6f72a20ZwDeviceIoControlFile
18910x6f73760ZwDirectGraphicsCall
18920x6f73770ZwDisableLastKnownGood
18930x6f73780ZwDisplayString
18940x6f73790ZwDrawText
18950x6f72d90ZwDuplicateObject
18960x6f72df0ZwDuplicateToken
18970x6f737a0ZwEnableLastKnownGood
18980x6f737b0ZwEnumerateBootEntries
18990x6f737c0ZwEnumerateDriverEntries
19000x6f72cf0ZwEnumerateKey
19010x6f737d0ZwEnumerateSystemEnvironmentValuesEx
19020x6f737e0ZwEnumerateTransactionObject
19030x6f72ae0ZwEnumerateValueKey
19040x6f737f0ZwExtendSection
19050x6f73800ZwFilterBootOption
19060x6f73810ZwFilterToken
19070x6f73820ZwFilterTokenEx
19080x6f72af0ZwFindAtom
19090x6f72e80ZwFlushBuffersFile
19100x6f73830ZwFlushBuffersFileEx
19110x6f73840ZwFlushInstallUILanguage
19120x6f73850ZwFlushInstructionCache
19130x6f73860ZwFlushKey
19140x6f73870ZwFlushProcessWriteBuffers
19150x6f73880ZwFlushVirtualMemory
19160x6f73890ZwFlushWriteBuffer
19170x6f738a0ZwFreeUserPhysicalPages
19180x6f72bb0ZwFreeVirtualMemory
19190x6f738b0ZwFreezeRegistry
19200x6f738c0ZwFreezeTransactions
19210x6f72d60ZwFsControlFile
19220x6f738d0ZwGetCachedSigningLevel
19230x6f738e0ZwGetCompleteWnfStateSubscription
19240x6f738f0ZwGetContextThread
19250x6f73900ZwGetCurrentProcessorNumber
19260x6f73910ZwGetCurrentProcessorNumberEx
19270x6f73920ZwGetDevicePowerState
19280x6f73930ZwGetMUIRegistryInfo
19290x6f73940ZwGetNextProcess
19300x6f73950ZwGetNextThread
19310x6f73960ZwGetNlsSectionPtr
19320x6f73970ZwGetNotificationResourceManager
19330x6f73980ZwGetWriteWatch
19340x6f73990ZwImpersonateAnonymousToken
19350x6f72bc0ZwImpersonateClientOfPort
19360x6f739a0ZwImpersonateThread
19370x6f739b0ZwInitializeEnclave
19380x6f739c0ZwInitializeNlsFiles
19390x6f739d0ZwInitializeRegistry
19400x6f739e0ZwInitiatePowerAction
19410x6f72ec0ZwIsProcessInJob
19420x6f739f0ZwIsSystemResumeAutomatic
19430x6f73a00ZwIsUILanguageComitted
19440x6f73a10ZwListenPort
19450x6f73a20ZwLoadDriver
19460x6f73a30ZwLoadEnclaveData
19490x6f73a40ZwLoadKey
19470x6f73a50ZwLoadKey2
19480x6f74730ZwLoadKey3
19500x6f73a60ZwLoadKeyEx
19510x6f73a70ZwLockFile
19520x6f73a80ZwLockProductActivationKeys
19530x6f73a90ZwLockRegistryKey
19540x6f73aa0ZwLockVirtualMemory
19550x6f73ab0ZwMakePermanentObject
19560x6f73ac0ZwMakeTemporaryObject
19570x6f73ad0ZwManageHotPatch
19580x6f73ae0ZwManagePartition
19590x6f73af0ZwMapCMFModule
19600x6f73b00ZwMapUserPhysicalPages
19610x6f729e0ZwMapUserPhysicalPagesScatter
19620x6f72c50ZwMapViewOfSection
19630x6f73b10ZwMapViewOfSectionEx
19640x6f73b20ZwModifyBootEntry
19650x6f73b30ZwModifyDriverEntry
19660x6f73b40ZwNotifyChangeDirectoryFile
19670x6f73b50ZwNotifyChangeDirectoryFileEx
19680x6f73b60ZwNotifyChangeKey
19690x6f73b70ZwNotifyChangeMultipleKeys
19700x6f73b80ZwNotifyChangeSession
19710x6f72f50ZwOpenDirectoryObject
19720x6f73b90ZwOpenEnlistment
19730x6f72dd0ZwOpenEvent
19740x6f73ba0ZwOpenEventPair
19750x6f72d00ZwOpenFile
19760x6f73bb0ZwOpenIoCompletion
19770x6f73bc0ZwOpenJobObject
19780x6f72ad0ZwOpenKey
19790x6f73bd0ZwOpenKeyEx
19800x6f73be0ZwOpenKeyTransacted
19810x6f73bf0ZwOpenKeyTransactedEx
19820x6f73c00ZwOpenKeyedEvent
19830x6f73c10ZwOpenMutant
19840x6f73c20ZwOpenObjectAuditAlarm
19850x6f73c30ZwOpenPartition
19860x6f73c40ZwOpenPrivateNamespace
19870x6f72c30ZwOpenProcess
19880x6f73c50ZwOpenProcessToken
19890x6f72cd0ZwOpenProcessTokenEx
19900x6f73c60ZwOpenRegistryTransaction
19910x6f73c70ZwOpenResourceManager
19920x6f72d40ZwOpenSection
19930x6f73c80ZwOpenSemaphore
19940x6f73c90ZwOpenSession
19950x6f73ca0ZwOpenSymbolicLinkObject
19960x6f73cb0ZwOpenThread
19970x6f72c10ZwOpenThreadToken
19980x6f72cc0ZwOpenThreadTokenEx
19990x6f73cc0ZwOpenTimer
20000x6f73cd0ZwOpenTransaction
20010x6f73ce0ZwOpenTransactionManager
20020x6f73cf0ZwPlugPlayControl
20030x6f72fc0ZwPowerInformation
20040x6f73d00ZwPrePrepareComplete
20050x6f73d10ZwPrePrepareEnlistment
20060x6f73d20ZwPrepareComplete
20070x6f73d30ZwPrepareEnlistment
20080x6f73d40ZwPrivilegeCheck
20090x6f73d50ZwPrivilegeObjectAuditAlarm
20100x6f73d60ZwPrivilegedServiceAuditAlarm
20110x6f73d70ZwPropagationComplete
20120x6f73d80ZwPropagationFailed
20130x6f72ed0ZwProtectVirtualMemory
20140x6f73d90ZwPssCaptureVaSpaceBulk
20150x6f73da0ZwPulseEvent
20160x6f72da0ZwQueryAttributesFile
20170x6f73db0ZwQueryAuxiliaryCounterFrequency
20180x6f73dc0ZwQueryBootEntryOrder
20190x6f73dd0ZwQueryBootOptions
20200x6f73de0ZwQueryDebugFilterState
20210x6f72b00ZwQueryDefaultLocale
20220x6f72e10ZwQueryDefaultUILanguage
20230x6f72d20ZwQueryDirectoryFile
20240x6f73df0ZwQueryDirectoryFileEx
20250x6f73e00ZwQueryDirectoryObject
20260x6f73e10ZwQueryDriverEntryOrder
20270x6f73e20ZwQueryEaFile
20280x6f72f30ZwQueryEvent
20290x6f73e30ZwQueryFullAttributesFile
20300x6f73e40ZwQueryInformationAtom
20310x6f73e50ZwQueryInformationByName
20320x6f73e60ZwQueryInformationEnlistment
20330x6f72ac0ZwQueryInformationFile
20340x6f73e70ZwQueryInformationJobObject
20350x6f73e80ZwQueryInformationPort
20360x6f72b40ZwQueryInformationProcess
20370x6f73e90ZwQueryInformationResourceManager
20380x6f72c20ZwQueryInformationThread
20390x6f72be0ZwQueryInformationToken
20400x6f73ea0ZwQueryInformationTransaction
20410x6f73eb0ZwQueryInformationTransactionManager
20420x6f73ec0ZwQueryInformationWorkerFactory
20430x6f73ed0ZwQueryInstallUILanguage
20440x6f73ee0ZwQueryIntervalProfile
20450x6f73ef0ZwQueryIoCompletion
20460x6f72b10ZwQueryKey
20470x6f73f00ZwQueryLicenseValue
20480x6f73f10ZwQueryMultipleValueKey
20490x6f73f20ZwQueryMutant
20500x6f72ab0ZwQueryObject
20510x6f73f30ZwQueryOpenSubKeys
20520x6f73f40ZwQueryOpenSubKeysEx
20530x6f72ce0ZwQueryPerformanceCounter
20540x6f73f50ZwQueryPortInformationProcess
20550x6f73f60ZwQueryQuotaInformationFile
20560x6f72ee0ZwQuerySection
20570x6f73f70ZwQuerySecurityAttributesToken
20580x6f73f80ZwQuerySecurityObject
20590x6f73f90ZwQuerySecurityPolicy
20600x6f73fa0ZwQuerySemaphore
20610x6f73fb0ZwQuerySymbolicLinkObject
20620x6f73fc0ZwQuerySystemEnvironmentValue
20630x6f73fd0ZwQuerySystemEnvironmentValueEx
20640x6f72d30ZwQuerySystemInformation
20650x6f73fe0ZwQuerySystemInformationEx
20660x6f72f70ZwQuerySystemTime
20670x6f72d50ZwQueryTimer
20680x6f73ff0ZwQueryTimerResolution
20690x6f72b20ZwQueryValueKey
20700x6f72c00ZwQueryVirtualMemory
20710x6f72e60ZwQueryVolumeInformationFile
20720x6f74000ZwQueryWnfStateData
20730x6f74010ZwQueryWnfStateNameInformation
20740x6f72e20ZwQueueApcThread
20750x6f74020ZwQueueApcThreadEx
20760x6f74030ZwRaiseException
20770x6f74040ZwRaiseHardError
20780x6f72a10ZwReadFile
20790x6f72cb0ZwReadFileScatter
20800x6f74050ZwReadOnlyEnlistment
20810x6f72f10ZwReadRequestData
20820x6f72dc0ZwReadVirtualMemory
20830x6f74060ZwRecoverEnlistment
20840x6f74070ZwRecoverResourceManager
20850x6f74080ZwRecoverTransactionManager
20860x6f74090ZwRegisterProtocolAddressInformation
20870x6f740a0ZwRegisterThreadTerminatePort
20880x6f740b0ZwReleaseKeyedEvent
20890x6f72bd0ZwReleaseMutant
20900x6f72a50ZwReleaseSemaphore
20910x6f740c0ZwReleaseWorkerFactoryWorker
20920x6f72a40ZwRemoveIoCompletion
20930x6f740d0ZwRemoveIoCompletionEx
20940x6f740e0ZwRemoveProcessDebug
20950x6f740f0ZwRenameKey
20960x6f74100ZwRenameTransactionManager
20970x6f74110ZwReplaceKey
20980x6f74120ZwReplacePartitionUnit
20990x6f72a70ZwReplyPort
21000x6f72a60ZwReplyWaitReceivePort
21010x6f72c80ZwReplyWaitReceivePortEx
21020x6f74130ZwReplyWaitReplyPort
21030x6f74140ZwRequestPort
21040x6f72bf0ZwRequestWaitReplyPort
21050x6f74150ZwResetEvent
21060x6f74160ZwResetWriteWatch
21070x6f74170ZwRestoreKey
21080x6f74180ZwResumeProcess
21090x6f72ef0ZwResumeThread
21100x6f74190ZwRevertContainerImpersonation
21110x6f741a0ZwRollbackComplete
21120x6f741b0ZwRollbackEnlistment
21130x6f741c0ZwRollbackRegistryTransaction
21140x6f741d0ZwRollbackTransaction
21150x6f741e0ZwRollforwardTransactionManager
21160x6f741f0ZwSaveKey
21170x6f74200ZwSaveKeyEx
21180x6f74210ZwSaveMergedKeys
21190x6f74220ZwSecureConnectPort
21200x6f74230ZwSerializeBoot
21210x6f74240ZwSetBootEntryOrder
21220x6f74250ZwSetBootOptions
21240x6f74260ZwSetCachedSigningLevel
21230x6f74270ZwSetCachedSigningLevel2
21250x6f74280ZwSetContextThread
21260x6f74290ZwSetDebugFilterState
21270x6f742a0ZwSetDefaultHardErrorPort
21280x6f742b0ZwSetDefaultLocale
21290x6f742c0ZwSetDefaultUILanguage
21300x6f742d0ZwSetDriverEntryOrder
21310x6f742e0ZwSetEaFile
21320x6f72a90ZwSetEvent
21330x6f72ca0ZwSetEventBoostPriority
21340x6f742f0ZwSetHighEventPair
21350x6f74300ZwSetHighWaitLowEventPair
21360x6f74310ZwSetIRTimer
21370x6f74320ZwSetInformationDebugObject
21380x6f74330ZwSetInformationEnlistment
21390x6f72c40ZwSetInformationFile
21400x6f74340ZwSetInformationJobObject
21410x6f74350ZwSetInformationKey
21420x6f72f90ZwSetInformationObject
21430x6f72b90ZwSetInformationProcess
21440x6f74360ZwSetInformationResourceManager
21450x6f74370ZwSetInformationSymbolicLink
21460x6f72a80ZwSetInformationThread
21470x6f74380ZwSetInformationToken
21480x6f74390ZwSetInformationTransaction
21490x6f743a0ZwSetInformationTransactionManager
21500x6f743b0ZwSetInformationVirtualMemory
21510x6f743c0ZwSetInformationWorkerFactory
21520x6f743d0ZwSetIntervalProfile
21530x6f743e0ZwSetIoCompletion
21540x6f743f0ZwSetIoCompletionEx
21550x6f74400ZwSetLdtEntries
21560x6f74410ZwSetLowEventPair
21570x6f74420ZwSetLowWaitHighEventPair
21580x6f74430ZwSetQuotaInformationFile
21590x6f74440ZwSetSecurityObject
21600x6f74450ZwSetSystemEnvironmentValue
21610x6f74460ZwSetSystemEnvironmentValueEx
21620x6f74470ZwSetSystemInformation
21630x6f74480ZwSetSystemPowerState
21640x6f74490ZwSetSystemTime
21650x6f744a0ZwSetThreadExecutionState
21670x6f72ff0ZwSetTimer
21660x6f744b0ZwSetTimer2
21680x6f744c0ZwSetTimerEx
21690x6f744d0ZwSetTimerResolution
21700x6f744e0ZwSetUuidSeed
21710x6f72fd0ZwSetValueKey
21720x6f744f0ZwSetVolumeInformationFile
21730x6f74500ZwSetWnfProcessNotificationEvent
21740x6f74510ZwShutdownSystem
21750x6f74520ZwShutdownWorkerFactory
21760x6f74530ZwSignalAndWaitForSingleObject
21770x6f74540ZwSinglePhaseReject
21780x6f74550ZwStartProfile
21790x6f74560ZwStopProfile
21800x6f74570ZwSubscribeWnfStateChange
21810x6f74580ZwSuspendProcess
21820x6f74590ZwSuspendThread
21830x6f745a0ZwSystemDebugControl
21840x6f745b0ZwTerminateEnclave
21850x6f745c0ZwTerminateJobObject
21860x6f72c90ZwTerminateProcess
21870x6f72f00ZwTerminateThread
21880x6f745d0ZwTestAlert
21890x6f745e0ZwThawRegistry
21900x6f745f0ZwThawTransactions
21910x6f74600ZwTraceControl
21920x6f72fb0ZwTraceEvent
21930x6f74610ZwTranslateFilePath
21940x6f74620ZwUmsThreadYield
21950x6f74630ZwUnloadDriver
21970x6f74640ZwUnloadKey
21960x6f74650ZwUnloadKey2
21980x6f74660ZwUnloadKeyEx
21990x6f74670ZwUnlockFile
22000x6f74680ZwUnlockVirtualMemory
22010x6f72c70ZwUnmapViewOfSection
22020x6f74690ZwUnmapViewOfSectionEx
22030x6f746a0ZwUnsubscribeWnfStateChange
22040x6f746b0ZwUpdateWnfStateData
22050x6f746c0ZwVdmControl
22060x6f746d0ZwWaitForAlertByThreadId
22070x6f746e0ZwWaitForDebugEvent
22080x6f746f0ZwWaitForKeyedEvent
22100x6f72f80ZwWaitForMultipleObjects
22090x6f72b70ZwWaitForMultipleObjects32
22110x6f729f0ZwWaitForSingleObject
22120x6f74700ZwWaitForWorkViaWorkerFactory
22130x6f74710ZwWaitHighEventPair
22140x6f74720ZwWaitLowEventPair
22150x6f729c0ZwWorkerFactoryWorkerReady
22160x6f74820ZwWow64AllocateVirtualMemory64
22170x6f74850ZwWow64CallFunction64
22180x6f74770ZwWow64CsrAllocateCaptureBuffer
22190x6f74790ZwWow64CsrAllocateMessagePointer
22200x6f747a0ZwWow64CsrCaptureMessageBuffer
22210x6f747b0ZwWow64CsrCaptureMessageString
22220x6f74760ZwWow64CsrClientCallServer
22230x6f74740ZwWow64CsrClientConnectToServer
22240x6f74780ZwWow64CsrFreeCaptureBuffer
22250x6f747c0ZwWow64CsrGetProcessId
22260x6f74750ZwWow64CsrIdentifyAlertableThread
22270x6f747d0ZwWow64CsrVerifyRegion
22280x6f747e0ZwWow64DebuggerCall
22290x6f747f0ZwWow64GetCurrentProcessorNumberEx
22300x6f74800ZwWow64GetNativeSystemInformation
22310x6f74860ZwWow64IsProcessorFeaturePresent
22320x6f74810ZwWow64QueryInformationProcess64
22330x6f74830ZwWow64ReadVirtualMemory64
22340x6f74840ZwWow64WriteVirtualMemory64
22350x6f72a30ZwWriteFile
22360x6f72b80ZwWriteFileGather
22370x6f72f40ZwWriteRequestData
22380x6f72d70ZwWriteVirtualMemory
22390x6f72e30ZwYieldExecution
22400x6f75b10_CIcos
22410x6f75bd0_CIlog
22420x6f75cc0_CIpow
22430x6f75ef0_CIsin
22440x6f75fa0_CIsqrt
22450x6f76060__isascii
22460x6f76080__iscsym
22470x6f760c0__iscsymf
22480x6f76100__toascii
22490x6f76330_alldiv
22500x6f763e0_alldvrm
22510x6f764c0_allmul
22520x6f76500_alloca_probe
22530x6f76530_alloca_probe_16
22540x6f76546_alloca_probe_8
22550x6f76560_allrem
22560x6f76620_allshl
22570x6f76640_allshr
22580x6f76670_atoi64
22590x6f766e0_aulldiv
22600x6f76750_aulldvrm
22610x6f767f0_aullrem
22620x6f76870_aullshr
22630x6f76500_chkstk
22640x6fbd560_errno
22650x6f768e0_except_handler4_common
22660x7023820_fltused
22670x6f76a00_ftol
22680x6f76a40_ftol2
22690x6f76a30_ftol2_sse
22700x6f76b40_i64toa
22710x6f7f0b0_i64toa_s
22720x6f76d10_i64tow
22730x6f7f3a0_i64tow_s
22740x6f76b80_itoa
22750x6f7f0f0_itoa_s
22760x6f76d50_itow
22770x6f7f3e0_itow_s
22780x6f76e60_lfind
22790x6f76ed0_local_unwind4
22800x6f76b80_ltoa
22810x6f7f0f0_ltoa_s
22820x6f76d50_ltow
22830x6f7f3e0_ltow_s
22840x6f7f580_makepath_s
22850x6f77040_memccpy
22860x6f770a0_memicmp
22870x6f770b0_snprintf
22880x6f7f680_snprintf_s
22890x6f7f740_snscanf_s
22900x6f77140_snwprintf
22910x6f7f780_snwprintf_s
22920x6f7f840_snwscanf_s
22930x6f77200_splitpath
22940x6f7f880_splitpath_s
22950x6f77430_strcmpi
22960x6f77430_stricmp
22970x6f77440_strlwr
22980x6f77470_strlwr_s
22990x6f774d0_strnicmp
23000x6f7fa60_strnset_s
23010x6f7fae0_strset_s
23020x6f774e0_strupr
23030x6f77530_strupr_s
23040x6f77590_swprintf
23050x6f76bc0_ui64toa
23060x6f7f130_ui64toa_s
23070x6f76d90_ui64tow
23080x6f7f420_ui64tow_s
23090x6f76bf0_ultoa
23100x6f7f160_ultoa_s
23110x6f76dc0_ultow
23120x6f7f450_ultow_s
23130x6f77630_vscprintf
23140x6f77740_vscwprintf
23150x6f77830_vsnprintf
23160x6f7f6b0_vsnprintf_s
23170x6f778e0_vsnwprintf
23180x6f7f7b0_vsnwprintf_s
23190x6f77770_vswprintf
23200x6f779c0_wcsicmp
23210x6f77a20_wcslwr
23220x6f77a80_wcslwr_s
23230x6f77af0_wcsnicmp
23240x6f77b60_wcsnset_s
23250x6f77bf0_wcsset_s
23260x6f77c50_wcstoi64
23270x6f77c80_wcstoui64
23280x6f77f80_wcsupr
23290x6f77fc0_wcsupr_s
23300x6f7fb40_wmakepath_s
23310x6f7fc90_wsplitpath_s
23320x6f78030_wtoi
23330x6f78040_wtoi64
23340x6f78070_wtol
23350x6f780a0abs
23360x6f780b0atan
23370x6f78170atan2
23380x6f766a0atoi
23390x6f766b0atol
23400x6f78190bsearch
23410x6f78250bsearch_s
23420x6f78320ceil
23430x6f75b00cos
23440x6f78420fabs
23450x6f784e0floor
23460x6f76120isalnum
23470x6f76150isalpha
23480x6f76180iscntrl
23490x6f761b0isdigit
23500x6f761e0isgraph
23510x6f76210islower
23520x6f76240isprint
23530x6f76270ispunct
23540x6f762a0isspace
23550x6f762d0isupper
23560x6f785f0iswalnum
23570x6f78610iswalpha
23580x6f78630iswascii
23590x6f78720iswctype
23600x6f78650iswdigit
23610x6f78670iswgraph
23620x6f78690iswlower
23630x6f786b0iswprint
23640x6f786d0iswspace
23650x6f786f0iswxdigit
23660x6f76300isxdigit
23670x6f780a0labs
23680x6f75bc0log
23690x6f78750mbstowcs
23700x6f787d0memchr
23710x6f78890memcmp
23720x6f788e0memcpy
23730x6f7feb0memcpy_s
23740x6f78c20memmove
23750x6f7ff30memmove_s
23760x6f78f60memset
23770x6f75cb0pow
23780x6f78fd0qsort
23790x6f79470qsort_s
23800x6f75ee0sin
23810x6f79930sprintf
23820x6f7ff90sprintf_s
23830x6f75fb4sqrt
23840x6f799b0sscanf
23850x6f80010sscanf_s
23860x6f79a60strcat
23870x6f80060strcat_s
23880x6f79b60strchr
23890x6f79c20strcmp
23900x6f79a50strcpy
23910x6f800e0strcpy_s
23920x6f79cb0strcspn
23930x6f79d00strlen
23940x6f79d90strncat
23950x6f80150strncat_s
23960x6f79ed0strncmp
23970x6f79f80strncpy
23980x6f80240strncpy_s
23990x6f7a0b0strnlen
24000x6f7a0d0strpbrk
24010x6f7a110strrchr
24020x6f7a140strspn
24030x6f7a190strstr
24040x6f80320strtok_s
24050x6f7a410strtol
24060x6f7a460strtoul
24070x6f77590swprintf
24080x6f80450swprintf_s
24090x6f804e0swscanf_s
24100x6f7a490tan
24110x6f7a560tolower
24120x6f7a590toupper
24130x6f7a5f0towlower
24140x6f7a620towupper
24150x6fbf000vDbgPrintEx
24160x6fbf030vDbgPrintExWithPrefix
24170x6f77720vsprintf
24180x6f7ffc0vsprintf_s
24190x6f80480vswprintf_s
24200x6f7a640wcscat
24210x6f80530wcscat_s
24220x6f7a6b0wcschr
24230x6f7a6f0wcscmp
24240x6f7a680wcscpy
24250x6f805c0wcscpy_s
24260x6f7a740wcscspn
24270x6f7a7a0wcslen
24280x6f7a7c0wcsncat
24290x6f80640wcsncat_s
24300x6f7a810wcsncmp
24310x6f7a850wcsncpy
24320x6f80740wcsncpy_s
24330x6f7a8a0wcsnlen
24340x6f7a8d0wcspbrk
24350x6f7a930wcsrchr
24360x6f7a970wcsspn
24370x6f7a9e0wcsstr
24380x6f80820wcstok_s
24390x6f7ac50wcstol
24400x6f7acd0wcstombs
24410x6f7aca0wcstoul
+
+
+ + + + +
+ + + + + + + + 2025-12-09T12:27:02.151857 + image/svg+xml + + + Matplotlib v3.3.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ +
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeUnpacked Shellcode
Filename + +
7e33e15230f04ce44991c65b53d1190ef1750d7b76a69e2316c41d63607f6203
+ +
File Typedata
File Size113369 bytes
Virtual Address0x06B00000
Processsvchost.exe
PID4012
PathC:\Windows\SysWOW64\svchost.exe
MD541699c255893db15543eaed507318095
SHA13c9b3b477ac9c06813d159519728e9b25a904973
SHA2567e33e15230f04ce44991c65b53d1190ef1750d7b76a69e2316c41d63607f6203 + [VT] + [MWDB] + [Bazaar] +
SHA3-384ee0b0bf2a04732767c49ba587adc750aa43694b37e998a32d973648b0a038f42599d420d61fe2e00a32a48d1e6e309b6
CRC32EEACC746
TLSHT1B9B34B35A56222F8D8BAE1BEC0674F6BEC72305940B0AF5947E446364F632B06D1F727
Ssdeep1536:lGJiwKZ/PrQtqMeHfWNCHYK3tWTOTMdxJdnM/lfp4B6wLyuWnTym37kTEK:UJiwHqH2CHYzRdVnMdfp4QRrbK
+ + + + + + + + + + + + + +
+ + + + + + + + 2025-12-09T12:27:02.721889 + image/svg+xml + + + Matplotlib v3.3.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ +
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeUnpacked Shellcode
Filename + +
a19ef6806265c9e7029da86d2d725b5b2f3113812fbc321474611b7b451888c3
+ +
File Typedata
File Size2481 bytes
Virtual Address0x000000914EE7F000
Processnotepad.exe
PID4836
PathC:\Windows\System32\notepad.exe
MD53042ff0e5984a003a70a73bdabd3d88f
SHA16c0c685ca047f06c6cd193b71f17b6aa86d36713
SHA256a19ef6806265c9e7029da86d2d725b5b2f3113812fbc321474611b7b451888c3 + [VT] + [MWDB] + [Bazaar] +
SHA3-38448ca693fac76d7d7e6cd645e66d1f8ad34a54bdd2e88585e2ed9abfc8d0e663c0b424f0bc27a6741dddf9fdb6505ca27
CRC323CCCB2E8
TLSHT1E051AF8B328ABEDBEF08D13930E6665932D9D58502310B1B0FC0EEA96F275948853915
Ssdeep12:fc/3oU+jeZ0GDklml8tXYlTxCpuQmkl6XfoHVHEpSXJClhyF6tatn8dxAzXraovE:+8HGDNlCYltCpmpvoH3Z1uGz7lcXZv
+ + + + + + + + + + + + + +
+ + + + + + + + 2025-12-09T12:27:03.212665 + image/svg+xml + + + Matplotlib v3.3.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ +
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Filename + +
2c8ad5991f46be686c2dc7eac552c30fb7c4083bddc40b9992f93211fdf3df8f
+ +
File TypePE32 executable (GUI) Intel 80386, for MS Windows
File Size1618432 bytes
Process728546301b7008b5a1fb3aea.exe
PID4984
PathC:\Users\Louise\AppData\Local\Temp\728546301b7008b5a1fb3aea.exe
MD50f222008c89222a90e6e9060529a9391
SHA1368c380366c8c162691cb000af28faa4406bfeb7
SHA2562c8ad5991f46be686c2dc7eac552c30fb7c4083bddc40b9992f93211fdf3df8f + [VT] + [MWDB] + [Bazaar] +
SHA3-38403257540274b0a639050951d2f1a71c5a1b4f52f3228f79be975cbd4de15e2f1d93105f8d46aff12717496918f172fa3
CRC328CBA889A
TLSHT1BC75C00277C1C076FF93A273476BEA1A5B7879220277896F139C1979FD70272422E762
Ssdeep24576:Znj9EXE1+TDiGAhmsZ30v2M4VAKTGblgekMqsyjAYLL0:ZKXq+9A0842N9KbllVqsyjtL
Yara +
    + +
  • + AutoIT_Compiled - Identifies compiled AutoIT script (as EXE). + + - Author: @bartblaze + +
  • + +
+
+ + + + + + + + + + + + + +
+ +
+

PE Information

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Image BaseEntry PointReported ChecksumActual ChecksumMinimum OS VersionCompile TimeIconIcon Exact HashIcon Similarity HashIcon DHash
0x009700000x000204f70x000000000x001995565.12025-11-24 12:30:413d5dc4e5a911bee7292a914140092c8ca788a1c8239f81d6e401dd187d68f45eb2b2e3e3e3a3a200
+
+
+
+ +
+

Version Infos

+
+ + + + + + + + + + + + + +
Translation0x0809 0x04b0
+
+
+
+ + + +
+

Sections

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameRAW AddressVirtual AddressVirtual SizeSize of Raw DataCharacteristicsEntropy
UPX00x000004000x000010000x000db0000x000db000IMAGE_SCN_CNT_UNINITIALIZED_DATA|IMAGE_SCN_MEM_EXECUTE|IMAGE_SCN_MEM_READ6.29
UPX10x000db4000x000dc0000x0005d0000x0005ca00IMAGE_SCN_CNT_INITIALIZED_DATA|IMAGE_SCN_MEM_EXECUTE|IMAGE_SCN_MEM_READ0.81
.rsrc0x00137e000x001390000x000540000x00053400IMAGE_SCN_CNT_INITIALIZED_DATA|IMAGE_SCN_MEM_READ|IMAGE_SCN_MEM_WRITE7.92
+
+
+
+ + + + + +
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameOffsetSizeLanguageSub-languageEntropyFile type
RT_ICON0x001395ac0x00000128LANG_ENGLISHSUBLANG_ENGLISH_UK3.66None
RT_ICON0x001396d80x00000128LANG_ENGLISHSUBLANG_ENGLISH_UK2.06None
RT_ICON0x001398040x00000128LANG_ENGLISHSUBLANG_ENGLISH_UK2.25None
RT_ICON0x001399300x000002e8LANG_ENGLISHSUBLANG_ENGLISH_UK3.65None
RT_ICON0x00139c1c0x00000128LANG_ENGLISHSUBLANG_ENGLISH_UK3.44None
RT_ICON0x00139d480x00000ea8LANG_ENGLISHSUBLANG_ENGLISH_UK4.16None
RT_ICON0x0013abf40x000008a8LANG_ENGLISHSUBLANG_ENGLISH_UK4.07None
RT_ICON0x0013b4a00x00000568LANG_ENGLISHSUBLANG_ENGLISH_UK2.18None
RT_ICON0x0013ba0c0x000025a8LANG_ENGLISHSUBLANG_ENGLISH_UK4.52None
RT_ICON0x0013dfb80x000010a8LANG_ENGLISHSUBLANG_ENGLISH_UK4.65None
RT_ICON0x0013f0640x00000468LANG_ENGLISHSUBLANG_ENGLISH_UK4.39None
RT_MENU0x000da4a00x00000050LANG_ENGLISHSUBLANG_ENGLISH_UK2.68None
RT_STRING0x000da4f00x00000594LANG_ENGLISHSUBLANG_ENGLISH_UK3.35None
RT_STRING0x000daa840x0000068aLANG_ENGLISHSUBLANG_ENGLISH_UK3.28None
RT_STRING0x000db1100x00000490LANG_ENGLISHSUBLANG_ENGLISH_UK3.29None
RT_STRING0x000db5a00x000005fcLANG_ENGLISHSUBLANG_ENGLISH_UK3.28None
RT_STRING0x000dbb9c0x0000065cLANG_ENGLISHSUBLANG_ENGLISH_UK3.28None
RT_STRING0x000dc1f80x00000466LANG_ENGLISHSUBLANG_ENGLISH_UK3.26None
RT_STRING0x000dc6600x00000158LANG_ENGLISHSUBLANG_ENGLISH_UK3.09None
RT_RCDATA0x0013f4d00x0004c3acLANG_NEUTRALSUBLANG_NEUTRAL8.00None
RT_GROUP_ICON0x0018b8800x00000076LANG_ENGLISHSUBLANG_ENGLISH_UK2.87None
RT_GROUP_ICON0x0018b8fc0x00000014LANG_ENGLISHSUBLANG_ENGLISH_UK2.02None
RT_GROUP_ICON0x0018b9140x00000014LANG_ENGLISHSUBLANG_ENGLISH_UK1.84None
RT_GROUP_ICON0x0018b92c0x00000014LANG_ENGLISHSUBLANG_ENGLISH_UK2.02None
RT_VERSION0x0018b9440x000000dcLANG_ENGLISHSUBLANG_ENGLISH_UK2.78None
RT_MANIFEST0x0018ba240x000003efLANG_ENGLISHSUBLANG_ENGLISH_UK5.40None
+
+
+
+
+ + + +
+ + + + + +
+ + + + + + + + 2025-12-09T12:27:03.944534 + image/svg+xml + + + Matplotlib v3.3.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ +
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeUnpacked Shellcode
Filename + +
4a469ca8fd3189b869aa582fb44875f475e50fe8bec71c5e0ad327e4c98ecab9
+ +
File Typedata
File Size113402 bytes
Virtual Address0x05FA0000
Processrundll32.exe
PID3240
PathC:\Windows\SysWOW64\rundll32.exe
MD57cbd166f3fb80d2f3ee5c4a9c7cd9a51
SHA12192d3b2d0464920665ed7c6d466da1d2f6624ec
SHA2564a469ca8fd3189b869aa582fb44875f475e50fe8bec71c5e0ad327e4c98ecab9 + [VT] + [MWDB] + [Bazaar] +
SHA3-384b77c6e2109ebcfb85b85767dd49852c4a4db24a1b9b64f037aa954591f8083310cfa36e25663f52d985ef7671c179a2c
CRC3293E5952D
TLSHT1F6B34B35A52222F8D8BAE1BEC0674F6BEC72305940B0AF5947E446324F632B06D1F727
Ssdeep1536:lGJiwKZ/PrQtqMeHfWNCHYK3tWTOTMdxJdnM/lfp4B6wLyuWnTyK37kTEz:UJiwHqH2CHYzRdVnMdfp4Qxrbz
+ + + + + + + + + + + + + +
+ + + + + + + + 2025-12-09T12:27:04.493269 + image/svg+xml + + + Matplotlib v3.3.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ +
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeFormbook Payload
Filename + +
19a871f07f34b086deb056ce2b1fabb3b554fac1da2d29e73ab86d318f7b67de
+ +
File Typedata
File Size280539 bytes
Virtual Address0x00820000
Processrundll32.exe
PID3240
PathC:\Windows\SysWOW64\rundll32.exe
MD5da7248c7409f7883e031762a7d9bd800
SHA16ca15b9f457b3ba021261db1e38505493b3e75b7
SHA25619a871f07f34b086deb056ce2b1fabb3b554fac1da2d29e73ab86d318f7b67de + [VT] + [MWDB] + [Bazaar] +
SHA3-3846ddb46fdecb8a374b5647560985c51280704272c722eff1dad8cd0dcd403452ed5093bcb6ba2109e8c2733ea3e4e9805
CRC32E549E43E
TLSHT13B54D031D502DC74E2F350A5F1DE171BA53D1D344025A162FFEA5AEAAAE18EC313A31B
Ssdeep6144:ZACz/NY5XvwFLZ8hrCtovdj4hvReCgmmqzFZh:ZACz/y2HKOKV4hvReTmFZh
Yara +
    + +
  • + shellcode_stack_strings - Match x86 that appears to be stack string creation. + + - Author: William Ballenthin + +
  • + +
+
CAPE Yara +
    + +
  • + Formbook + - Formbook Payload + + - Author: kevoreilly +
  • + +
+
+ + + + + + + + + + + + + +
+ + + + + + + + 2025-12-09T12:27:05.058444 + image/svg+xml + + + Matplotlib v3.3.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ +
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeInjected PE Image: 32-bit executable
Filename + +
9447a102eeedd3e9f9e5f50498a1b87c75ea750116f392e27125019d1870b3ee
+ +
File TypePE32 executable (GUI) Intel 80386, for MS Windows
File Size291840 bytes
Target Processsvchost.exe
Target PID4012
Target PathC:\Windows\System32\svchost.exe
Injecting Processspiketail.exe
Injecting PID6044
PathC:\Users\Louise\AppData\Local\caprone\spiketail.exe
MD55c18e9469a65ab34eceefce1f514971c
SHA1d593d21efd5576f1d4f602556ffc613688e695f4
SHA2569447a102eeedd3e9f9e5f50498a1b87c75ea750116f392e27125019d1870b3ee + [VT] + [MWDB] + [Bazaar] +
SHA3-384d6b547439f4e855e58ee03171b52f23a3a8c38d3051b97b45fe6be6d19b019b7f6100b26244627062fdc914797604172
CRC32B774883E
TLSHT17154129BAA116829D51C083EF1612A7E99E2BB6F26D55F50720D468B47303D793E033F
Ssdeep6144:89YFqn4F8HSvP0+95p/PsMM+osxJz0wOsB3tv/YUrpA89UOcZCwK:8YqnZSvjphM0xt0wOsNdYUrpn7cZA
+ + + + + + + + + + + + + +
+ +
+

PE Information

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Image BaseEntry PointReported ChecksumActual ChecksumMinimum OS VersionCompile Time
0x004000000x000014300x000000000x00049f196.02019-02-23 03:30:59
+
+
+
+ + + +
+

Sections

+
+ + + + + + + + + + + + + + + + + + + + + +
NameRAW AddressVirtual AddressVirtual SizeSize of Raw DataCharacteristicsEntropy
.text0x000004000x000010000x000470000x00047000IMAGE_SCN_CNT_CODE|IMAGE_SCN_MEM_EXECUTE|IMAGE_SCN_MEM_READ8.00
+
+
+
+ + + + + + + +
+ + + + + +
+ + + + + + + + 2025-12-09T12:27:05.558163 + image/svg+xml + + + Matplotlib v3.3.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ +
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeInjected Shellcode/Data
Filename + +
cfb3580ed12305b4e55bfbf7c7ddcb4c4452fbfef149e8cc73d5fda0c79a3d30
+ +
File Typedata
File Size83500 bytes
Target Processnotepad.exe
Target PID4836
Target PathC:\Windows\System32\notepad.exe
Injecting Processrundll32.exe
Injecting PID3240
PathC:\Windows\SysWOW64\rundll32.exe
MD5291457aaa33817ceac857ef7433fbbc8
SHA1f83e2bf94d65a11a7d70fac09e9a1d7bb4263490
SHA256cfb3580ed12305b4e55bfbf7c7ddcb4c4452fbfef149e8cc73d5fda0c79a3d30 + [VT] + [MWDB] + [Bazaar] +
SHA3-38404b80dc1449e043aaff61a00ca67f5d74f503bd6c07a5bb785ad515ec9b934c2b458a204a0a857c59e3bd2ddf42e0aff
CRC3237EBA7D7
TLSHT1268322A0AEE10199E3BB6C7625F382103AB9F4121E75E3AE88099348A402824DD30B06
Ssdeep6:btkKEen+SkyGkNlj66AtMAbdlr8H5Ja1UEZ+lX14nMlNl0jSx6At6N0SUP+7sDQA:btkNe+UN9Abdp8Z01Q14nkNuEFP+GzbJ
+ + + + + + + + + + + + + +
+ + + + + + + + 2025-12-09T12:27:06.095408 + image/svg+xml + + + Matplotlib v3.3.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ +
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeUnpacked PE Image: 32-bit DLL
Filename + +
77c3efe5785c40dadbba5326662464c27bf5a6ebc104a51729cec98817867bcd
+ +
File TypePE32 executable (DLL) (GUI) Intel 80386, for MS Windows
File Size1692672 bytes
Virtual Address0x06F00000
Processsvchost.exe
PID4012
PathC:\Windows\SysWOW64\svchost.exe
MD5dda9a793d57f58a9cff4896f8bf45dbf
SHA1e45c26b0e1ebd0d6047ab1ea1916b564d81e7ef2
SHA25677c3efe5785c40dadbba5326662464c27bf5a6ebc104a51729cec98817867bcd + [VT] + [MWDB] + [Bazaar] +
SHA3-38404655184f30cb472aaf171b03c008d8b78cbb9968048d669c501c5e3ebf6c62f8487efeb6dbdf62e453934efaf12f47e
CRC320886C9C4
TLSHT1CD75B351A3F84615F6F73B7059B926300E7A7CA5AB78C2DF628015AE4EB1EC08D70763
Ssdeep24576:1he5jT9XyetZyhymfEHhHe3eP9w/ZceItH66i6Gv/12f0XHjy:j2ieto7EH5e3e+2eELc3j
+ + + + + + + + + + + + + +
+ +
+

PE Information

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Image BaseEntry PointReported ChecksumActual ChecksumMinimum OS VersionPDB PathCompile TimeExported DLL Name
0x06f000000x000000000x001a61730x0019e35410.0wntdll.pdb1971-04-29 16:46:46ntdll.dll
+
+
+
+ +
+

Version Infos

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CompanyNameMicrosoft Corporation
FileDescriptionNT Layer DLL
FileVersion10.0.19041.1288 (WinBuild.160101.0800)
InternalNamentdll.dll
LegalCopyright© Microsoft Corporation. All rights reserved.
OriginalFilenamentdll.dll
ProductNameMicrosoft® Windows® Operating System
ProductVersion10.0.19041.1288
Translation0x0409 0x04b0
+
+
+
+ + + +
+

Sections

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameRAW AddressVirtual AddressVirtual SizeSize of Raw DataCharacteristicsEntropy
.text0x000004000x000010000x001200000x0011f800IMAGE_SCN_CNT_CODE|IMAGE_SCN_MEM_EXECUTE|IMAGE_SCN_MEM_READ6.83
PAGE0x0011fc000x001210000x000010000x00000600IMAGE_SCN_CNT_CODE|IMAGE_SCN_MEM_EXECUTE|IMAGE_SCN_MEM_READ5.10
RT0x001202000x001220000x000010000x00000200IMAGE_SCN_CNT_CODE|IMAGE_SCN_MEM_EXECUTE|IMAGE_SCN_MEM_READ5.24
.data0x001204000x001230000x000060000x00005c00IMAGE_SCN_CNT_INITIALIZED_DATA|IMAGE_SCN_MEM_READ|IMAGE_SCN_MEM_WRITE1.44
.mrdata0x001260000x001290000x000030000x00002400IMAGE_SCN_CNT_INITIALIZED_DATA|IMAGE_SCN_MEM_READ|IMAGE_SCN_MEM_WRITE0.71
.00cfg0x001284000x0012c0000x000010000x00000000IMAGE_SCN_CNT_INITIALIZED_DATA|IMAGE_SCN_MEM_READ0.00
.rsrc0x001284000x0012d0000x000700000x0006fe00IMAGE_SCN_CNT_INITIALIZED_DATA|IMAGE_SCN_MEM_READ3.35
.reloc0x001982000x0019d0000x000060000x00005200IMAGE_SCN_CNT_INITIALIZED_DATA|IMAGE_SCN_MEM_DISCARDABLE|IMAGE_SCN_MEM_READ6.71
+
+
+
+ + + + + +
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameOffsetSizeLanguageSub-languageEntropyFile type
MUI0x0019cd000x000000c8LANG_ENGLISHSUBLANG_ENGLISH_US2.73None
RT_MESSAGETABLE0x0012d4700x0006f890LANG_ENGLISHSUBLANG_ENGLISH_US3.35None
RT_VERSION0x0012d0f00x00000380LANG_ENGLISHSUBLANG_ENGLISH_US3.50None
+
+
+
+
+ + + +
+ + +
+

Exports

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OrdinalAddressName
150x724602aA_SHAFinal
160x7246030A_SHAInit
170x7246036A_SHAUpdate
180x724603cAlpcAdjustCompletionListConcurrencyCount
190x7246042AlpcFreeCompletionListMessage
200x7246048AlpcGetCompletionListLastMessageInformation
210x724604eAlpcGetCompletionListMessageAttributes
220x7246054AlpcGetHeaderSize
230x724605aAlpcGetMessageAttribute
240x7246060AlpcGetMessageFromCompletionList
250x7246066AlpcGetOutstandingCompletionListMessageCount
260x724606cAlpcInitializeMessageAttribute
270x7246072AlpcMaxAllowedMessageLength
280x7246078AlpcRegisterCompletionList
290x724607eAlpcRegisterCompletionListWorkerThread
300x7246084AlpcRundownCompletionList
310x724608aAlpcUnregisterCompletionList
320x7246090AlpcUnregisterCompletionListWorkerThread
330x7246096ApiSetQueryApiSetPresence
340x724609cApiSetQueryApiSetPresenceEx
350x72460a2CsrAllocateCaptureBuffer
360x72460a8CsrAllocateMessagePointer
370x72460aeCsrCaptureMessageBuffer
380x72460b4CsrCaptureMessageMultiUnicodeStringsInPlace
390x72460baCsrCaptureMessageString
400x72460c0CsrCaptureTimeout
410x72460c6CsrClientCallServer
420x72460ccCsrClientConnectToServer
430x72460d2CsrFreeCaptureBuffer
440x72460d8CsrGetProcessId
450x72460deCsrIdentifyAlertableThread
460x72460e4CsrSetPriorityClass
470x72460eaCsrVerifyRegion
480x72460f0DbgBreakPoint
490x72460f6DbgPrint
500x72460fcDbgPrintEx
510x7246102DbgPrintReturnControlC
520x7246108DbgPrompt
530x724610eDbgQueryDebugFilterState
540x7246114DbgSetDebugFilterState
550x724611aDbgUiConnectToDbg
560x7246120DbgUiContinue
570x7246126DbgUiConvertStateChangeStructure
580x724612cDbgUiConvertStateChangeStructureEx
590x7246132DbgUiDebugActiveProcess
600x7246138DbgUiGetThreadDebugObject
610x724613eDbgUiIssueRemoteBreakin
620x7246144DbgUiRemoteBreakin
630x724614aDbgUiSetThreadDebugObject
640x7246150DbgUiStopDebugging
650x7246156DbgUiWaitStateChange
660x724615cDbgUserBreakPoint
670x7246162EtwCheckCoverage
680x7246168EtwCreateTraceInstanceId
690x724616eEtwDeliverDataBlock
700x7246174EtwEnumerateProcessRegGuids
710x724617aEtwEventActivityIdControl
720x7246180EtwEventEnabled
730x7246186EtwEventProviderEnabled
740x724618cEtwEventRegister
750x7246192EtwEventSetInformation
760x7246198EtwEventUnregister
770x724619eEtwEventWrite
780x72461a4EtwEventWriteEndScenario
790x72461aaEtwEventWriteEx
800x72461b0EtwEventWriteFull
810x72461b6EtwEventWriteNoRegistration
820x72461bcEtwEventWriteStartScenario
830x72461c2EtwEventWriteString
840x72461c8EtwEventWriteTransfer
850x72461ceEtwGetTraceEnableFlags
860x72461d4EtwGetTraceEnableLevel
870x72461daEtwGetTraceLoggerHandle
880x72461e0EtwLogTraceEvent
890x72461e6EtwNotificationRegister
900x72461ecEtwNotificationUnregister
910x72461f2EtwProcessPrivateLoggerRequest
920x72461f8EtwRegisterSecurityProvider
930x72461feEtwRegisterTraceGuidsA
940x7246204EtwRegisterTraceGuidsW
950x724620aEtwReplyNotification
960x7246210EtwSendNotification
970x7246216EtwSetMark
980x724621cEtwTraceEventInstance
990x7246222EtwTraceMessage
1000x7246228EtwTraceMessageVa
1010x724622eEtwUnregisterTraceGuids
1020x7246234EtwWriteUMSecurityEvent
1030x724623aEtwpCreateEtwThread
1040x7246240EtwpGetCpuSpeed
1050x7246246EvtIntReportAuthzEventAndSourceAsync
1060x724624cEvtIntReportEventAndSourceAsync
1070x6f74fc0KiFastSystemCall
1080x7246258KiFastSystemCallRet
1090x724625eKiIntSystemCall
1100x7246264KiRaiseUserExceptionDispatcher
1110x724626aKiUserApcDispatcher
1120x7246270KiUserCallbackDispatcher
1130x7246276KiUserExceptionDispatcher
1140x724627cLdrAccessResource
1150x7246282LdrAddDllDirectory
1160x7246288LdrAddLoadAsDataTable
1170x724628eLdrAddRefDll
1180x7246294LdrAppxHandleIntegrityFailure
1190x724629aLdrCallEnclave
1200x72462a0LdrControlFlowGuardEnforced
1210x72462a6LdrCreateEnclave
1220x72462acLdrDeleteEnclave
1230x72462b2LdrDisableThreadCalloutsForDll
1240x72462b8LdrEnumResources
1250x72462beLdrEnumerateLoadedModules
1260x72462c4LdrFastFailInLoaderCallout
1270x72462caLdrFindEntryForAddress
1280x72462d0LdrFindResourceDirectory_U
1290x72462d6LdrFindResourceEx_U
1300x72462dcLdrFindResource_U
1310x72462e2LdrFlushAlternateResourceModules
1320x72462e8LdrGetDllDirectory
1330x72462eeLdrGetDllFullName
1340x72462f4LdrGetDllHandle
1350x72462faLdrGetDllHandleByMapping
1360x7246300LdrGetDllHandleByName
1370x7246306LdrGetDllHandleEx
1380x724630cLdrGetDllPath
1390x7246312LdrGetFailureData
1400x7246318LdrGetFileNameFromLoadAsDataTable
1410x724631eLdrGetProcedureAddress
1420x7246324LdrGetProcedureAddressEx
1430x724632aLdrGetProcedureAddressForCaller
1440x7246330LdrInitShimEngineDynamic
1450x7246336LdrInitializeEnclave
1460x724633cLdrInitializeThunk
1470x7246342LdrIsModuleSxsRedirected
1480x7246348LdrLoadAlternateResourceModule
1490x724634eLdrLoadAlternateResourceModuleEx
1500x7246354LdrLoadDll
1510x724635aLdrLoadEnclaveModule
1520x7246360LdrLockLoaderLock
1530x7246366LdrOpenImageFileOptionsKey
1540x724636cLdrParentInterlockedPopEntrySList
1550x7246372LdrParentRtlInitializeNtUserPfn
1560x7246378LdrParentRtlResetNtUserPfn
1570x724637eLdrParentRtlRetrieveNtUserPfn
1580x7246384LdrProcessRelocationBlock
1590x724638aLdrProcessRelocationBlockEx
1600x7246390LdrQueryImageFileExecutionOptions
1610x7246396LdrQueryImageFileExecutionOptionsEx
1620x724639cLdrQueryImageFileKeyOption
1630x72463a2LdrQueryModuleServiceTags
1640x72463a8LdrQueryOptionalDelayLoadedAPI
1650x72463aeLdrQueryProcessModuleInformation
1660x72463b4LdrRegisterDllNotification
1670x72463baLdrRemoveDllDirectory
1680x72463c0LdrRemoveLoadAsDataTable
1690x72463c6LdrResFindResource
1700x72463ccLdrResFindResourceDirectory
1710x72463d2LdrResGetRCConfig
1720x72463d8LdrResRelease
1730x72463deLdrResSearchResource
1740x72463e4LdrResolveDelayLoadedAPI
1750x72463eaLdrResolveDelayLoadsFromDll
1760x72463f0LdrRscIsTypeExist
1770x72463f6LdrSetAppCompatDllRedirectionCallback
1780x72463fcLdrSetDefaultDllDirectories
1790x7246402LdrSetDllDirectory
1800x7246408LdrSetDllManifestProber
1810x724640eLdrSetImplicitPathOptions
1820x7246414LdrSetMUICacheType
1830x724641aLdrShutdownProcess
1840x7246420LdrShutdownThread
1850x7246426LdrStandardizeSystemPath
1860x724642cLdrSystemDllInitBlock
1870x7246432LdrUnloadAlternateResourceModule
1880x7246438LdrUnloadAlternateResourceModuleEx
1890x724643eLdrUnloadDll
1900x7246444LdrUnlockLoaderLock
1910x724644aLdrUnregisterDllNotification
1920x7246450LdrUpdatePackageSearchPath
1930x7246456LdrVerifyImageMatchesChecksum
1940x724645cLdrVerifyImageMatchesChecksumEx
1950x7246462LdrpChildNtdll
1960x7246468LdrpResGetMappingSize
1970x724646eLdrpResGetResourceDirectory
1980x7246474MD4Final
1990x724647aMD4Init
2000x7246480MD4Update
2010x7246486MD5Final
2020x724648cMD5Init
2030x7246492MD5Update
2040x7246498NlsAnsiCodePage
2050x724649eNlsMbCodePageTag
2060x72464a4NlsMbOemCodePageTag
2070x72464aaNtAcceptConnectPort
2080x72464b0NtAccessCheck
2090x72464b6NtAccessCheckAndAuditAlarm
2100x72464bcNtAccessCheckByType
2110x72464c2NtAccessCheckByTypeAndAuditAlarm
2120x72464c8NtAccessCheckByTypeResultList
2130x72464ceNtAccessCheckByTypeResultListAndAuditAlarm
2140x72464d4NtAccessCheckByTypeResultListAndAuditAlarmByHandle
2150x72464daNtAcquireCrossVmMutant
2160x72464e0NtAcquireProcessActivityReference
2170x72464e6NtAddAtom
2180x72464ecNtAddAtomEx
2190x72464f2NtAddBootEntry
2200x72464f8NtAddDriverEntry
2210x72464feNtAdjustGroupsToken
2220x6f72de0NtAdjustPrivilegesToken
2230x724650aNtAdjustTokenClaimsAndDeviceGroups
2240x7246510NtAlertResumeThread
2250x7246516NtAlertThread
2260x724651cNtAlertThreadByThreadId
2270x7246522NtAllocateLocallyUniqueId
2280x7246528NtAllocateReserveObject
2290x724652eNtAllocateUserPhysicalPages
2300x7246534NtAllocateUserPhysicalPagesEx
2310x724653aNtAllocateUuids
2320x6f72b30NtAllocateVirtualMemory
2330x7246546NtAllocateVirtualMemoryEx
2340x724654cNtAlpcAcceptConnectPort
2350x7246552NtAlpcCancelMessage
2360x7246558NtAlpcConnectPort
2370x724655eNtAlpcConnectPortEx
2380x7246564NtAlpcCreatePort
2390x724656aNtAlpcCreatePortSection
2400x7246570NtAlpcCreateResourceReserve
2410x7246576NtAlpcCreateSectionView
2420x724657cNtAlpcCreateSecurityContext
2430x7246582NtAlpcDeletePortSection
2440x7246588NtAlpcDeleteResourceReserve
2450x724658eNtAlpcDeleteSectionView
2460x7246594NtAlpcDeleteSecurityContext
2470x724659aNtAlpcDisconnectPort
2480x72465a0NtAlpcImpersonateClientContainerOfPort
2490x72465a6NtAlpcImpersonateClientOfPort
2500x72465acNtAlpcOpenSenderProcess
2510x72465b2NtAlpcOpenSenderThread
2520x72465b8NtAlpcQueryInformation
2530x72465beNtAlpcQueryInformationMessage
2540x72465c4NtAlpcRevokeSecurityContext
2550x72465caNtAlpcSendWaitReceivePort
2560x72465d0NtAlpcSetInformation
2570x72465d6NtApphelpCacheControl
2580x72465dcNtAreMappedFilesTheSame
2590x72465e2NtAssignProcessToJobObject
2600x72465e8NtAssociateWaitCompletionPacket
2610x72465eeNtCallEnclave
2620x72465f4NtCallbackReturn
2630x72465faNtCancelIoFile
2640x7246600NtCancelIoFileEx
2650x7246606NtCancelSynchronousIoFile
2670x7246612NtCancelTimer
2660x724660cNtCancelTimer2
2680x7246618NtCancelWaitCompletionPacket
2690x724661eNtClearEvent
2700x6f72aa0NtClose
2710x724662aNtCloseObjectAuditAlarm
2720x7246630NtCommitComplete
2730x7246636NtCommitEnlistment
2740x724663cNtCommitRegistryTransaction
2750x7246642NtCommitTransaction
2760x7246648NtCompactKeys
2770x724664eNtCompareObjects
2780x7246654NtCompareSigningLevels
2790x724665aNtCompareTokens
2800x7246660NtCompleteConnectPort
2810x7246666NtCompressKey
2820x724666cNtConnectPort
2830x7246672NtContinue
2840x7246678NtContinueEx
2850x724667eNtConvertBetweenAuxiliaryCounterAndPerformanceCounter
2860x7246684NtCreateCrossVmEvent
2870x724668aNtCreateCrossVmMutant
2880x7246690NtCreateDebugObject
2890x7246696NtCreateDirectoryObject
2900x724669cNtCreateDirectoryObjectEx
2910x72466a2NtCreateEnclave
2920x72466a8NtCreateEnlistment
2930x72466aeNtCreateEvent
2940x72466b4NtCreateEventPair
2950x6f72f20NtCreateFile
2960x72466c0NtCreateIRTimer
2970x72466c6NtCreateIoCompletion
2980x72466ccNtCreateJobObject
2990x72466d2NtCreateJobSet
3000x6f72ba0NtCreateKey
3010x72466deNtCreateKeyTransacted
3020x72466e4NtCreateKeyedEvent
3030x72466eaNtCreateLowBoxToken
3040x72466f0NtCreateMailslotFile
3050x6f73500NtCreateMutant
3060x72466fcNtCreateNamedPipeFile
3070x7246702NtCreatePagingFile
3080x7246708NtCreatePartition
3090x724670eNtCreatePort
3100x7246714NtCreatePrivateNamespace
3110x724671aNtCreateProcess
3120x6f72ea0NtCreateProcessEx
3130x7246726NtCreateProfile
3140x724672cNtCreateProfileEx
3150x7246732NtCreateRegistryTransaction
3160x7246738NtCreateResourceManager
3170x6f72e70NtCreateSection
3180x7246744NtCreateSectionEx
3190x724674aNtCreateSemaphore
3200x7246750NtCreateSymbolicLinkObject
3210x7246756NtCreateThread
3220x724675cNtCreateThreadEx
3240x7246768NtCreateTimer
3230x7246762NtCreateTimer2
3250x724676eNtCreateToken
3260x7246774NtCreateTokenEx
3270x724677aNtCreateTransaction
3280x7246780NtCreateTransactionManager
3290x7246786NtCreateUserProcess
3300x724678cNtCreateWaitCompletionPacket
3310x7246792NtCreateWaitablePort
3320x7246798NtCreateWnfStateName
3330x724679eNtCreateWorkerFactory
3340x72467a4NtCurrentTeb
3350x72467aaNtDebugActiveProcess
3360x72467b0NtDebugContinue
3370x6f72d10NtDelayExecution
3380x72467bcNtDeleteAtom
3390x72467c2NtDeleteBootEntry
3400x72467c8NtDeleteDriverEntry
3410x72467ceNtDeleteFile
3420x72467d4NtDeleteKey
3430x72467daNtDeleteObjectAuditAlarm
3440x72467e0NtDeletePrivateNamespace
3450x72467e6NtDeleteValueKey
3460x72467ecNtDeleteWnfStateData
3470x72467f2NtDeleteWnfStateName
3480x72467f8NtDeviceIoControlFile
3490x72467feNtDirectGraphicsCall
3500x7246804NtDisableLastKnownGood
3510x724680aNtDisplayString
3520x7246810NtDrawText
3530x7246816NtDuplicateObject
3540x724681cNtDuplicateToken
3550x7246822NtEnableLastKnownGood
3560x7246828NtEnumerateBootEntries
3570x724682eNtEnumerateDriverEntries
3580x6f72cf0NtEnumerateKey
3590x724683aNtEnumerateSystemEnvironmentValuesEx
3600x7246840NtEnumerateTransactionObject
3610x6f72ae0NtEnumerateValueKey
3620x724684cNtExtendSection
3630x7246852NtFilterBootOption
3640x7246858NtFilterToken
3650x724685eNtFilterTokenEx
3660x7246864NtFindAtom
3670x724686aNtFlushBuffersFile
3680x7246870NtFlushBuffersFileEx
3690x7246876NtFlushInstallUILanguage
3700x724687cNtFlushInstructionCache
3710x7246882NtFlushKey
3720x7246888NtFlushProcessWriteBuffers
3730x724688eNtFlushVirtualMemory
3740x7246894NtFlushWriteBuffer
3750x724689aNtFreeUserPhysicalPages
3760x6f72bb0NtFreeVirtualMemory
3770x72468a6NtFreezeRegistry
3780x72468acNtFreezeTransactions
3790x72468b2NtFsControlFile
3800x72468b8NtGetCachedSigningLevel
3810x72468beNtGetCompleteWnfStateSubscription
3820x6f738f0NtGetContextThread
3830x72468caNtGetCurrentProcessorNumber
3840x72468d0NtGetCurrentProcessorNumberEx
3850x72468d6NtGetDevicePowerState
3860x72468dcNtGetMUIRegistryInfo
3870x72468e2NtGetNextProcess
3880x72468e8NtGetNextThread
3890x72468eeNtGetNlsSectionPtr
3900x72468f4NtGetNotificationResourceManager
3910x72468faNtGetTickCount
3920x7246900NtGetWriteWatch
3930x7246906NtImpersonateAnonymousToken
3940x724690cNtImpersonateClientOfPort
3950x7246912NtImpersonateThread
3960x7246918NtInitializeEnclave
3970x724691eNtInitializeNlsFiles
3980x7246924NtInitializeRegistry
3990x724692aNtInitiatePowerAction
4000x7246930NtIsProcessInJob
4010x7246936NtIsSystemResumeAutomatic
4020x724693cNtIsUILanguageComitted
4030x7246942NtListenPort
4040x7246948NtLoadDriver
4050x724694eNtLoadEnclaveData
4080x7246960NtLoadKey
4060x7246954NtLoadKey2
4070x724695aNtLoadKey3
4090x7246966NtLoadKeyEx
4100x724696cNtLockFile
4110x7246972NtLockProductActivationKeys
4120x7246978NtLockRegistryKey
4130x724697eNtLockVirtualMemory
4140x7246984NtMakePermanentObject
4150x724698aNtMakeTemporaryObject
4160x7246990NtManageHotPatch
4170x7246996NtManagePartition
4180x724699cNtMapCMFModule
4190x72469a2NtMapUserPhysicalPages
4200x72469a8NtMapUserPhysicalPagesScatter
4210x6f72c50NtMapViewOfSection
4220x72469b4NtMapViewOfSectionEx
4230x72469baNtModifyBootEntry
4240x72469c0NtModifyDriverEntry
4250x72469c6NtNotifyChangeDirectoryFile
4260x72469ccNtNotifyChangeDirectoryFileEx
4270x72469d2NtNotifyChangeKey
4280x72469d8NtNotifyChangeMultipleKeys
4290x72469deNtNotifyChangeSession
4300x6f72f50NtOpenDirectoryObject
4310x72469eaNtOpenEnlistment
4320x72469f0NtOpenEvent
4330x72469f6NtOpenEventPair
4340x72469fcNtOpenFile
4350x7246a02NtOpenIoCompletion
4360x7246a08NtOpenJobObject
4370x7246a0eNtOpenKey
4380x7246a14NtOpenKeyEx
4390x7246a1aNtOpenKeyTransacted
4400x7246a20NtOpenKeyTransactedEx
4410x7246a26NtOpenKeyedEvent
4420x7246a2cNtOpenMutant
4430x7246a32NtOpenObjectAuditAlarm
4440x7246a38NtOpenPartition
4450x7246a3eNtOpenPrivateNamespace
4460x6f72c30NtOpenProcess
4470x6f73c50NtOpenProcessToken
4480x7246a50NtOpenProcessTokenEx
4490x7246a56NtOpenRegistryTransaction
4500x7246a5cNtOpenResourceManager
4510x7246a62NtOpenSection
4520x7246a68NtOpenSemaphore
4530x7246a6eNtOpenSession
4540x7246a74NtOpenSymbolicLinkObject
4550x6f73cb0NtOpenThread
4560x7246a80NtOpenThreadToken
4570x7246a86NtOpenThreadTokenEx
4580x7246a8cNtOpenTimer
4590x7246a92NtOpenTransaction
4600x7246a98NtOpenTransactionManager
4610x7246a9eNtPlugPlayControl
4620x7246aa4NtPowerInformation
4630x7246aaaNtPrePrepareComplete
4640x7246ab0NtPrePrepareEnlistment
4650x7246ab6NtPrepareComplete
4660x7246abcNtPrepareEnlistment
4670x7246ac2NtPrivilegeCheck
4680x7246ac8NtPrivilegeObjectAuditAlarm
4690x7246aceNtPrivilegedServiceAuditAlarm
4700x7246ad4NtPropagationComplete
4710x7246adaNtPropagationFailed
4720x6f72ed0NtProtectVirtualMemory
4730x7246ae6NtPssCaptureVaSpaceBulk
4740x7246aecNtPulseEvent
4750x7246af2NtQueryAttributesFile
4760x7246af8NtQueryAuxiliaryCounterFrequency
4770x7246afeNtQueryBootEntryOrder
4780x7246b04NtQueryBootOptions
4790x7246b0aNtQueryDebugFilterState
4800x7246b10NtQueryDefaultLocale
4810x7246b16NtQueryDefaultUILanguage
4820x7246b1cNtQueryDirectoryFile
4830x7246b22NtQueryDirectoryFileEx
4840x7246b28NtQueryDirectoryObject
4850x7246b2eNtQueryDriverEntryOrder
4860x7246b34NtQueryEaFile
4870x7246b3aNtQueryEvent
4880x7246b40NtQueryFullAttributesFile
4890x7246b46NtQueryInformationAtom
4900x7246b4cNtQueryInformationByName
4910x7246b52NtQueryInformationEnlistment
4920x6f72ac0NtQueryInformationFile
4930x7246b5eNtQueryInformationJobObject
4940x7246b64NtQueryInformationPort
4950x6f72b40NtQueryInformationProcess
4960x7246b70NtQueryInformationResourceManager
4970x7246b76NtQueryInformationThread
4980x6f72be0NtQueryInformationToken
4990x7246b82NtQueryInformationTransaction
5000x7246b88NtQueryInformationTransactionManager
5010x7246b8eNtQueryInformationWorkerFactory
5020x7246b94NtQueryInstallUILanguage
5030x7246b9aNtQueryIntervalProfile
5040x7246ba0NtQueryIoCompletion
5050x7246ba6NtQueryKey
5060x7246bacNtQueryLicenseValue
5070x7246bb2NtQueryMultipleValueKey
5080x7246bb8NtQueryMutant
5090x7246bbeNtQueryObject
5100x7246bc4NtQueryOpenSubKeys
5110x7246bcaNtQueryOpenSubKeysEx
5120x7246bd0NtQueryPerformanceCounter
5130x7246bd6NtQueryPortInformationProcess
5140x7246bdcNtQueryQuotaInformationFile
5150x6f72ee0NtQuerySection
5160x7246be8NtQuerySecurityAttributesToken
5170x7246beeNtQuerySecurityObject
5180x7246bf4NtQuerySecurityPolicy
5190x7246bfaNtQuerySemaphore
5200x7246c00NtQuerySymbolicLinkObject
5210x7246c06NtQuerySystemEnvironmentValue
5220x7246c0cNtQuerySystemEnvironmentValueEx
5230x6f72d30NtQuerySystemInformation
5240x7246c18NtQuerySystemInformationEx
5250x7246c1eNtQuerySystemTime
5260x7246c24NtQueryTimer
5270x7246c2aNtQueryTimerResolution
5280x6f72b20NtQueryValueKey
5290x6f72c00NtQueryVirtualMemory
5300x7246c3cNtQueryVolumeInformationFile
5310x7246c42NtQueryWnfStateData
5320x7246c48NtQueryWnfStateNameInformation
5330x6f72e20NtQueueApcThread
5340x7246c54NtQueueApcThreadEx
5350x7246c5aNtRaiseException
5360x7246c60NtRaiseHardError
5370x6f72a10NtReadFile
5380x7246c6cNtReadFileScatter
5390x7246c72NtReadOnlyEnlistment
5400x7246c78NtReadRequestData
5410x6f72dc0NtReadVirtualMemory
5420x7246c84NtRecoverEnlistment
5430x7246c8aNtRecoverResourceManager
5440x7246c90NtRecoverTransactionManager
5450x7246c96NtRegisterProtocolAddressInformation
5460x7246c9cNtRegisterThreadTerminatePort
5470x7246ca2NtReleaseKeyedEvent
5480x7246ca8NtReleaseMutant
5490x7246caeNtReleaseSemaphore
5500x7246cb4NtReleaseWorkerFactoryWorker
5510x7246cbaNtRemoveIoCompletion
5520x7246cc0NtRemoveIoCompletionEx
5530x7246cc6NtRemoveProcessDebug
5540x7246cccNtRenameKey
5550x7246cd2NtRenameTransactionManager
5560x7246cd8NtReplaceKey
5570x7246cdeNtReplacePartitionUnit
5580x7246ce4NtReplyPort
5590x7246ceaNtReplyWaitReceivePort
5600x7246cf0NtReplyWaitReceivePortEx
5610x7246cf6NtReplyWaitReplyPort
5620x7246cfcNtRequestPort
5630x7246d02NtRequestWaitReplyPort
5640x7246d08NtResetEvent
5650x7246d0eNtResetWriteWatch
5660x7246d14NtRestoreKey
5670x7246d1aNtResumeProcess
5680x6f72ef0NtResumeThread
5690x7246d26NtRevertContainerImpersonation
5700x7246d2cNtRollbackComplete
5710x7246d32NtRollbackEnlistment
5720x7246d38NtRollbackRegistryTransaction
5730x7246d3eNtRollbackTransaction
5740x7246d44NtRollforwardTransactionManager
5750x7246d4aNtSaveKey
5760x7246d50NtSaveKeyEx
5770x7246d56NtSaveMergedKeys
5780x7246d5cNtSecureConnectPort
5790x7246d62NtSerializeBoot
5800x7246d68NtSetBootEntryOrder
5810x7246d6eNtSetBootOptions
5830x7246d7aNtSetCachedSigningLevel
5820x7246d74NtSetCachedSigningLevel2
5840x6f74280NtSetContextThread
5850x7246d86NtSetDebugFilterState
5860x7246d8cNtSetDefaultHardErrorPort
5870x7246d92NtSetDefaultLocale
5880x7246d98NtSetDefaultUILanguage
5890x7246d9eNtSetDriverEntryOrder
5900x7246da4NtSetEaFile
5910x7246daaNtSetEvent
5920x7246db0NtSetEventBoostPriority
5930x7246db6NtSetHighEventPair
5940x7246dbcNtSetHighWaitLowEventPair
5950x7246dc2NtSetIRTimer
5960x7246dc8NtSetInformationDebugObject
5970x7246dceNtSetInformationEnlistment
5980x6f72c40NtSetInformationFile
5990x7246ddaNtSetInformationJobObject
6000x7246de0NtSetInformationKey
6010x7246de6NtSetInformationObject
6020x7246decNtSetInformationProcess
6030x7246df2NtSetInformationResourceManager
6040x7246df8NtSetInformationSymbolicLink
6050x7246dfeNtSetInformationThread
6060x7246e04NtSetInformationToken
6070x7246e0aNtSetInformationTransaction
6080x7246e10NtSetInformationTransactionManager
6090x7246e16NtSetInformationVirtualMemory
6100x7246e1cNtSetInformationWorkerFactory
6110x7246e22NtSetIntervalProfile
6120x7246e28NtSetIoCompletion
6130x7246e2eNtSetIoCompletionEx
6140x7246e34NtSetLdtEntries
6150x7246e3aNtSetLowEventPair
6160x7246e40NtSetLowWaitHighEventPair
6170x7246e46NtSetQuotaInformationFile
6180x7246e4cNtSetSecurityObject
6190x7246e52NtSetSystemEnvironmentValue
6200x7246e58NtSetSystemEnvironmentValueEx
6210x7246e5eNtSetSystemInformation
6220x7246e64NtSetSystemPowerState
6230x7246e6aNtSetSystemTime
6240x7246e70NtSetThreadExecutionState
6260x7246e7cNtSetTimer
6250x7246e76NtSetTimer2
6270x7246e82NtSetTimerEx
6280x7246e88NtSetTimerResolution
6290x7246e8eNtSetUuidSeed
6300x6f72fd0NtSetValueKey
6310x7246e9aNtSetVolumeInformationFile
6320x7246ea0NtSetWnfProcessNotificationEvent
6330x7246ea6NtShutdownSystem
6340x7246eacNtShutdownWorkerFactory
6350x7246eb2NtSignalAndWaitForSingleObject
6360x7246eb8NtSinglePhaseReject
6370x7246ebeNtStartProfile
6380x7246ec4NtStopProfile
6390x7246ecaNtSubscribeWnfStateChange
6400x7246ed0NtSuspendProcess
6410x6f74590NtSuspendThread
6420x7246edcNtSystemDebugControl
6430x7246ee2NtTerminateEnclave
6440x7246ee8NtTerminateJobObject
6450x7246eeeNtTerminateProcess
6460x7246ef4NtTerminateThread
6470x7246efaNtTestAlert
6480x7246f00NtThawRegistry
6490x7246f06NtThawTransactions
6500x7246f0cNtTraceControl
6510x7246f12NtTraceEvent
6520x7246f18NtTranslateFilePath
6530x7246f1eNtUmsThreadYield
6540x7246f24NtUnloadDriver
6560x7246f30NtUnloadKey
6550x7246f2aNtUnloadKey2
6570x7246f36NtUnloadKeyEx
6580x7246f3cNtUnlockFile
6590x7246f42NtUnlockVirtualMemory
6600x6f72c70NtUnmapViewOfSection
6610x7246f4eNtUnmapViewOfSectionEx
6620x7246f54NtUnsubscribeWnfStateChange
6630x7246f5aNtUpdateWnfStateData
6640x7246f60NtVdmControl
6650x7246f66NtWaitForAlertByThreadId
6660x7246f6cNtWaitForDebugEvent
6670x7246f72NtWaitForKeyedEvent
6690x7246f7eNtWaitForMultipleObjects
6680x7246f78NtWaitForMultipleObjects32
6700x6f729f0NtWaitForSingleObject
6710x7246f8aNtWaitForWorkViaWorkerFactory
6720x7246f90NtWaitHighEventPair
6730x7246f96NtWaitLowEventPair
6740x7246f9cNtWorkerFactoryWorkerReady
6750x7246fa2NtWow64AllocateVirtualMemory64
6760x7246fa8NtWow64CallFunction64
6770x7246faeNtWow64CsrAllocateCaptureBuffer
6780x7246fb4NtWow64CsrAllocateMessagePointer
6790x7246fbaNtWow64CsrCaptureMessageBuffer
6800x7246fc0NtWow64CsrCaptureMessageString
6810x7246fc6NtWow64CsrClientCallServer
6820x7246fccNtWow64CsrClientConnectToServer
6830x7246fd2NtWow64CsrFreeCaptureBuffer
6840x7246fd8NtWow64CsrGetProcessId
6850x7246fdeNtWow64CsrIdentifyAlertableThread
6860x7246fe4NtWow64CsrVerifyRegion
6870x7246feaNtWow64DebuggerCall
6880x7246ff0NtWow64GetCurrentProcessorNumberEx
6890x7246ff6NtWow64GetNativeSystemInformation
6900x7246ffcNtWow64IsProcessorFeaturePresent
6910x7247002NtWow64QueryInformationProcess64
6920x7247008NtWow64ReadVirtualMemory64
6930x724700eNtWow64WriteVirtualMemory64
6940x6f72a30NtWriteFile
6950x724701aNtWriteFileGather
6960x7247020NtWriteRequestData
6970x6f72d70NtWriteVirtualMemory
6980x724702cNtYieldExecution
6990x7247032NtdllDefWindowProc_A
7000x7247038NtdllDefWindowProc_W
7010x724703eNtdllDialogWndProc_A
7020x7247044NtdllDialogWndProc_W
7030x724704aPfxFindPrefix
7040x7247050PfxInitialize
7050x7247056PfxInsertPrefix
7060x724705cPfxRemovePrefix
7070x7247062PssNtCaptureSnapshot
7080x7247068PssNtDuplicateSnapshot
7090x724706ePssNtFreeRemoteSnapshot
7100x7247074PssNtFreeSnapshot
7110x724707aPssNtFreeWalkMarker
7120x7247080PssNtQuerySnapshot
7130x7247086PssNtValidateDescriptor
7140x724708cPssNtWalkSnapshot
7150x7247092RtlAbortRXact
7160x7247098RtlAbsoluteToSelfRelativeSD
7170x724709eRtlAcquirePebLock
7180x72470a4RtlAcquirePrivilege
7190x72470aaRtlAcquireReleaseSRWLockExclusive
7200x72470b0RtlAcquireResourceExclusive
7210x72470b6RtlAcquireResourceShared
7220x72470bcRtlAcquireSRWLockExclusive
7230x72470c2RtlAcquireSRWLockShared
7240x72470c8RtlActivateActivationContext
7250x72470ceRtlActivateActivationContextEx
90x7246006RtlActivateActivationContextUnsafeFast
7260x72470d4RtlAddAccessAllowedAce
7270x72470daRtlAddAccessAllowedAceEx
7280x72470e0RtlAddAccessAllowedObjectAce
7290x72470e6RtlAddAccessDeniedAce
7300x72470ecRtlAddAccessDeniedAceEx
7310x72470f2RtlAddAccessDeniedObjectAce
7320x72470f8RtlAddAccessFilterAce
7330x72470feRtlAddAce
7340x7247104RtlAddActionToRXact
7350x724710aRtlAddAtomToAtomTable
7360x7247110RtlAddAttributeActionToRXact
7370x7247116RtlAddAuditAccessAce
7380x724711cRtlAddAuditAccessAceEx
7390x7247122RtlAddAuditAccessObjectAce
7400x7247128RtlAddCompoundAce
7410x724712eRtlAddIntegrityLabelToBoundaryDescriptor
7420x7247134RtlAddMandatoryAce
7430x724713aRtlAddProcessTrustLabelAce
7440x7247140RtlAddRefActivationContext
7450x7247146RtlAddRefMemoryStream
7460x724714cRtlAddResourceAttributeAce
7470x7247152RtlAddSIDToBoundaryDescriptor
7480x7247158RtlAddScopedPolicyIDAce
7490x724715eRtlAddVectoredContinueHandler
7500x7247164RtlAddVectoredExceptionHandler
7510x724716aRtlAddressInSectionTable
7520x7247170RtlAdjustPrivilege
7530x7247176RtlAllocateActivationContextStack
7540x724717cRtlAllocateAndInitializeSid
7550x7247182RtlAllocateAndInitializeSidEx
7560x7247188RtlAllocateHandle
7570x724718eRtlAllocateHeap
7580x7247194RtlAllocateMemoryBlockLookaside
7590x724719aRtlAllocateMemoryZone
7600x72471a0RtlAllocateWnfSerializationGroup
7610x72471a6RtlAnsiCharToUnicodeChar
7620x72471acRtlAnsiStringToUnicodeSize
7630x72471b2RtlAnsiStringToUnicodeString
7640x72471b8RtlAppendAsciizToString
7650x72471beRtlAppendPathElement
7660x72471c4RtlAppendStringToString
7670x72471caRtlAppendUnicodeStringToString
7680x72471d0RtlAppendUnicodeToString
7690x72471d6RtlApplicationVerifierStop
7700x72471dcRtlApplyRXact
7710x72471e2RtlApplyRXactNoFlush
7720x72471e8RtlAppxIsFileOwnedByTrustedInstaller
7730x72471eeRtlAreAllAccessesGranted
7740x72471f4RtlAreAnyAccessesGranted
7750x72471faRtlAreBitsClear
7760x7247200RtlAreBitsSet
7770x7247206RtlAreLongPathsEnabled
7780x724720cRtlAssert
7790x7247212RtlAvlInsertNodeEx
7800x7247218RtlAvlRemoveNode
7810x724721eRtlBarrier
7820x7247224RtlBarrierForDelete
7830x724722aRtlCancelTimer
7840x7247230RtlCanonicalizeDomainName
7850x7247236RtlCapabilityCheck
7860x724723cRtlCapabilityCheckForSingleSessionSku
7870x7247242RtlCaptureContext
7880x7247248RtlCaptureStackBackTrace
7890x724724eRtlCaptureStackContext
7900x7247254RtlCharToInteger
7910x724725aRtlCheckBootStatusIntegrity
7920x7247260RtlCheckForOrphanedCriticalSections
7930x7247266RtlCheckPortableOperatingSystem
7940x724726cRtlCheckRegistryKey
7950x7247272RtlCheckSandboxedToken
7960x7247278RtlCheckSystemBootStatusIntegrity
7970x724727eRtlCheckTokenCapability
7980x7247284RtlCheckTokenMembership
7990x724728aRtlCheckTokenMembershipEx
8000x7247290RtlCleanUpTEBLangLists
8010x7247296RtlClearAllBits
8020x724729cRtlClearBit
8030x72472a2RtlClearBits
8040x72472a8RtlClearThreadWorkOnBehalfTicket
8050x72472aeRtlCloneMemoryStream
8060x72472b4RtlCloneUserProcess
8070x72472baRtlCmDecodeMemIoResource
8080x72472c0RtlCmEncodeMemIoResource
8090x72472c6RtlCommitDebugInfo
8100x72472ccRtlCommitMemoryStream
8110x72472d2RtlCompactHeap
8120x72472d8RtlCompareAltitudes
8130x72472deRtlCompareMemory
8140x72472e4RtlCompareMemoryUlong
8150x72472eaRtlCompareString
8160x72472f0RtlCompareUnicodeString
8170x72472f6RtlCompareUnicodeStrings
8180x72472fcRtlCompressBuffer
8190x7247302RtlComputeCrc32
8200x7247308RtlComputeImportTableHash
8210x724730eRtlComputePrivatizedDllName_U
8220x7247314RtlConnectToSm
8230x724731aRtlConsoleMultiByteToUnicodeN
8240x7247320RtlConstructCrossVmEventPath
8250x7247326RtlConstructCrossVmMutexPath
8260x724732cRtlContractHashTable
8270x7247332RtlConvertDeviceFamilyInfoToString
8280x7247338RtlConvertExclusiveToShared
8290x724733eRtlConvertLCIDToString
8300x7247344RtlConvertLongToLargeInteger
8310x724734aRtlConvertSRWLockExclusiveToShared
8320x7247350RtlConvertSharedToExclusive
8330x7247356RtlConvertSidToUnicodeString
8340x724735cRtlConvertToAutoInheritSecurityObject
8350x7247362RtlConvertUlongToLargeInteger
8360x7247368RtlCopyBitMap
8370x724736eRtlCopyContext
8380x7247374RtlCopyExtendedContext
8390x724737aRtlCopyLuid
8400x7247380RtlCopyLuidAndAttributesArray
8410x7247386RtlCopyMappedMemory
8420x724738cRtlCopyMemoryStreamTo
8430x7247392RtlCopyOutOfProcessMemoryStreamTo
8440x7247398RtlCopySecurityDescriptor
8450x724739eRtlCopySid
8460x72473a4RtlCopySidAndAttributesArray
8470x72473aaRtlCopyString
8480x72473b0RtlCopyUnicodeString
8490x72473b6RtlCrc32
8500x72473bcRtlCrc64
8510x72473c2RtlCreateAcl
8520x72473c8RtlCreateActivationContext
8530x72473ceRtlCreateAndSetSD
8540x72473d4RtlCreateAtomTable
8550x72473daRtlCreateBootStatusDataFile
8560x72473e0RtlCreateBoundaryDescriptor
8570x72473e6RtlCreateEnvironment
8580x72473ecRtlCreateEnvironmentEx
8590x72473f2RtlCreateHashTable
8600x72473f8RtlCreateHashTableEx
8610x72473feRtlCreateHeap
8620x7247404RtlCreateMemoryBlockLookaside
8630x724740aRtlCreateMemoryZone
8640x7247410RtlCreateProcessParameters
8650x7247416RtlCreateProcessParametersEx
8660x724741cRtlCreateProcessParametersWithTemplate
8670x7247422RtlCreateProcessReflection
8680x7247428RtlCreateQueryDebugBuffer
8690x724742eRtlCreateRegistryKey
8700x7247434RtlCreateSecurityDescriptor
8710x724743aRtlCreateServiceSid
8720x7247440RtlCreateSystemVolumeInformationFolder
8730x7247446RtlCreateTagHeap
8740x724744cRtlCreateTimer
8750x7247452RtlCreateTimerQueue
8760x7247458RtlCreateUnicodeString
8770x724745eRtlCreateUnicodeStringFromAsciiz
8780x7247464RtlCreateUserProcess
8790x724746aRtlCreateUserProcessEx
8800x7247470RtlCreateUserSecurityObject
8810x7247476RtlCreateUserStack
8820x724747cRtlCreateUserThread
8830x7247482RtlCreateVirtualAccountSid
8840x7247488RtlCultureNameToLCID
8850x724748eRtlCustomCPToUnicodeN
8860x7247494RtlCutoverTimeToSystemTime
8870x724749aRtlDeCommitDebugInfo
8880x72474a0RtlDeNormalizeProcessParams
8890x72474a6RtlDeactivateActivationContext
100x724600cRtlDeactivateActivationContextUnsafeFast
8900x72474acRtlDebugPrintTimes
8910x72474b2RtlDecodePointer
8920x72474b8RtlDecodeRemotePointer
8930x72474beRtlDecodeSystemPointer
8940x72474c4RtlDecompressBuffer
8950x72474caRtlDecompressBufferEx
8960x72474d0RtlDecompressFragment
8970x72474d6RtlDefaultNpAcl
8980x72474dcRtlDelete
8990x72474e2RtlDeleteAce
9000x72474e8RtlDeleteAtomFromAtomTable
9010x72474eeRtlDeleteBarrier
9020x72474f4RtlDeleteBoundaryDescriptor
9030x72474faRtlDeleteCriticalSection
9040x7247500RtlDeleteElementGenericTable
9050x7247506RtlDeleteElementGenericTableAvl
9060x724750cRtlDeleteElementGenericTableAvlEx
9070x7247512RtlDeleteHashTable
9080x7247518RtlDeleteNoSplay
9090x724751eRtlDeleteRegistryValue
9100x7247524RtlDeleteResource
9110x724752aRtlDeleteSecurityObject
9120x7247530RtlDeleteTimer
9130x7247536RtlDeleteTimerQueue
9140x724753cRtlDeleteTimerQueueEx
9150x7247542RtlDeregisterSecureMemoryCacheCallback
9160x7247548RtlDeregisterWait
9170x724754eRtlDeregisterWaitEx
9180x7247554RtlDeriveCapabilitySidsFromName
9190x724755aRtlDestroyAtomTable
9200x7247560RtlDestroyEnvironment
9210x7247566RtlDestroyHandleTable
9220x724756cRtlDestroyHeap
9230x7247572RtlDestroyMemoryBlockLookaside
9240x7247578RtlDestroyMemoryZone
9250x724757eRtlDestroyProcessParameters
9260x7247584RtlDestroyQueryDebugBuffer
9270x724758aRtlDetectHeapLeaks
9280x7247590RtlDetermineDosPathNameType_U
9290x7247596RtlDisableThreadProfiling
9300x724759cRtlDisownModuleHeapAllocation
80x7246000RtlDispatchAPC
9310x72475a2RtlDllShutdownInProgress
9320x72475a8RtlDnsHostNameToComputerName
9330x72475aeRtlDoesFileExists_U
9340x72475b4RtlDoesNameContainWildCards
9350x72475baRtlDosApplyFileIsolationRedirection_Ustr
9360x72475c0RtlDosLongPathNameToNtPathName_U_WithStatus
9370x72475c6RtlDosLongPathNameToRelativeNtPathName_U_WithStatus
9380x72475ccRtlDosPathNameToNtPathName_U
9390x72475d2RtlDosPathNameToNtPathName_U_WithStatus
9400x72475d8RtlDosPathNameToRelativeNtPathName_U
9410x72475deRtlDosPathNameToRelativeNtPathName_U_WithStatus
9420x72475e4RtlDosSearchPath_U
9430x72475eaRtlDosSearchPath_Ustr
9440x72475f0RtlDowncaseUnicodeChar
9450x72475f6RtlDowncaseUnicodeString
9460x72475fcRtlDumpResource
9470x7247602RtlDuplicateUnicodeString
9480x7247608RtlEmptyAtomTable
9490x724760eRtlEnableEarlyCriticalSectionEventCreation
9500x7247614RtlEnableThreadProfiling
9510x724761aRtlEncodePointer
9520x7247620RtlEncodeRemotePointer
9530x7247626RtlEncodeSystemPointer
9540x724762cRtlEndEnumerationHashTable
9550x7247632RtlEndStrongEnumerationHashTable
9560x7247638RtlEndWeakEnumerationHashTable
9570x724763eRtlEnlargedIntegerMultiply
9580x7247644RtlEnlargedUnsignedMultiply
9590x724764aRtlEnterCriticalSection
9600x7247650RtlEnumProcessHeaps
9610x7247656RtlEnumerateEntryHashTable
9620x724765cRtlEnumerateGenericTable
9630x7247662RtlEnumerateGenericTableAvl
9640x7247668RtlEnumerateGenericTableLikeADirectory
9650x724766eRtlEnumerateGenericTableWithoutSplaying
9660x7247674RtlEnumerateGenericTableWithoutSplayingAvl
9670x724767aRtlEqualComputerName
9680x7247680RtlEqualDomainName
9690x7247686RtlEqualLuid
9700x724768cRtlEqualPrefixSid
9710x7247692RtlEqualSid
9720x7247698RtlEqualString
9730x724769eRtlEqualUnicodeString
9740x72476a4RtlEqualWnfChangeStamps
9750x72476aaRtlEraseUnicodeString
9760x72476b0RtlEthernetAddressToStringA
9770x72476b6RtlEthernetAddressToStringW
9780x72476bcRtlEthernetStringToAddressA
9790x72476c2RtlEthernetStringToAddressW
9800x72476c8RtlExitUserProcess
9810x72476ceRtlExitUserThread
9820x72476d4RtlExpandEnvironmentStrings
9830x72476daRtlExpandEnvironmentStrings_U
9840x72476e0RtlExpandHashTable
9850x72476e6RtlExtendCorrelationVector
9860x72476ecRtlExtendMemoryBlockLookaside
9870x72476f2RtlExtendMemoryZone
9880x72476f8RtlExtendedIntegerMultiply
9890x72476feRtlExtendedLargeIntegerDivide
9900x7247704RtlExtendedMagicDivide
9910x724770aRtlExtractBitMap
9920x7247710RtlFillMemory
9930x7247716RtlFillMemoryUlong
9940x724771cRtlFillMemoryUlonglong
9950x7247722RtlFinalReleaseOutOfProcessMemoryStream
9960x7247728RtlFindAceByType
9970x724772eRtlFindActivationContextSectionGuid
9980x7247734RtlFindActivationContextSectionString
9990x724773aRtlFindCharInUnicodeString
10000x7247740RtlFindClearBits
10010x7247746RtlFindClearBitsAndSet
10020x724774cRtlFindClearRuns
10030x7247752RtlFindClosestEncodableLength
10040x7247758RtlFindExportedRoutineByName
10050x724775eRtlFindLastBackwardRunClear
10060x7247764RtlFindLeastSignificantBit
10070x724776aRtlFindLongestRunClear
10080x7247770RtlFindMessage
10090x7247776RtlFindMostSignificantBit
10100x724777cRtlFindNextForwardRunClear
10110x7247782RtlFindSetBits
10120x7247788RtlFindSetBitsAndClear
10130x724778eRtlFindUnicodeSubstring
10140x7247794RtlFirstEntrySList
10150x724779aRtlFirstFreeAce
10160x72477a0RtlFlsAlloc
10170x72477a6RtlFlsFree
10180x72477acRtlFlsGetValue
10190x72477b2RtlFlsSetValue
10200x72477b8RtlFlushHeaps
10210x72477beRtlFlushSecureMemoryCache
10220x72477c4RtlFormatCurrentUserKeyPath
10230x72477caRtlFormatMessage
10240x72477d0RtlFormatMessageEx
10250x72477d6RtlFreeActivationContextStack
10260x72477dcRtlFreeAnsiString
10270x72477e2RtlFreeHandle
10280x72477e8RtlFreeHeap
10290x72477eeRtlFreeMemoryBlockLookaside
10300x72477f4RtlFreeOemString
10310x72477faRtlFreeSid
10320x7247800RtlFreeThreadActivationContextStack
10330x7247806RtlFreeUTF8String
10340x724780cRtlFreeUnicodeString
10350x7247812RtlFreeUserStack
10360x7247818RtlGUIDFromString
10370x724781eRtlGenerate8dot3Name
10380x7247824RtlGetAce
10390x724782aRtlGetActiveActivationContext
10400x7247830RtlGetActiveConsoleId
10410x7247836RtlGetAppContainerNamedObjectPath
10420x724783cRtlGetAppContainerParent
10430x7247842RtlGetAppContainerSidType
10440x7247848RtlGetCallersAddress
10450x724784eRtlGetCompressionWorkSpaceSize
10460x7247854RtlGetConsoleSessionForegroundProcessId
10470x724785aRtlGetControlSecurityDescriptor
10480x7247860RtlGetCriticalSectionRecursionCount
10490x7247866RtlGetCurrentDirectory_U
10500x724786cRtlGetCurrentPeb
10510x7247872RtlGetCurrentProcessorNumber
10520x7247878RtlGetCurrentProcessorNumberEx
10530x724787eRtlGetCurrentServiceSessionId
10540x7247884RtlGetCurrentTransaction
10550x724788aRtlGetDaclSecurityDescriptor
10560x7247890RtlGetDeviceFamilyInfoEnum
10570x7247896RtlGetElementGenericTable
10580x724789cRtlGetElementGenericTableAvl
10590x72478a2RtlGetEnabledExtendedFeatures
10600x72478a8RtlGetExePath
10620x72478b4RtlGetExtendedContextLength
10610x72478aeRtlGetExtendedContextLength2
10630x72478baRtlGetExtendedFeaturesMask
10640x72478c0RtlGetFileMUIPath
10650x72478c6RtlGetFrame
10660x72478ccRtlGetFullPathName_U
10670x72478d2RtlGetFullPathName_UEx
10680x72478d8RtlGetFullPathName_UstrEx
10690x72478deRtlGetGroupSecurityDescriptor
10700x72478e4RtlGetIntegerAtom
10710x72478eaRtlGetInterruptTimePrecise
10720x72478f0RtlGetLastNtStatus
10730x72478f6RtlGetLastWin32Error
10740x72478fcRtlGetLengthWithoutLastFullDosOrNtPathElement
10750x7247902RtlGetLengthWithoutTrailingPathSeperators
10760x7247908RtlGetLocaleFileMappingAddress
10770x724790eRtlGetLongestNtPathLength
10780x7247914RtlGetMultiTimePrecise
10790x724791aRtlGetNativeSystemInformation
10800x7247920RtlGetNextEntryHashTable
10810x7247926RtlGetNtGlobalFlags
10820x724792cRtlGetNtProductType
10830x7247932RtlGetNtSystemRoot
10840x7247938RtlGetNtVersionNumbers
10850x724793eRtlGetOwnerSecurityDescriptor
10860x7247944RtlGetParentLocaleName
10870x724794aRtlGetPersistedStateLocation
10880x7247950RtlGetProcessHeaps
10890x7247956RtlGetProcessPreferredUILanguages
10900x724795cRtlGetProductInfo
10910x7247962RtlGetReturnAddressHijackTarget
10920x7247968RtlGetSaclSecurityDescriptor
10930x724796eRtlGetSearchPath
10940x7247974RtlGetSecurityDescriptorRMControl
10950x724797aRtlGetSessionProperties
10960x7247980RtlGetSetBootStatusData
10970x7247986RtlGetSuiteMask
10980x724798cRtlGetSystemBootStatus
10990x7247992RtlGetSystemBootStatusEx
11000x7247998RtlGetSystemPreferredUILanguages
11010x724799eRtlGetSystemTimeAndBias
11020x72479a4RtlGetSystemTimePrecise
11030x72479aaRtlGetThreadErrorMode
11040x72479b0RtlGetThreadLangIdByIndex
11050x72479b6RtlGetThreadPreferredUILanguages
11060x72479bcRtlGetThreadWorkOnBehalfTicket
11070x72479c2RtlGetTokenNamedObjectPath
11080x72479c8RtlGetUILanguageInfo
11090x72479ceRtlGetUnloadEventTrace
11100x72479d4RtlGetUnloadEventTraceEx
11110x72479daRtlGetUserInfoHeap
11120x72479e0RtlGetUserPreferredUILanguages
11130x72479e6RtlGetVersion
11140x72479ecRtlGuardCheckLongJumpTarget
11150x72479f2RtlHashUnicodeString
11160x72479f8RtlHeapTrkInitialize
11170x72479feRtlIdentifierAuthoritySid
11180x7247a04RtlIdnToAscii
11190x7247a0aRtlIdnToNameprepUnicode
11200x7247a10RtlIdnToUnicode
11210x7247a16RtlImageDirectoryEntryToData
11220x7247a1cRtlImageNtHeader
11230x7247a22RtlImageNtHeaderEx
11240x7247a28RtlImageRvaToSection
11250x7247a2eRtlImageRvaToVa
11260x7247a34RtlImpersonateSelf
11270x7247a3aRtlImpersonateSelfEx
11280x7247a40RtlIncrementCorrelationVector
11290x7247a46RtlInitAnsiString
11300x7247a4cRtlInitAnsiStringEx
11310x7247a52RtlInitBarrier
11320x7247a58RtlInitCodePageTable
11330x7247a5eRtlInitEnumerationHashTable
11340x7247a64RtlInitMemoryStream
11350x7247a6aRtlInitNlsTables
11360x7247a70RtlInitOutOfProcessMemoryStream
11370x7247a76RtlInitString
11380x7247a7cRtlInitStringEx
11390x7247a82RtlInitStrongEnumerationHashTable
11400x7247a88RtlInitUTF8String
11410x7247a8eRtlInitUTF8StringEx
11420x7247a94RtlInitUnicodeString
11430x7247a9aRtlInitUnicodeStringEx
11440x7247aa0RtlInitWeakEnumerationHashTable
11450x7247aa6RtlInitializeAtomPackage
11460x7247aacRtlInitializeBitMap
11470x7247ab2RtlInitializeConditionVariable
11480x7247ab8RtlInitializeContext
11490x7247abeRtlInitializeCorrelationVector
11500x7247ac4RtlInitializeCriticalSection
11510x7247acaRtlInitializeCriticalSectionAndSpinCount
11520x7247ad0RtlInitializeCriticalSectionEx
11530x7247ad6RtlInitializeExceptionChain
11550x7247ae2RtlInitializeExtendedContext
11540x7247adcRtlInitializeExtendedContext2
11560x7247ae8RtlInitializeGenericTable
11570x7247aeeRtlInitializeGenericTableAvl
11580x7247af4RtlInitializeHandleTable
11590x7247afaRtlInitializeNtUserPfn
11600x7247b00RtlInitializeRXact
11610x7247b06RtlInitializeResource
11620x7247b0cRtlInitializeSListHead
11630x7247b12RtlInitializeSRWLock
11640x7247b18RtlInitializeSid
11650x7247b1eRtlInitializeSidEx
11660x7247b24RtlInsertElementGenericTable
11670x7247b2aRtlInsertElementGenericTableAvl
11680x7247b30RtlInsertElementGenericTableFull
11690x7247b36RtlInsertElementGenericTableFullAvl
11700x7247b3cRtlInsertEntryHashTable
11710x7247b42RtlInt64ToUnicodeString
11720x7247b48RtlIntegerToChar
11730x7247b4eRtlIntegerToUnicodeString
11740x7247b54RtlInterlockedClearBitRun
11750x7247b5aRtlInterlockedCompareExchange64
11760x7247b60RtlInterlockedFlushSList
11770x7247b66RtlInterlockedPopEntrySList
11780x7247b6cRtlInterlockedPushEntrySList
110x7246012RtlInterlockedPushListSList
11790x7247b72RtlInterlockedPushListSListEx
11800x7247b78RtlInterlockedSetBitRun
11810x7247b7eRtlIoDecodeMemIoResource
11820x7247b84RtlIoEncodeMemIoResource
11830x7247b8aRtlIpv4AddressToStringA
11840x7247b90RtlIpv4AddressToStringExA
11850x7247b96RtlIpv4AddressToStringExW
11860x7247b9cRtlIpv4AddressToStringW
11870x7247ba2RtlIpv4StringToAddressA
11880x7247ba8RtlIpv4StringToAddressExA
11890x7247baeRtlIpv4StringToAddressExW
11900x7247bb4RtlIpv4StringToAddressW
11910x7247bbaRtlIpv6AddressToStringA
11920x7247bc0RtlIpv6AddressToStringExA
11930x7247bc6RtlIpv6AddressToStringExW
11940x7247bccRtlIpv6AddressToStringW
11950x7247bd2RtlIpv6StringToAddressA
11960x7247bd8RtlIpv6StringToAddressExA
11970x7247bdeRtlIpv6StringToAddressExW
11980x7247be4RtlIpv6StringToAddressW
11990x7247beaRtlIsActivationContextActive
12000x7247bf0RtlIsCapabilitySid
12010x7247bf6RtlIsCloudFilesPlaceholder
12020x7247bfcRtlIsCriticalSectionLocked
12030x7247c02RtlIsCriticalSectionLockedByThread
12040x7247c08RtlIsCurrentProcess
12050x7247c0eRtlIsCurrentThread
12060x7247c14RtlIsCurrentThreadAttachExempt
12070x7247c1aRtlIsDosDeviceName_U
12080x7247c20RtlIsElevatedRid
12090x7247c26RtlIsGenericTableEmpty
12100x7247c2cRtlIsGenericTableEmptyAvl
12110x7247c32RtlIsMultiSessionSku
12120x7247c38RtlIsMultiUsersInSessionSku
12130x7247c3eRtlIsNameInExpression
12140x7247c44RtlIsNameInUnUpcasedExpression
12150x7247c4aRtlIsNameLegalDOS8Dot3
12160x7247c50RtlIsNonEmptyDirectoryReparsePointAllowed
12170x7247c56RtlIsNormalizedString
12180x7247c5cRtlIsPackageSid
12190x7247c62RtlIsParentOfChildAppContainer
12200x7247c68RtlIsPartialPlaceholder
12210x7247c6eRtlIsPartialPlaceholderFileHandle
12220x7247c74RtlIsPartialPlaceholderFileInfo
12230x7247c7aRtlIsProcessorFeaturePresent
12240x7247c80RtlIsStateSeparationEnabled
12250x7247c86RtlIsTextUnicode
12260x7247c8cRtlIsThreadWithinLoaderCallout
12270x7247c92RtlIsUntrustedObject
12280x7247c98RtlIsValidHandle
12290x7247c9eRtlIsValidIndexHandle
12300x7247ca4RtlIsValidLocaleName
12310x7247caaRtlIsValidProcessTrustLabelSid
12320x7247cb0RtlIsZeroMemory
12330x7247cb6RtlKnownExceptionFilter
12340x7247cbcRtlLCIDToCultureName
12350x7247cc2RtlLargeIntegerAdd
12360x7247cc8RtlLargeIntegerArithmeticShift
12370x7247cceRtlLargeIntegerDivide
12380x7247cd4RtlLargeIntegerNegate
12390x7247cdaRtlLargeIntegerShiftLeft
12400x7247ce0RtlLargeIntegerShiftRight
12410x7247ce6RtlLargeIntegerSubtract
12420x7247cecRtlLargeIntegerToChar
12430x7247cf2RtlLcidToLocaleName
12440x7247cf8RtlLeaveCriticalSection
12450x7247cfeRtlLengthRequiredSid
12460x7247d04RtlLengthSecurityDescriptor
12470x7247d0aRtlLengthSid
12480x7247d10RtlLengthSidAsUnicodeString
12490x7247d16RtlLoadString
12500x7247d1cRtlLocalTimeToSystemTime
12510x7247d22RtlLocaleNameToLcid
12530x7247d2eRtlLocateExtendedFeature
12520x7247d28RtlLocateExtendedFeature2
12540x7247d34RtlLocateLegacyContext
12550x7247d3aRtlLockBootStatusData
12560x7247d40RtlLockCurrentThread
12570x7247d46RtlLockHeap
12580x7247d4cRtlLockMemoryBlockLookaside
12590x7247d52RtlLockMemoryStreamRegion
12600x7247d58RtlLockMemoryZone
12610x7247d5eRtlLockModuleSection
12620x7247d64RtlLogStackBackTrace
12630x7247d6aRtlLookupAtomInAtomTable
12640x7247d70RtlLookupElementGenericTable
12650x7247d76RtlLookupElementGenericTableAvl
12660x7247d7cRtlLookupElementGenericTableFull
12670x7247d82RtlLookupElementGenericTableFullAvl
12680x7247d88RtlLookupEntryHashTable
12690x7247d8eRtlLookupFirstMatchingElementGenericTableAvl
12700x7247d94RtlMakeSelfRelativeSD
12710x7247d9aRtlMapGenericMask
12720x7247da0RtlMapSecurityErrorToNtStatus
12730x7247da6RtlMoveMemory
12740x7247dacRtlMultiAppendUnicodeStringBuffer
12750x7247db2RtlMultiByteToUnicodeN
12760x7247db8RtlMultiByteToUnicodeSize
12770x7247dbeRtlMultipleAllocateHeap
12780x7247dc4RtlMultipleFreeHeap
12790x7247dcaRtlNewInstanceSecurityObject
12800x7247dd0RtlNewSecurityGrantedAccess
12810x7247dd6RtlNewSecurityObject
12820x7247ddcRtlNewSecurityObjectEx
12830x7247de2RtlNewSecurityObjectWithMultipleInheritance
12840x7247de8RtlNormalizeProcessParams
12850x7247deeRtlNormalizeSecurityDescriptor
12860x7247df4RtlNormalizeString
12870x7247dfaRtlNotifyFeatureUsage
12880x7247e00RtlNtPathNameToDosPathName
12890x7247e06RtlNtStatusToDosError
12900x7247e0cRtlNtStatusToDosErrorNoTeb
12910x7247e12RtlNumberGenericTableElements
12920x7247e18RtlNumberGenericTableElementsAvl
12930x7247e1eRtlNumberOfClearBits
12940x7247e24RtlNumberOfClearBitsInRange
12950x7247e2aRtlNumberOfSetBits
12960x7247e30RtlNumberOfSetBitsInRange
12970x7247e36RtlNumberOfSetBitsUlongPtr
12980x7247e3cRtlOemStringToUnicodeSize
12990x7247e42RtlOemStringToUnicodeString
13000x7247e48RtlOemToUnicodeN
13010x7247e4eRtlOpenCurrentUser
13020x7247e54RtlOsDeploymentState
13030x7247e5aRtlOwnerAcesPresent
13040x7247e60RtlPcToFileHeader
13050x7247e66RtlPinAtomInAtomTable
13060x7247e6cRtlPopFrame
13070x7247e72RtlPrefixString
13080x7247e78RtlPrefixUnicodeString
13090x7247e7eRtlProcessFlsData
13100x7247e84RtlProtectHeap
13110x7247e8aRtlPublishWnfStateData
13120x7247e90RtlPushFrame
13130x7247e96RtlQueryActivationContextApplicationSettings
13140x7247e9cRtlQueryAllFeatureConfigurations
13150x7247ea2RtlQueryAtomInAtomTable
13160x7247ea8RtlQueryCriticalSectionOwner
13170x7247eaeRtlQueryDepthSList
13180x7247eb4RtlQueryDynamicTimeZoneInformation
13190x7247ebaRtlQueryElevationFlags
13200x7247ec0RtlQueryEnvironmentVariable
13210x7247ec6RtlQueryEnvironmentVariable_U
13220x7247eccRtlQueryFeatureConfiguration
13230x7247ed2RtlQueryFeatureConfigurationChangeStamp
13240x7247ed8RtlQueryFeatureUsageNotificationSubscriptions
13250x7247edeRtlQueryHeapInformation
13260x7247ee4RtlQueryImageMitigationPolicy
13270x7247eeaRtlQueryInformationAcl
13280x7247ef0RtlQueryInformationActivationContext
13290x7247ef6RtlQueryInformationActiveActivationContext
13300x7247efcRtlQueryInterfaceMemoryStream
13310x7247f02RtlQueryModuleInformation
13320x7247f08RtlQueryPackageClaims
13330x7247f0eRtlQueryPackageIdentity
13340x7247f14RtlQueryPackageIdentityEx
13350x7247f1aRtlQueryPerformanceCounter
13360x7247f20RtlQueryPerformanceFrequency
13370x7247f26RtlQueryProcessBackTraceInformation
13380x7247f2cRtlQueryProcessDebugInformation
13390x7247f32RtlQueryProcessHeapInformation
13400x7247f38RtlQueryProcessLockInformation
13410x7247f3eRtlQueryProcessPlaceholderCompatibilityMode
13420x7247f44RtlQueryProtectedPolicy
13430x7247f4aRtlQueryRegistryValueWithFallback
13440x7247f50RtlQueryRegistryValues
13450x7247f56RtlQueryRegistryValuesEx
13460x7247f5cRtlQueryResourcePolicy
13470x7247f62RtlQuerySecurityObject
13480x7247f68RtlQueryTagHeap
13490x7247f6eRtlQueryThreadPlaceholderCompatibilityMode
13500x7247f74RtlQueryThreadProfiling
13510x7247f7aRtlQueryTimeZoneInformation
13520x7247f80RtlQueryTokenHostIdAsUlong64
13530x7247f86RtlQueryUnbiasedInterruptTime
13540x7247f8cRtlQueryValidationRunlevel
13550x7247f92RtlQueryWnfMetaNotification
13560x7247f98RtlQueryWnfStateData
13570x7247f9eRtlQueryWnfStateDataWithExplicitScope
13580x7247fa4RtlQueueApcWow64Thread
13590x7247faaRtlQueueWorkItem
13600x7247fb0RtlRaiseCustomSystemEventTrigger
13610x7247fb6RtlRaiseException
13620x7247fbcRtlRaiseStatus
13630x7247fc2RtlRandom
13640x7247fc8RtlRandomEx
13650x7247fceRtlRbInsertNodeEx
13660x7247fd4RtlRbRemoveNode
13670x7247fdaRtlReAllocateHeap
13680x7247fe0RtlReadMemoryStream
13690x7247fe6RtlReadOutOfProcessMemoryStream
13700x7247fecRtlReadThreadProfilingData
13710x7247ff2RtlRealPredecessor
13720x7247ff8RtlRealSuccessor
13730x7247ffeRtlRegisterFeatureConfigurationChangeNotification
13740x7248004RtlRegisterForWnfMetaNotification
13750x724800aRtlRegisterSecureMemoryCacheCallback
13760x7248010RtlRegisterThreadWithCsrss
13770x7248016RtlRegisterWait
13780x724801cRtlReleaseActivationContext
13790x7248022RtlReleaseMemoryStream
13800x7248028RtlReleasePath
13810x724802eRtlReleasePebLock
13820x7248034RtlReleasePrivilege
13830x724803aRtlReleaseRelativeName
13840x7248040RtlReleaseResource
13850x7248046RtlReleaseSRWLockExclusive
13860x724804cRtlReleaseSRWLockShared
13870x7248052RtlRemoteCall
13880x7248058RtlRemoveEntryHashTable
13890x724805eRtlRemovePrivileges
13900x7248064RtlRemoveVectoredContinueHandler
13910x724806aRtlRemoveVectoredExceptionHandler
13920x7248070RtlReplaceSidInSd
13930x7248076RtlReplaceSystemDirectoryInPath
13940x724807cRtlReportException
13950x7248082RtlReportExceptionEx
13960x7248088RtlReportSilentProcessExit
13970x724808eRtlReportSqmEscalation
13980x7248094RtlResetMemoryBlockLookaside
13990x724809aRtlResetMemoryZone
14000x72480a0RtlResetNtUserPfn
14010x72480a6RtlResetRtlTranslations
14020x72480acRtlRestoreBootStatusDefaults
14030x72480b2RtlRestoreLastWin32Error
14040x72480b8RtlRestoreSystemBootStatusDefaults
14050x72480beRtlRestoreThreadPreferredUILanguages
14060x72480c4RtlRetrieveNtUserPfn
14070x72480caRtlRevertMemoryStream
14080x72480d0RtlRunDecodeUnicodeString
14090x72480d6RtlRunEncodeUnicodeString
14100x72480dcRtlRunOnceBeginInitialize
14110x72480e2RtlRunOnceComplete
14120x72480e8RtlRunOnceExecuteOnce
14130x72480eeRtlRunOnceInitialize
14140x72480f4RtlSecondsSince1970ToTime
14150x72480faRtlSecondsSince1980ToTime
14160x7248100RtlSeekMemoryStream
14180x724810cRtlSelfRelativeToAbsoluteSD
14170x7248106RtlSelfRelativeToAbsoluteSD2
14190x7248112RtlSendMsgToSm
14200x7248118RtlSetAllBits
14210x724811eRtlSetAttributesSecurityDescriptor
14220x7248124RtlSetBit
14230x724812aRtlSetBits
14240x7248130RtlSetControlSecurityDescriptor
14250x7248136RtlSetCriticalSectionSpinCount
14260x724813cRtlSetCurrentDirectory_U
14270x7248142RtlSetCurrentEnvironment
14280x7248148RtlSetCurrentTransaction
14290x724814eRtlSetDaclSecurityDescriptor
14300x7248154RtlSetDynamicTimeZoneInformation
14310x724815aRtlSetEnvironmentStrings
14320x7248160RtlSetEnvironmentVar
14330x7248166RtlSetEnvironmentVariable
14340x724816cRtlSetExtendedFeaturesMask
14350x7248172RtlSetFeatureConfigurations
14360x7248178RtlSetGroupSecurityDescriptor
14370x724817eRtlSetHeapInformation
14380x7248184RtlSetImageMitigationPolicy
14390x724818aRtlSetInformationAcl
14400x7248190RtlSetIoCompletionCallback
14410x7248196RtlSetLastWin32Error
14420x724819cRtlSetLastWin32ErrorAndNtStatusFromNtStatus
14430x72481a2RtlSetMemoryStreamSize
14440x72481a8RtlSetOwnerSecurityDescriptor
14450x72481aeRtlSetPortableOperatingSystem
14460x72481b4RtlSetProcessDebugInformation
14470x72481baRtlSetProcessIsCritical
14480x72481c0RtlSetProcessPlaceholderCompatibilityMode
14490x72481c6RtlSetProcessPreferredUILanguages
14500x72481ccRtlSetProtectedPolicy
14510x72481d2RtlSetProxiedProcessId
14520x72481d8RtlSetSaclSecurityDescriptor
14530x72481deRtlSetSearchPathMode
14540x72481e4RtlSetSecurityDescriptorRMControl
14550x72481eaRtlSetSecurityObject
14560x72481f0RtlSetSecurityObjectEx
14570x72481f6RtlSetSystemBootStatus
14580x72481fcRtlSetSystemBootStatusEx
14590x7248202RtlSetThreadErrorMode
14600x7248208RtlSetThreadIsCritical
14610x724820eRtlSetThreadPlaceholderCompatibilityMode
14620x7248214RtlSetThreadPoolStartFunc
14640x7248220RtlSetThreadPreferredUILanguages
14630x724821aRtlSetThreadPreferredUILanguages2
14650x7248226RtlSetThreadSubProcessTag
14660x724822cRtlSetThreadWorkOnBehalfTicket
14670x7248232RtlSetTimeZoneInformation
14680x7248238RtlSetTimer
14690x724823eRtlSetUnhandledExceptionFilter
14700x7248244RtlSetUserCallbackExceptionFilter
14710x724824aRtlSetUserFlagsHeap
14720x7248250RtlSetUserValueHeap
14730x7248256RtlSidDominates
14740x724825cRtlSidDominatesForTrust
14750x7248262RtlSidEqualLevel
14760x7248268RtlSidHashInitialize
14770x724826eRtlSidHashLookup
14780x7248274RtlSidIsHigherLevel
14790x724827aRtlSizeHeap
14800x7248280RtlSleepConditionVariableCS
14810x7248286RtlSleepConditionVariableSRW
14820x724828cRtlSplay
14830x7248292RtlStartRXact
14840x7248298RtlStatMemoryStream
14850x724829eRtlStringFromGUID
14860x72482a4RtlStringFromGUIDEx
14870x72482aaRtlStronglyEnumerateEntryHashTable
14880x72482b0RtlSubAuthorityCountSid
14890x72482b6RtlSubAuthoritySid
14900x72482bcRtlSubscribeForFeatureUsageNotification
14910x72482c2RtlSubscribeWnfStateChangeNotification
14920x72482c8RtlSubtreePredecessor
14930x72482ceRtlSubtreeSuccessor
14940x72482d4RtlSwitchedVVI
14950x72482daRtlSystemTimeToLocalTime
14960x72482e0RtlTestAndPublishWnfStateData
14970x72482e6RtlTestBit
14980x72482ecRtlTestProtectedAccess
14990x72482f2RtlTimeFieldsToTime
15000x72482f8RtlTimeToElapsedTimeFields
15010x72482feRtlTimeToSecondsSince1970
15020x7248304RtlTimeToSecondsSince1980
15030x724830aRtlTimeToTimeFields
15040x7248310RtlTraceDatabaseAdd
15050x7248316RtlTraceDatabaseCreate
15060x724831cRtlTraceDatabaseDestroy
15070x7248322RtlTraceDatabaseEnumerate
15080x7248328RtlTraceDatabaseFind
15090x724832eRtlTraceDatabaseLock
15100x7248334RtlTraceDatabaseUnlock
15110x724833aRtlTraceDatabaseValidate
15120x7248340RtlTryAcquirePebLock
15130x7248346RtlTryAcquireSRWLockExclusive
15140x724834cRtlTryAcquireSRWLockShared
15150x7248352RtlTryConvertSRWLockSharedToExclusiveOrRelease
15160x7248358RtlTryEnterCriticalSection
15170x724835eRtlUTF8StringToUnicodeString
15180x7248364RtlUTF8ToUnicodeN
15190x724836aRtlUdiv128
120x7246018RtlUlongByteSwap
130x724601eRtlUlonglongByteSwap
15210x7248376RtlUnhandledExceptionFilter
15200x7248370RtlUnhandledExceptionFilter2
15220x724837cRtlUnicodeStringToAnsiSize
15230x7248382RtlUnicodeStringToAnsiString
15240x7248388RtlUnicodeStringToCountedOemString
15250x724838eRtlUnicodeStringToInteger
15260x7248394RtlUnicodeStringToOemSize
15270x724839aRtlUnicodeStringToOemString
15280x72483a0RtlUnicodeStringToUTF8String
15290x72483a6RtlUnicodeToCustomCPN
15300x72483acRtlUnicodeToMultiByteN
15310x72483b2RtlUnicodeToMultiByteSize
15320x72483b8RtlUnicodeToOemN
15330x72483beRtlUnicodeToUTF8N
15340x72483c4RtlUniform
15350x72483caRtlUnlockBootStatusData
15360x72483d0RtlUnlockCurrentThread
15370x72483d6RtlUnlockHeap
15380x72483dcRtlUnlockMemoryBlockLookaside
15390x72483e2RtlUnlockMemoryStreamRegion
15400x72483e8RtlUnlockMemoryZone
15410x72483eeRtlUnlockModuleSection
15420x72483f4RtlUnregisterFeatureConfigurationChangeNotification
15430x72483faRtlUnsubscribeFromFeatureUsageNotifications
15440x7248400RtlUnsubscribeWnfNotificationWaitForCompletion
15450x7248406RtlUnsubscribeWnfNotificationWithCompletionCallback
15460x724840cRtlUnsubscribeWnfStateChangeNotification
15470x7248412RtlUnwind
15480x7248418RtlUpcaseUnicodeChar
15490x724841eRtlUpcaseUnicodeString
15500x7248424RtlUpcaseUnicodeStringToAnsiString
15510x724842aRtlUpcaseUnicodeStringToCountedOemString
15520x7248430RtlUpcaseUnicodeStringToOemString
15530x7248436RtlUpcaseUnicodeToCustomCPN
15540x724843cRtlUpcaseUnicodeToMultiByteN
15550x7248442RtlUpcaseUnicodeToOemN
15560x7248448RtlUpdateClonedCriticalSection
15570x724844eRtlUpdateClonedSRWLock
15580x7248454RtlUpdateTimer
15590x724845aRtlUpperChar
15600x7248460RtlUpperString
15610x7248466RtlUserFiberStart
15620x724846cRtlUserThreadStart
140x7246024RtlUshortByteSwap
15630x7248472RtlValidAcl
15640x7248478RtlValidProcessProtection
15650x724847eRtlValidRelativeSecurityDescriptor
15660x7248484RtlValidSecurityDescriptor
15670x724848aRtlValidSid
15680x7248490RtlValidateCorrelationVector
15690x7248496RtlValidateHeap
15700x724849cRtlValidateProcessHeaps
15710x72484a2RtlValidateUnicodeString
15720x72484a8RtlVerifyVersionInfo
15730x72484aeRtlWaitForWnfMetaNotification
15740x72484b4RtlWaitOnAddress
15750x72484baRtlWakeAddressAll
15760x72484c0RtlWakeAddressAllNoFence
15770x72484c6RtlWakeAddressSingle
15780x72484ccRtlWakeAddressSingleNoFence
15790x72484d2RtlWakeAllConditionVariable
15800x72484d8RtlWakeConditionVariable
15810x72484deRtlWalkFrameChain
15820x72484e4RtlWalkHeap
15830x72484eaRtlWeaklyEnumerateEntryHashTable
15840x72484f0RtlWerpReportException
15850x72484f6RtlWnfCompareChangeStamp
15860x72484fcRtlWnfDllUnloadCallback
15870x7248502RtlWow64CallFunction64
15880x7248508RtlWow64EnableFsRedirection
15890x724850eRtlWow64EnableFsRedirectionEx
15900x7248514RtlWow64GetCurrentMachine
15910x724851aRtlWow64GetEquivalentMachineCHPE
15920x7248520RtlWow64GetProcessMachines
15930x7248526RtlWow64GetSharedInfoProcess
15940x724852cRtlWow64IsWowGuestMachineSupported
15950x7248532RtlWow64LogMessageInEventLogger
15960x7248538RtlWriteMemoryStream
15970x724853eRtlWriteRegistryValue
15980x7248544RtlZeroHeap
15990x724854aRtlZeroMemory
16000x7248550RtlZombifyActivationContext
16010x7248556RtlpApplyLengthFunction
16020x724855cRtlpCheckDynamicTimeZoneInformation
16030x7248562RtlpCleanupRegistryKeys
16040x7248568RtlpConvertAbsoluteToRelativeSecurityAttribute
16050x724856eRtlpConvertCultureNamesToLCIDs
16060x7248574RtlpConvertLCIDsToCultureNames
16070x724857aRtlpConvertRelativeToAbsoluteSecurityAttribute
16080x7248580RtlpCreateProcessRegistryInfo
16090x7248586RtlpEnsureBufferSize
16100x724858cRtlpFreezeTimeBias
16110x7248592RtlpGetDeviceFamilyInfoEnum
16120x7248598RtlpGetLCIDFromLangInfoNode
16130x724859eRtlpGetNameFromLangInfoNode
16140x72485a4RtlpGetSystemDefaultUILanguage
16150x72485aaRtlpGetUserOrMachineUILanguage4NLS
16160x72485b0RtlpInitializeLangRegistryInfo
16170x72485b6RtlpIsQualifiedLanguage
16180x72485bcRtlpLoadMachineUIByPolicy
16190x72485c2RtlpLoadUserUIByPolicy
16200x72485c8RtlpMergeSecurityAttributeInformation
16210x72485ceRtlpMuiFreeLangRegistryInfo
16220x72485d4RtlpMuiRegCreateRegistryInfo
16230x72485daRtlpMuiRegFreeRegistryInfo
16240x72485e0RtlpMuiRegLoadRegistryInfo
16250x72485e6RtlpNotOwnerCriticalSection
16260x72485ecRtlpNtCreateKey
16270x72485f2RtlpNtEnumerateSubKey
16280x72485f8RtlpNtMakeTemporaryKey
16290x72485feRtlpNtOpenKey
16300x7248604RtlpNtQueryValueKey
16310x724860aRtlpNtSetValueKey
16320x7248610RtlpQueryDefaultUILanguage
16330x7248616RtlpQueryProcessDebugInformationRemote
16340x724861cRtlpRefreshCachedUILanguage
16350x7248622RtlpSetInstallLanguage
16360x7248628RtlpSetPreferredUILanguages
16370x724862eRtlpSetUserPreferredUILanguages
16380x7248634RtlpTimeFieldsToTime
16390x724863aRtlpTimeToTimeFields
16400x7248640RtlpUnWaitCriticalSection
16410x7248646RtlpVerifyAndCommitUILanguageSettings
16420x724864cRtlpWaitForCriticalSection
16430x7248652RtlxAnsiStringToUnicodeSize
16440x7248658RtlxOemStringToUnicodeSize
16450x724865eRtlxUnicodeStringToAnsiSize
16460x7248664RtlxUnicodeStringToOemSize
16470x724866aSbExecuteProcedure
16480x7248670SbSelectProcedure
16490x7248676ShipAssert
16500x724867cShipAssertGetBufferInfo
16510x7248682ShipAssertMsgA
16520x7248688ShipAssertMsgW
16530x724868eTpAllocAlpcCompletion
16540x7248694TpAllocAlpcCompletionEx
16550x724869aTpAllocCleanupGroup
16560x72486a0TpAllocIoCompletion
16570x72486a6TpAllocJobNotification
16580x72486acTpAllocPool
16590x72486b2TpAllocTimer
16600x72486b8TpAllocWait
16610x72486beTpAllocWork
16620x72486c4TpAlpcRegisterCompletionList
16630x72486caTpAlpcUnregisterCompletionList
16640x72486d0TpCallbackDetectedUnrecoverableError
16650x72486d6TpCallbackIndependent
16660x72486dcTpCallbackLeaveCriticalSectionOnCompletion
16670x72486e2TpCallbackMayRunLong
16680x72486e8TpCallbackReleaseMutexOnCompletion
16690x72486eeTpCallbackReleaseSemaphoreOnCompletion
16700x72486f4TpCallbackSendAlpcMessageOnCompletion
16710x72486faTpCallbackSendPendingAlpcMessage
16720x7248700TpCallbackSetEventOnCompletion
16730x7248706TpCallbackUnloadDllOnCompletion
16740x724870cTpCancelAsyncIoOperation
16750x7248712TpCaptureCaller
16760x7248718TpCheckTerminateWorker
16770x724871eTpDbgDumpHeapUsage
16780x7248724TpDbgSetLogRoutine
16790x724872aTpDisablePoolCallbackChecks
16800x7248730TpDisassociateCallback
16810x7248736TpIsTimerSet
16820x724873cTpPostWork
16830x7248742TpQueryPoolStackInformation
16840x7248748TpReleaseAlpcCompletion
16850x724874eTpReleaseCleanupGroup
16860x7248754TpReleaseCleanupGroupMembers
16870x724875aTpReleaseIoCompletion
16880x7248760TpReleaseJobNotification
16890x7248766TpReleasePool
16900x724876cTpReleaseTimer
16910x7248772TpReleaseWait
16920x7248778TpReleaseWork
16930x724877eTpSetDefaultPoolMaxThreads
16940x7248784TpSetDefaultPoolStackInformation
16950x724878aTpSetPoolMaxThreads
16960x7248790TpSetPoolMaxThreadsSoftLimit
16970x7248796TpSetPoolMinThreads
16980x724879cTpSetPoolStackInformation
16990x72487a2TpSetPoolThreadBasePriority
17000x72487a8TpSetPoolThreadCpuSets
17010x72487aeTpSetPoolWorkerThreadIdleTimeout
17020x72487b4TpSetTimer
17030x72487baTpSetTimerEx
17040x72487c0TpSetWait
17050x72487c6TpSetWaitEx
17060x72487ccTpSimpleTryPost
17070x72487d2TpStartAsyncIoOperation
17080x72487d8TpTimerOutstandingCallbackCount
17090x72487deTpTrimPools
17100x72487e4TpWaitForAlpcCompletion
17110x72487eaTpWaitForIoCompletion
17120x72487f0TpWaitForJobNotification
17130x72487f6TpWaitForTimer
17140x72487fcTpWaitForWait
17150x7248802TpWaitForWork
17160x7248808VerSetConditionMask
17170x724880eWerReportExceptionWorker
17180x7248814WerReportSQMEvent
17190x724881aWinSqmAddToAverageDWORD
17200x7248820WinSqmAddToStream
17210x7248826WinSqmAddToStreamEx
17220x724882cWinSqmCheckEscalationAddToStreamEx
17240x7248838WinSqmCheckEscalationSetDWORD
17230x7248832WinSqmCheckEscalationSetDWORD64
17250x724883eWinSqmCheckEscalationSetString
17260x7248844WinSqmCommonDatapointDelete
17280x7248850WinSqmCommonDatapointSetDWORD
17270x724884aWinSqmCommonDatapointSetDWORD64
17290x7248856WinSqmCommonDatapointSetStreamEx
17300x724885cWinSqmCommonDatapointSetString
17310x7248862WinSqmEndSession
17320x7248868WinSqmEventEnabled
17330x724886eWinSqmEventWrite
17340x7248874WinSqmGetEscalationRuleStatus
17350x724887aWinSqmGetInstrumentationProperty
17360x7248880WinSqmIncrementDWORD
17370x7248886WinSqmIsOptedIn
17380x724888cWinSqmIsOptedInEx
17390x7248892WinSqmIsSessionDisabled
17410x724889eWinSqmSetDWORD
17400x7248898WinSqmSetDWORD64
17420x72488a4WinSqmSetEscalationInfo
17430x72488aaWinSqmSetIfMaxDWORD
17440x72488b0WinSqmSetIfMinDWORD
17450x72488b6WinSqmSetString
17460x72488bcWinSqmStartSession
17470x72488c2WinSqmStartSessionForPartner
17480x72488c8WinSqmStartSqmOptinListener
17490x72488ceWow64Transition
17500x72488d4ZwAcceptConnectPort
17510x72488daZwAccessCheck
17520x72488e0ZwAccessCheckAndAuditAlarm
17530x72488e6ZwAccessCheckByType
17540x72488ecZwAccessCheckByTypeAndAuditAlarm
17550x72488f2ZwAccessCheckByTypeResultList
17560x72488f8ZwAccessCheckByTypeResultListAndAuditAlarm
17570x72488feZwAccessCheckByTypeResultListAndAuditAlarmByHandle
17580x7248904ZwAcquireCrossVmMutant
17590x724890aZwAcquireProcessActivityReference
17600x7248910ZwAddAtom
17610x7248916ZwAddAtomEx
17620x724891cZwAddBootEntry
17630x7248922ZwAddDriverEntry
17640x7248928ZwAdjustGroupsToken
17650x724892eZwAdjustPrivilegesToken
17660x7248934ZwAdjustTokenClaimsAndDeviceGroups
17670x724893aZwAlertResumeThread
17680x7248940ZwAlertThread
17690x7248946ZwAlertThreadByThreadId
17700x724894cZwAllocateLocallyUniqueId
17710x7248952ZwAllocateReserveObject
17720x7248958ZwAllocateUserPhysicalPages
17730x724895eZwAllocateUserPhysicalPagesEx
17740x7248964ZwAllocateUuids
17750x724896aZwAllocateVirtualMemory
17760x7248970ZwAllocateVirtualMemoryEx
17770x7248976ZwAlpcAcceptConnectPort
17780x724897cZwAlpcCancelMessage
17790x7248982ZwAlpcConnectPort
17800x7248988ZwAlpcConnectPortEx
17810x724898eZwAlpcCreatePort
17820x7248994ZwAlpcCreatePortSection
17830x724899aZwAlpcCreateResourceReserve
17840x72489a0ZwAlpcCreateSectionView
17850x72489a6ZwAlpcCreateSecurityContext
17860x72489acZwAlpcDeletePortSection
17870x72489b2ZwAlpcDeleteResourceReserve
17880x72489b8ZwAlpcDeleteSectionView
17890x72489beZwAlpcDeleteSecurityContext
17900x72489c4ZwAlpcDisconnectPort
17910x72489caZwAlpcImpersonateClientContainerOfPort
17920x72489d0ZwAlpcImpersonateClientOfPort
17930x72489d6ZwAlpcOpenSenderProcess
17940x72489dcZwAlpcOpenSenderThread
17950x72489e2ZwAlpcQueryInformation
17960x72489e8ZwAlpcQueryInformationMessage
17970x72489eeZwAlpcRevokeSecurityContext
17980x72489f4ZwAlpcSendWaitReceivePort
17990x72489faZwAlpcSetInformation
18000x7248a00ZwApphelpCacheControl
18010x7248a06ZwAreMappedFilesTheSame
18020x7248a0cZwAssignProcessToJobObject
18030x7248a12ZwAssociateWaitCompletionPacket
18040x7248a18ZwCallEnclave
18050x7248a1eZwCallbackReturn
18060x7248a24ZwCancelIoFile
18070x7248a2aZwCancelIoFileEx
18080x7248a30ZwCancelSynchronousIoFile
18100x7248a3cZwCancelTimer
18090x7248a36ZwCancelTimer2
18110x7248a42ZwCancelWaitCompletionPacket
18120x7248a48ZwClearEvent
18130x7248a4eZwClose
18140x7248a54ZwCloseObjectAuditAlarm
18150x7248a5aZwCommitComplete
18160x7248a60ZwCommitEnlistment
18170x7248a66ZwCommitRegistryTransaction
18180x7248a6cZwCommitTransaction
18190x7248a72ZwCompactKeys
18200x7248a78ZwCompareObjects
18210x7248a7eZwCompareSigningLevels
18220x7248a84ZwCompareTokens
18230x7248a8aZwCompleteConnectPort
18240x7248a90ZwCompressKey
18250x7248a96ZwConnectPort
18260x7248a9cZwContinue
18270x7248aa2ZwContinueEx
18280x7248aa8ZwConvertBetweenAuxiliaryCounterAndPerformanceCounter
18290x7248aaeZwCreateCrossVmEvent
18300x7248ab4ZwCreateCrossVmMutant
18310x7248abaZwCreateDebugObject
18320x7248ac0ZwCreateDirectoryObject
18330x7248ac6ZwCreateDirectoryObjectEx
18340x7248accZwCreateEnclave
18350x7248ad2ZwCreateEnlistment
18360x7248ad8ZwCreateEvent
18370x7248adeZwCreateEventPair
18380x7248ae4ZwCreateFile
18390x7248aeaZwCreateIRTimer
18400x7248af0ZwCreateIoCompletion
18410x7248af6ZwCreateJobObject
18420x7248afcZwCreateJobSet
18430x7248b02ZwCreateKey
18440x7248b08ZwCreateKeyTransacted
18450x7248b0eZwCreateKeyedEvent
18460x7248b14ZwCreateLowBoxToken
18470x7248b1aZwCreateMailslotFile
18480x7248b20ZwCreateMutant
18490x7248b26ZwCreateNamedPipeFile
18500x7248b2cZwCreatePagingFile
18510x7248b32ZwCreatePartition
18520x7248b38ZwCreatePort
18530x7248b3eZwCreatePrivateNamespace
18540x7248b44ZwCreateProcess
18550x7248b4aZwCreateProcessEx
18560x7248b50ZwCreateProfile
18570x7248b56ZwCreateProfileEx
18580x7248b5cZwCreateRegistryTransaction
18590x7248b62ZwCreateResourceManager
18600x7248b68ZwCreateSection
18610x7248b6eZwCreateSectionEx
18620x7248b74ZwCreateSemaphore
18630x7248b7aZwCreateSymbolicLinkObject
18640x7248b80ZwCreateThread
18650x7248b86ZwCreateThreadEx
18670x7248b92ZwCreateTimer
18660x7248b8cZwCreateTimer2
18680x7248b98ZwCreateToken
18690x7248b9eZwCreateTokenEx
18700x7248ba4ZwCreateTransaction
18710x7248baaZwCreateTransactionManager
18720x7248bb0ZwCreateUserProcess
18730x7248bb6ZwCreateWaitCompletionPacket
18740x7248bbcZwCreateWaitablePort
18750x7248bc2ZwCreateWnfStateName
18760x7248bc8ZwCreateWorkerFactory
18770x7248bceZwDebugActiveProcess
18780x7248bd4ZwDebugContinue
18790x7248bdaZwDelayExecution
18800x7248be0ZwDeleteAtom
18810x7248be6ZwDeleteBootEntry
18820x7248becZwDeleteDriverEntry
18830x7248bf2ZwDeleteFile
18840x7248bf8ZwDeleteKey
18850x7248bfeZwDeleteObjectAuditAlarm
18860x7248c04ZwDeletePrivateNamespace
18870x7248c0aZwDeleteValueKey
18880x7248c10ZwDeleteWnfStateData
18890x7248c16ZwDeleteWnfStateName
18900x7248c1cZwDeviceIoControlFile
18910x7248c22ZwDirectGraphicsCall
18920x7248c28ZwDisableLastKnownGood
18930x7248c2eZwDisplayString
18940x7248c34ZwDrawText
18950x7248c3aZwDuplicateObject
18960x7248c40ZwDuplicateToken
18970x7248c46ZwEnableLastKnownGood
18980x7248c4cZwEnumerateBootEntries
18990x7248c52ZwEnumerateDriverEntries
19000x7248c58ZwEnumerateKey
19010x7248c5eZwEnumerateSystemEnvironmentValuesEx
19020x7248c64ZwEnumerateTransactionObject
19030x7248c6aZwEnumerateValueKey
19040x7248c70ZwExtendSection
19050x7248c76ZwFilterBootOption
19060x7248c7cZwFilterToken
19070x7248c82ZwFilterTokenEx
19080x7248c88ZwFindAtom
19090x7248c8eZwFlushBuffersFile
19100x7248c94ZwFlushBuffersFileEx
19110x7248c9aZwFlushInstallUILanguage
19120x7248ca0ZwFlushInstructionCache
19130x7248ca6ZwFlushKey
19140x7248cacZwFlushProcessWriteBuffers
19150x7248cb2ZwFlushVirtualMemory
19160x7248cb8ZwFlushWriteBuffer
19170x7248cbeZwFreeUserPhysicalPages
19180x7248cc4ZwFreeVirtualMemory
19190x7248ccaZwFreezeRegistry
19200x7248cd0ZwFreezeTransactions
19210x7248cd6ZwFsControlFile
19220x7248cdcZwGetCachedSigningLevel
19230x7248ce2ZwGetCompleteWnfStateSubscription
19240x7248ce8ZwGetContextThread
19250x7248ceeZwGetCurrentProcessorNumber
19260x7248cf4ZwGetCurrentProcessorNumberEx
19270x7248cfaZwGetDevicePowerState
19280x7248d00ZwGetMUIRegistryInfo
19290x7248d06ZwGetNextProcess
19300x7248d0cZwGetNextThread
19310x7248d12ZwGetNlsSectionPtr
19320x7248d18ZwGetNotificationResourceManager
19330x7248d1eZwGetWriteWatch
19340x7248d24ZwImpersonateAnonymousToken
19350x7248d2aZwImpersonateClientOfPort
19360x7248d30ZwImpersonateThread
19370x7248d36ZwInitializeEnclave
19380x7248d3cZwInitializeNlsFiles
19390x7248d42ZwInitializeRegistry
19400x7248d48ZwInitiatePowerAction
19410x7248d4eZwIsProcessInJob
19420x7248d54ZwIsSystemResumeAutomatic
19430x7248d5aZwIsUILanguageComitted
19440x7248d60ZwListenPort
19450x7248d66ZwLoadDriver
19460x7248d6cZwLoadEnclaveData
19490x7248d7eZwLoadKey
19470x7248d72ZwLoadKey2
19480x7248d78ZwLoadKey3
19500x7248d84ZwLoadKeyEx
19510x7248d8aZwLockFile
19520x7248d90ZwLockProductActivationKeys
19530x7248d96ZwLockRegistryKey
19540x7248d9cZwLockVirtualMemory
19550x7248da2ZwMakePermanentObject
19560x7248da8ZwMakeTemporaryObject
19570x7248daeZwManageHotPatch
19580x7248db4ZwManagePartition
19590x7248dbaZwMapCMFModule
19600x7248dc0ZwMapUserPhysicalPages
19610x7248dc6ZwMapUserPhysicalPagesScatter
19620x7248dccZwMapViewOfSection
19630x7248dd2ZwMapViewOfSectionEx
19640x7248dd8ZwModifyBootEntry
19650x7248ddeZwModifyDriverEntry
19660x7248de4ZwNotifyChangeDirectoryFile
19670x7248deaZwNotifyChangeDirectoryFileEx
19680x7248df0ZwNotifyChangeKey
19690x7248df6ZwNotifyChangeMultipleKeys
19700x7248dfcZwNotifyChangeSession
19710x7248e02ZwOpenDirectoryObject
19720x7248e08ZwOpenEnlistment
19730x7248e0eZwOpenEvent
19740x7248e14ZwOpenEventPair
19750x7248e1aZwOpenFile
19760x7248e20ZwOpenIoCompletion
19770x7248e26ZwOpenJobObject
19780x7248e2cZwOpenKey
19790x7248e32ZwOpenKeyEx
19800x7248e38ZwOpenKeyTransacted
19810x7248e3eZwOpenKeyTransactedEx
19820x7248e44ZwOpenKeyedEvent
19830x7248e4aZwOpenMutant
19840x7248e50ZwOpenObjectAuditAlarm
19850x7248e56ZwOpenPartition
19860x7248e5cZwOpenPrivateNamespace
19870x7248e62ZwOpenProcess
19880x7248e68ZwOpenProcessToken
19890x7248e6eZwOpenProcessTokenEx
19900x7248e74ZwOpenRegistryTransaction
19910x7248e7aZwOpenResourceManager
19920x7248e80ZwOpenSection
19930x7248e86ZwOpenSemaphore
19940x7248e8cZwOpenSession
19950x7248e92ZwOpenSymbolicLinkObject
19960x7248e98ZwOpenThread
19970x7248e9eZwOpenThreadToken
19980x7248ea4ZwOpenThreadTokenEx
19990x7248eaaZwOpenTimer
20000x7248eb0ZwOpenTransaction
20010x7248eb6ZwOpenTransactionManager
20020x7248ebcZwPlugPlayControl
20030x7248ec2ZwPowerInformation
20040x7248ec8ZwPrePrepareComplete
20050x7248eceZwPrePrepareEnlistment
20060x7248ed4ZwPrepareComplete
20070x7248edaZwPrepareEnlistment
20080x7248ee0ZwPrivilegeCheck
20090x7248ee6ZwPrivilegeObjectAuditAlarm
20100x7248eecZwPrivilegedServiceAuditAlarm
20110x7248ef2ZwPropagationComplete
20120x7248ef8ZwPropagationFailed
20130x7248efeZwProtectVirtualMemory
20140x7248f04ZwPssCaptureVaSpaceBulk
20150x7248f0aZwPulseEvent
20160x7248f10ZwQueryAttributesFile
20170x7248f16ZwQueryAuxiliaryCounterFrequency
20180x7248f1cZwQueryBootEntryOrder
20190x7248f22ZwQueryBootOptions
20200x7248f28ZwQueryDebugFilterState
20210x7248f2eZwQueryDefaultLocale
20220x7248f34ZwQueryDefaultUILanguage
20230x7248f3aZwQueryDirectoryFile
20240x7248f40ZwQueryDirectoryFileEx
20250x7248f46ZwQueryDirectoryObject
20260x7248f4cZwQueryDriverEntryOrder
20270x7248f52ZwQueryEaFile
20280x7248f58ZwQueryEvent
20290x7248f5eZwQueryFullAttributesFile
20300x7248f64ZwQueryInformationAtom
20310x7248f6aZwQueryInformationByName
20320x7248f70ZwQueryInformationEnlistment
20330x7248f76ZwQueryInformationFile
20340x7248f7cZwQueryInformationJobObject
20350x7248f82ZwQueryInformationPort
20360x7248f88ZwQueryInformationProcess
20370x7248f8eZwQueryInformationResourceManager
20380x7248f94ZwQueryInformationThread
20390x7248f9aZwQueryInformationToken
20400x7248fa0ZwQueryInformationTransaction
20410x7248fa6ZwQueryInformationTransactionManager
20420x7248facZwQueryInformationWorkerFactory
20430x7248fb2ZwQueryInstallUILanguage
20440x7248fb8ZwQueryIntervalProfile
20450x7248fbeZwQueryIoCompletion
20460x7248fc4ZwQueryKey
20470x7248fcaZwQueryLicenseValue
20480x7248fd0ZwQueryMultipleValueKey
20490x7248fd6ZwQueryMutant
20500x7248fdcZwQueryObject
20510x7248fe2ZwQueryOpenSubKeys
20520x7248fe8ZwQueryOpenSubKeysEx
20530x7248feeZwQueryPerformanceCounter
20540x7248ff4ZwQueryPortInformationProcess
20550x7248ffaZwQueryQuotaInformationFile
20560x7249000ZwQuerySection
20570x7249006ZwQuerySecurityAttributesToken
20580x724900cZwQuerySecurityObject
20590x7249012ZwQuerySecurityPolicy
20600x7249018ZwQuerySemaphore
20610x724901eZwQuerySymbolicLinkObject
20620x7249024ZwQuerySystemEnvironmentValue
20630x724902aZwQuerySystemEnvironmentValueEx
20640x7249030ZwQuerySystemInformation
20650x7249036ZwQuerySystemInformationEx
20660x724903cZwQuerySystemTime
20670x7249042ZwQueryTimer
20680x7249048ZwQueryTimerResolution
20690x724904eZwQueryValueKey
20700x7249054ZwQueryVirtualMemory
20710x724905aZwQueryVolumeInformationFile
20720x7249060ZwQueryWnfStateData
20730x7249066ZwQueryWnfStateNameInformation
20740x724906cZwQueueApcThread
20750x7249072ZwQueueApcThreadEx
20760x7249078ZwRaiseException
20770x724907eZwRaiseHardError
20780x7249084ZwReadFile
20790x724908aZwReadFileScatter
20800x7249090ZwReadOnlyEnlistment
20810x7249096ZwReadRequestData
20820x724909cZwReadVirtualMemory
20830x72490a2ZwRecoverEnlistment
20840x72490a8ZwRecoverResourceManager
20850x72490aeZwRecoverTransactionManager
20860x72490b4ZwRegisterProtocolAddressInformation
20870x72490baZwRegisterThreadTerminatePort
20880x72490c0ZwReleaseKeyedEvent
20890x72490c6ZwReleaseMutant
20900x72490ccZwReleaseSemaphore
20910x72490d2ZwReleaseWorkerFactoryWorker
20920x72490d8ZwRemoveIoCompletion
20930x72490deZwRemoveIoCompletionEx
20940x72490e4ZwRemoveProcessDebug
20950x72490eaZwRenameKey
20960x72490f0ZwRenameTransactionManager
20970x72490f6ZwReplaceKey
20980x72490fcZwReplacePartitionUnit
20990x7249102ZwReplyPort
21000x7249108ZwReplyWaitReceivePort
21010x724910eZwReplyWaitReceivePortEx
21020x7249114ZwReplyWaitReplyPort
21030x724911aZwRequestPort
21040x7249120ZwRequestWaitReplyPort
21050x7249126ZwResetEvent
21060x724912cZwResetWriteWatch
21070x7249132ZwRestoreKey
21080x7249138ZwResumeProcess
21090x724913eZwResumeThread
21100x7249144ZwRevertContainerImpersonation
21110x724914aZwRollbackComplete
21120x7249150ZwRollbackEnlistment
21130x7249156ZwRollbackRegistryTransaction
21140x724915cZwRollbackTransaction
21150x7249162ZwRollforwardTransactionManager
21160x7249168ZwSaveKey
21170x724916eZwSaveKeyEx
21180x7249174ZwSaveMergedKeys
21190x724917aZwSecureConnectPort
21200x7249180ZwSerializeBoot
21210x7249186ZwSetBootEntryOrder
21220x724918cZwSetBootOptions
21240x7249198ZwSetCachedSigningLevel
21230x7249192ZwSetCachedSigningLevel2
21250x724919eZwSetContextThread
21260x72491a4ZwSetDebugFilterState
21270x72491aaZwSetDefaultHardErrorPort
21280x72491b0ZwSetDefaultLocale
21290x72491b6ZwSetDefaultUILanguage
21300x72491bcZwSetDriverEntryOrder
21310x72491c2ZwSetEaFile
21320x72491c8ZwSetEvent
21330x72491ceZwSetEventBoostPriority
21340x72491d4ZwSetHighEventPair
21350x72491daZwSetHighWaitLowEventPair
21360x72491e0ZwSetIRTimer
21370x72491e6ZwSetInformationDebugObject
21380x72491ecZwSetInformationEnlistment
21390x72491f2ZwSetInformationFile
21400x72491f8ZwSetInformationJobObject
21410x72491feZwSetInformationKey
21420x7249204ZwSetInformationObject
21430x724920aZwSetInformationProcess
21440x7249210ZwSetInformationResourceManager
21450x7249216ZwSetInformationSymbolicLink
21460x724921cZwSetInformationThread
21470x7249222ZwSetInformationToken
21480x7249228ZwSetInformationTransaction
21490x724922eZwSetInformationTransactionManager
21500x7249234ZwSetInformationVirtualMemory
21510x724923aZwSetInformationWorkerFactory
21520x7249240ZwSetIntervalProfile
21530x7249246ZwSetIoCompletion
21540x724924cZwSetIoCompletionEx
21550x7249252ZwSetLdtEntries
21560x7249258ZwSetLowEventPair
21570x724925eZwSetLowWaitHighEventPair
21580x7249264ZwSetQuotaInformationFile
21590x724926aZwSetSecurityObject
21600x7249270ZwSetSystemEnvironmentValue
21610x7249276ZwSetSystemEnvironmentValueEx
21620x724927cZwSetSystemInformation
21630x7249282ZwSetSystemPowerState
21640x7249288ZwSetSystemTime
21650x724928eZwSetThreadExecutionState
21670x724929aZwSetTimer
21660x7249294ZwSetTimer2
21680x72492a0ZwSetTimerEx
21690x72492a6ZwSetTimerResolution
21700x72492acZwSetUuidSeed
21710x72492b2ZwSetValueKey
21720x72492b8ZwSetVolumeInformationFile
21730x72492beZwSetWnfProcessNotificationEvent
21740x72492c4ZwShutdownSystem
21750x72492caZwShutdownWorkerFactory
21760x72492d0ZwSignalAndWaitForSingleObject
21770x72492d6ZwSinglePhaseReject
21780x72492dcZwStartProfile
21790x72492e2ZwStopProfile
21800x72492e8ZwSubscribeWnfStateChange
21810x72492eeZwSuspendProcess
21820x72492f4ZwSuspendThread
21830x72492faZwSystemDebugControl
21840x7249300ZwTerminateEnclave
21850x7249306ZwTerminateJobObject
21860x724930cZwTerminateProcess
21870x7249312ZwTerminateThread
21880x7249318ZwTestAlert
21890x724931eZwThawRegistry
21900x7249324ZwThawTransactions
21910x724932aZwTraceControl
21920x7249330ZwTraceEvent
21930x7249336ZwTranslateFilePath
21940x724933cZwUmsThreadYield
21950x7249342ZwUnloadDriver
21970x724934eZwUnloadKey
21960x7249348ZwUnloadKey2
21980x7249354ZwUnloadKeyEx
21990x724935aZwUnlockFile
22000x7249360ZwUnlockVirtualMemory
22010x7249366ZwUnmapViewOfSection
22020x724936cZwUnmapViewOfSectionEx
22030x7249372ZwUnsubscribeWnfStateChange
22040x7249378ZwUpdateWnfStateData
22050x724937eZwVdmControl
22060x7249384ZwWaitForAlertByThreadId
22070x724938aZwWaitForDebugEvent
22080x7249390ZwWaitForKeyedEvent
22100x724939cZwWaitForMultipleObjects
22090x7249396ZwWaitForMultipleObjects32
22110x72493a2ZwWaitForSingleObject
22120x72493a8ZwWaitForWorkViaWorkerFactory
22130x72493aeZwWaitHighEventPair
22140x72493b4ZwWaitLowEventPair
22150x72493baZwWorkerFactoryWorkerReady
22160x72493c0ZwWow64AllocateVirtualMemory64
22170x72493c6ZwWow64CallFunction64
22180x72493ccZwWow64CsrAllocateCaptureBuffer
22190x72493d2ZwWow64CsrAllocateMessagePointer
22200x72493d8ZwWow64CsrCaptureMessageBuffer
22210x72493deZwWow64CsrCaptureMessageString
22220x72493e4ZwWow64CsrClientCallServer
22230x72493eaZwWow64CsrClientConnectToServer
22240x72493f0ZwWow64CsrFreeCaptureBuffer
22250x72493f6ZwWow64CsrGetProcessId
22260x72493fcZwWow64CsrIdentifyAlertableThread
22270x7249402ZwWow64CsrVerifyRegion
22280x7249408ZwWow64DebuggerCall
22290x724940eZwWow64GetCurrentProcessorNumberEx
22300x7249414ZwWow64GetNativeSystemInformation
22310x724941aZwWow64IsProcessorFeaturePresent
22320x7249420ZwWow64QueryInformationProcess64
22330x7249426ZwWow64ReadVirtualMemory64
22340x724942cZwWow64WriteVirtualMemory64
22350x7249432ZwWriteFile
22360x7249438ZwWriteFileGather
22370x724943eZwWriteRequestData
22380x7249444ZwWriteVirtualMemory
22390x724944aZwYieldExecution
22400x7249450_CIcos
22410x7249456_CIlog
22420x724945c_CIpow
22430x7249462_CIsin
22440x7249468_CIsqrt
22450x724946e__isascii
22460x7249474__iscsym
22470x724947a__iscsymf
22480x7249480__toascii
22490x7249486_alldiv
22500x724948c_alldvrm
22510x7249492_allmul
22520x7249498_alloca_probe
22530x724949e_alloca_probe_16
22540x72494a4_alloca_probe_8
22550x72494aa_allrem
22560x72494b0_allshl
22570x72494b6_allshr
22580x72494bc_atoi64
22590x72494c2_aulldiv
22600x72494c8_aulldvrm
22610x72494ce_aullrem
22620x72494d4_aullshr
22630x72494da_chkstk
22640x72494e0_errno
22650x72494e6_except_handler4_common
22660x72494ec_fltused
22670x72494f2_ftol
22680x72494f8_ftol2
22690x72494fe_ftol2_sse
22700x7249504_i64toa
22710x724950a_i64toa_s
22720x7249510_i64tow
22730x7249516_i64tow_s
22740x724951c_itoa
22750x7249522_itoa_s
22760x7249528_itow
22770x724952e_itow_s
22780x7249534_lfind
22790x724953a_local_unwind4
22800x7249540_ltoa
22810x7249546_ltoa_s
22820x724954c_ltow
22830x7249552_ltow_s
22840x7249558_makepath_s
22850x724955e_memccpy
22860x7249564_memicmp
22870x724956a_snprintf
22880x7249570_snprintf_s
22890x7249576_snscanf_s
22900x724957c_snwprintf
22910x7249582_snwprintf_s
22920x7249588_snwscanf_s
22930x724958e_splitpath
22940x7249594_splitpath_s
22950x724959a_strcmpi
22960x72495a0_stricmp
22970x72495a6_strlwr
22980x72495ac_strlwr_s
22990x72495b2_strnicmp
23000x72495b8_strnset_s
23010x72495be_strset_s
23020x72495c4_strupr
23030x72495ca_strupr_s
23040x72495d0_swprintf
23050x72495d6_ui64toa
23060x72495dc_ui64toa_s
23070x72495e2_ui64tow
23080x72495e8_ui64tow_s
23090x72495ee_ultoa
23100x72495f4_ultoa_s
23110x72495fa_ultow
23120x7249600_ultow_s
23130x7249606_vscprintf
23140x724960c_vscwprintf
23150x7249612_vsnprintf
23160x7249618_vsnprintf_s
23170x724961e_vsnwprintf
23180x7249624_vsnwprintf_s
23190x724962a_vswprintf
23200x7249630_wcsicmp
23210x7249636_wcslwr
23220x724963c_wcslwr_s
23230x7249642_wcsnicmp
23240x7249648_wcsnset_s
23250x724964e_wcsset_s
23260x7249654_wcstoi64
23270x724965a_wcstoui64
23280x7249660_wcsupr
23290x7249666_wcsupr_s
23300x724966c_wmakepath_s
23310x7249672_wsplitpath_s
23320x7249678_wtoi
23330x724967e_wtoi64
23340x7249684_wtol
23350x724968aabs
23360x7249690atan
23370x7249696atan2
23380x724969catoi
23390x72496a2atol
23400x72496a8bsearch
23410x72496aebsearch_s
23420x72496b4ceil
23430x72496bacos
23440x72496c0fabs
23450x72496c6floor
23460x72496ccisalnum
23470x72496d2isalpha
23480x72496d8iscntrl
23490x72496deisdigit
23500x72496e4isgraph
23510x72496eaislower
23520x72496f0isprint
23530x72496f6ispunct
23540x72496fcisspace
23550x7249702isupper
23560x7249708iswalnum
23570x724970eiswalpha
23580x7249714iswascii
23590x724971aiswctype
23600x7249720iswdigit
23610x7249726iswgraph
23620x724972ciswlower
23630x7249732iswprint
23640x7249738iswspace
23650x724973eiswxdigit
23660x7249744isxdigit
23670x724974alabs
23680x7249750log
23690x7249756mbstowcs
23700x724975cmemchr
23710x7249762memcmp
23720x7249768memcpy
23730x724976ememcpy_s
23740x7249774memmove
23750x724977amemmove_s
23760x7249780memset
23770x7249786pow
23780x724978cqsort
23790x7249792qsort_s
23800x7249798sin
23810x724979esprintf
23820x72497a4sprintf_s
23830x72497aasqrt
23840x72497b0sscanf
23850x72497b6sscanf_s
23860x72497bcstrcat
23870x72497c2strcat_s
23880x72497c8strchr
23890x72497cestrcmp
23900x72497d4strcpy
23910x72497dastrcpy_s
23920x72497e0strcspn
23930x72497e6strlen
23940x72497ecstrncat
23950x72497f2strncat_s
23960x72497f8strncmp
23970x72497festrncpy
23980x7249804strncpy_s
23990x724980astrnlen
24000x7249810strpbrk
24010x7249816strrchr
24020x724981cstrspn
24030x7249822strstr
24040x7249828strtok_s
24050x724982estrtol
24060x7249834strtoul
24070x724983aswprintf
24080x7249840swprintf_s
24090x7249846swscanf_s
24100x724984ctan
24110x7249852tolower
24120x7249858toupper
24130x724985etowlower
24140x7249864towupper
24150x724986avDbgPrintEx
24160x7249870vDbgPrintExWithPrefix
24170x7249876vsprintf
24180x724987cvsprintf_s
24190x7249882vswprintf_s
24200x7249888wcscat
24210x724988ewcscat_s
24220x7249894wcschr
24230x724989awcscmp
24240x72498a0wcscpy
24250x72498a6wcscpy_s
24260x72498acwcscspn
24270x72498b2wcslen
24280x72498b8wcsncat
24290x72498bewcsncat_s
24300x72498c4wcsncmp
24310x72498cawcsncpy
24320x72498d0wcsncpy_s
24330x72498d6wcsnlen
24340x72498dcwcspbrk
24350x72498e2wcsrchr
24360x72498e8wcsspn
24370x72498eewcsstr
24380x72498f4wcstok_s
24390x72498fawcstol
24400x7249900wcstombs
24410x7249906wcstoul
+
+
+ + + + +
+ + + + + + + + 2025-12-09T12:27:06.974809 + image/svg+xml + + + Matplotlib v3.3.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ +
+ +
+
+
+ +
+
+

Process Tree

+
+
+
    + + +
  • + 728546301b7008b5a1fb3aea.exe (PID: 4984) +
      + +
    • spiketail.exe (PID: 6044)
    • + +
    +
  • + + + +
  • + notepad.exe (PID: 4836) +
      + +
    • rundll32.exe (PID: 3240)
    • + +
    +
  • + + +
+
+
+ +
+
+

Behavioral Analysis

+
+ + + +
+
+
+

Behavioral Summary

+
+
+ + +
+
+
+ +
    + +
  • C:\Windows\WindowsShell.Manifest
  • + +
  • C:\Windows\System32\kernel.appcore.dll
  • + +
  • \Device\CNG
  • + +
  • C:\Users\Louise\AppData\Local\Temp\728546301b7008b5a1fb3aea.exe
  • + +
  • C:\Users
  • + +
  • C:\Users\Louise
  • + +
  • C:\Users\Louise\AppData
  • + +
  • C:\Users\Louise\AppData\Local
  • + +
  • C:\Users\Louise\AppData\Local\Temp
  • + +
  • C:\Windows\Globalization\Sorting\sortdefault.nls
  • + +
  • C:\Windows\System32\UxTheme.dll.Config
  • + +
  • C:\Windows\System32\uxtheme.dll
  • + +
  • C:\Users\Louise\AppData\Local\Temp\728546301b7008b5a1fb3aea.exe.Local\
  • + +
  • C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_a8625c1886757984
  • + +
  • C:\Windows\System32\windows.storage.dll
  • + +
  • C:\Users\Louise\AppData\Local\Temp\Wldp.dll
  • + +
  • C:\Windows\System32\wldp.dll
  • + +
  • C:\Users\Louise\AppData\Local\Temp\reaffection
  • + +
  • C:\Users\Louise\AppData\Local\Temp\autA266.tmp
  • + +
  • C:\Users\Louise\AppData\Local\Temp\neophobic
  • + +
  • C:\Users\Louise\AppData\Local\Temp\autA2F4.tmp
  • + +
  • C:\Users\Louise\AppData\Local\caprone
  • + +
  • C:\Users\Louise\AppData\Local\caprone\spiketail.exe
  • + +
  • C:\Users\Louise\AppData\Local\Temp\CRYPTSP.dll
  • + +
  • C:\Windows\System32\cryptsp.dll
  • + +
  • C:\Users\Louise\AppData\Local\caprone\spiketail.exe.Local\
  • + +
  • C:\Users\Louise\AppData\Local\caprone\Wldp.dll
  • + +
  • C:\Users\Louise\AppData\Local\Temp\autA9AA.tmp
  • + +
  • C:\Users\Louise\AppData\Local\Temp\autA9E9.tmp
  • + +
  • C:\Users\Louise\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\spiketail.vbs
  • + +
  • C:\Windows\System32\ntdll.dll
  • + +
  • C:\Windows\SysWOW64\rundll32.exe
  • + +
+ +
+
+
+
+ +
    + +
  • C:\Users\Louise\AppData\Local\Temp\autA266.tmp
  • + +
  • C:\Users\Louise\AppData\Local\Temp\autA9AA.tmp
  • + +
+ +
+
+
+
+ +
    + +
  • C:\Users\Louise\AppData\Local\Temp\autA266.tmp
  • + +
  • C:\Users\Louise\AppData\Local\Temp\reaffection
  • + +
  • C:\Users\Louise\AppData\Local\Temp\autA2F4.tmp
  • + +
  • C:\Users\Louise\AppData\Local\Temp\neophobic
  • + +
  • C:\Users\Louise\AppData\Local\caprone\spiketail.exe
  • + +
  • C:\Users\Louise\AppData\Local\Temp\autA9AA.tmp
  • + +
  • C:\Users\Louise\AppData\Local\Temp\autA9E9.tmp
  • + +
  • C:\Users\Louise\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\spiketail.vbs
  • + +
+ +
+
+
+
+ +
    + +
  • C:\Users\Louise\AppData\Local\Temp\autA266.tmp
  • + +
  • C:\Users\Louise\AppData\Local\Temp\autA2F4.tmp
  • + +
  • C:\Users\Louise\AppData\Local\Temp\autA9AA.tmp
  • + +
  • C:\Users\Louise\AppData\Local\Temp\autA9E9.tmp
  • + +
+ +
+
+ +
+
+ +
    + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\SideBySide\PreferExternalManifest
  • + +
  • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Lsa\FipsAlgorithmPolicy\STE
  • + +
  • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Lsa\FipsAlgorithmPolicy\Enabled
  • + +
  • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Lsa\FipsAlgorithmPolicy
  • + +
  • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Lsa\FipsAlgorithmPolicy\MDMEnabled
  • + +
  • HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize\AppsUseLightTheme
  • + +
  • HKEY_CURRENT_USER\Control Panel\Mouse\SwapMouseButtons
  • + +
  • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Nls\CustomLocale\en-US
  • + +
  • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Nls\ExtendedLocale\en-US
  • + +
  • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Nls\Sorting\Versions\000603xx
  • + +
  • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Nls\Sorting\Ids\en-US
  • + +
  • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Nls\Sorting\Ids\en
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{7C5A40EF-A0FB-4BFC-874A-C0F2E0B9FA8E}\Category
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{7C5A40EF-A0FB-4BFC-874A-C0F2E0B9FA8E}\Name
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{7C5A40EF-A0FB-4BFC-874A-C0F2E0B9FA8E}\ParentFolder
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{7C5A40EF-A0FB-4BFC-874A-C0F2E0B9FA8E}\Description
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{7C5A40EF-A0FB-4BFC-874A-C0F2E0B9FA8E}\RelativePath
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{7C5A40EF-A0FB-4BFC-874A-C0F2E0B9FA8E}\ParsingName
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{7C5A40EF-A0FB-4BFC-874A-C0F2E0B9FA8E}\InfoTip
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{7C5A40EF-A0FB-4BFC-874A-C0F2E0B9FA8E}\LocalizedName
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{7C5A40EF-A0FB-4BFC-874A-C0F2E0B9FA8E}\Icon
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{7C5A40EF-A0FB-4BFC-874A-C0F2E0B9FA8E}\Security
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{7C5A40EF-A0FB-4BFC-874A-C0F2E0B9FA8E}\StreamResource
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{7C5A40EF-A0FB-4BFC-874A-C0F2E0B9FA8E}\StreamResourceType
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{7C5A40EF-A0FB-4BFC-874A-C0F2E0B9FA8E}\LocalRedirectOnly
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{7C5A40EF-A0FB-4BFC-874A-C0F2E0B9FA8E}\Roamable
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{7C5A40EF-A0FB-4BFC-874A-C0F2E0B9FA8E}\PreCreate
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{7C5A40EF-A0FB-4BFC-874A-C0F2E0B9FA8E}\Stream
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{7C5A40EF-A0FB-4BFC-874A-C0F2E0B9FA8E}\PublishExpandedPath
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{7C5A40EF-A0FB-4BFC-874A-C0F2E0B9FA8E}\DefinitionFlags
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{7C5A40EF-A0FB-4BFC-874A-C0F2E0B9FA8E}\Attributes
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{7C5A40EF-A0FB-4BFC-874A-C0F2E0B9FA8E}\FolderTypeID
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{7C5A40EF-A0FB-4BFC-874A-C0F2E0B9FA8E}\InitFolderHandler
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\ProgramFilesDir
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{D65231B0-B2F1-4857-A4CE-A8E7C6EA7D27}\Category
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{D65231B0-B2F1-4857-A4CE-A8E7C6EA7D27}\Name
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{D65231B0-B2F1-4857-A4CE-A8E7C6EA7D27}\ParentFolder
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{D65231B0-B2F1-4857-A4CE-A8E7C6EA7D27}\Description
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{D65231B0-B2F1-4857-A4CE-A8E7C6EA7D27}\RelativePath
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{D65231B0-B2F1-4857-A4CE-A8E7C6EA7D27}\ParsingName
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{D65231B0-B2F1-4857-A4CE-A8E7C6EA7D27}\InfoTip
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{D65231B0-B2F1-4857-A4CE-A8E7C6EA7D27}\LocalizedName
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{D65231B0-B2F1-4857-A4CE-A8E7C6EA7D27}\Icon
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{D65231B0-B2F1-4857-A4CE-A8E7C6EA7D27}\Security
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{D65231B0-B2F1-4857-A4CE-A8E7C6EA7D27}\StreamResource
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{D65231B0-B2F1-4857-A4CE-A8E7C6EA7D27}\StreamResourceType
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{D65231B0-B2F1-4857-A4CE-A8E7C6EA7D27}\LocalRedirectOnly
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{D65231B0-B2F1-4857-A4CE-A8E7C6EA7D27}\Roamable
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{D65231B0-B2F1-4857-A4CE-A8E7C6EA7D27}\PreCreate
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{D65231B0-B2F1-4857-A4CE-A8E7C6EA7D27}\Stream
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{D65231B0-B2F1-4857-A4CE-A8E7C6EA7D27}\PublishExpandedPath
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{D65231B0-B2F1-4857-A4CE-A8E7C6EA7D27}\DefinitionFlags
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{D65231B0-B2F1-4857-A4CE-A8E7C6EA7D27}\Attributes
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{D65231B0-B2F1-4857-A4CE-A8E7C6EA7D27}\FolderTypeID
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{D65231B0-B2F1-4857-A4CE-A8E7C6EA7D27}\InitFolderHandler
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{F38BF404-1D43-42F2-9305-67DE0B28FC23}\Category
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{F38BF404-1D43-42F2-9305-67DE0B28FC23}\Name
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{F38BF404-1D43-42F2-9305-67DE0B28FC23}\ParentFolder
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{F38BF404-1D43-42F2-9305-67DE0B28FC23}\Description
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{F38BF404-1D43-42F2-9305-67DE0B28FC23}\RelativePath
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{F38BF404-1D43-42F2-9305-67DE0B28FC23}\ParsingName
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{F38BF404-1D43-42F2-9305-67DE0B28FC23}\InfoTip
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{F38BF404-1D43-42F2-9305-67DE0B28FC23}\LocalizedName
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{F38BF404-1D43-42F2-9305-67DE0B28FC23}\Icon
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{F38BF404-1D43-42F2-9305-67DE0B28FC23}\Security
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{F38BF404-1D43-42F2-9305-67DE0B28FC23}\StreamResource
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{F38BF404-1D43-42F2-9305-67DE0B28FC23}\StreamResourceType
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{F38BF404-1D43-42F2-9305-67DE0B28FC23}\LocalRedirectOnly
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{F38BF404-1D43-42F2-9305-67DE0B28FC23}\Roamable
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{F38BF404-1D43-42F2-9305-67DE0B28FC23}\PreCreate
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{F38BF404-1D43-42F2-9305-67DE0B28FC23}\Stream
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{F38BF404-1D43-42F2-9305-67DE0B28FC23}\PublishExpandedPath
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{F38BF404-1D43-42F2-9305-67DE0B28FC23}\DefinitionFlags
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{F38BF404-1D43-42F2-9305-67DE0B28FC23}\Attributes
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{F38BF404-1D43-42F2-9305-67DE0B28FC23}\FolderTypeID
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{F38BF404-1D43-42F2-9305-67DE0B28FC23}\InitFolderHandler
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\GRE_Initialize\DisableMetaFiles
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\GRE_Initialize\DisableUmpdBufferSizeCheck
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\ProductName
  • + +
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\CurrentBuild
  • + +
+ +
+
+
+
+ +

Nothing to display.

+ +
+
+
+
+ +

Nothing to display.

+ +
+
+
+
+ +
    + +
  • ole32.dll.CoUninitialize
  • + +
  • ole32.dll.CoInitializeEx
  • + +
  • ole32.dll.CoCreateInstance
  • + +
+ +
+
+
+
+ +
    + +
  • "C:\Users\Louise\AppData\Local\Temp\728546301b7008b5a1fb3aea.exe"
  • + +
  • "C:\Windows\SysWOW64\rundll32.exe"
  • + +
+ +
+
+
+
+ +
    + +
  • Local\SM0:4984:168:WilStaging_02
  • + +
  • Local\SM0:6044:168:WilStaging_02
  • + +
  • O656Q78AFX8-XK27
  • + +
  • 217N4TP44BB0J1A9
  • + +
+ +
+
+
+
+ +

Nothing to display.

+ +
+
+
+
+ +

Nothing to display.

+ +
+
+
+
+ +

No results

+ +
+
+
+ +
+
+
+ +
+
+
+ +
+
+
+
+ +
+ +
+
+
+ +
+
+
+
+

Full Path: C:\Users\Louise\AppData\Local\Temp\728546301b7008b5a1fb3aea.exe

+ +

Command Line: "C:\Users\Louise\AppData\Local\Temp\728546301b7008b5a1fb3aea.exe"

+ + +
+
+
+ +
+
+
+ +
+
+
+
+

Full Path: C:\Users\Louise\AppData\Local\caprone\spiketail.exe

+ +

Command Line: "C:\Users\Louise\AppData\Local\Temp\728546301b7008b5a1fb3aea.exe"

+ + +
+
+
+ +
+
+
+ +
+
+
+
+

Full Path: C:\Windows\SysWOW64\svchost.exe

+ +

Command Line: "C:\Users\Louise\AppData\Local\Temp\728546301b7008b5a1fb3aea.exe"

+ + +
+
+
+ +
+
+
+ +
+
+
+
+

Full Path: C:\Windows\System32\notepad.exe

+ +

Command Line: "C:\Windows\system32\notepad.exe"

+ + +
+
+
+ +
+
+
+ +
+
+
+
+

Full Path: C:\Windows\SysWOW64\rundll32.exe

+ +

Command Line: "C:\Windows\SysWOW64\rundll32.exe"

+ + +
+
+
+ +
+ +
+
+
+
+
+
+ +
+
+ +
+
+

Debugger Log

+
+ +
+ +
+

+ +

+
+
+
CAPE Sandbox - Debugger log: Tue Dec  9 11:23:10 2025
+Breakpoint 0 hit by instruction at 0x0084BC30 (thread 5948) EAX=0x600f020 "MZ" EBX=0x2cb2cb0 "81" ECX=0x77480000 "MZ" ntdll.dll ESI=0x7eed9c ESP=0x7eec4c ")q" *ESP=0x847129 EBP=0x7eec98 I
+ActionDispatcher: Scanning region at 0x00820000.
+0x0084BC30  55                       PUSH      EBP                           
+Breakpoint 1 hit by instruction at 0x0084BE32 (thread 5948) EBX=0x6 ECX=0x6232d3c EDX=0x1 ESI=0x7eed9c EDI=0x982 ESP=0x7eec08 *ESP=0x0 EBP=0x7eec48 I
+ActionDispatcher: Setting [ESI+0x4e8] -> [0x007EF284] to 0x77480000.
+0x0084BE32  8B86E8040000             MOV       EAX, [ESI+0x4e8]              
+
+
+
+
+ +
+

+ +

+
+
+
CAPE Sandbox - Debugger log: Tue Dec  9 11:22:40 2025
+Breakpoint 0 hit by instruction at 0x0042EEE3 (thread 2816) EAX=0x6d00000 "MZ" EBX=0x3403638 ECX=0x77480000 "MZ" ntdll.dll ESI=0xe7ec48 ESP=0xe7eaf8 *ESP=0x42a3dc EBP=0xe7eb44 I
+Break at 0x0042EEE3 in svchost.exe (RVA 0x2eee3, thread 2816, Stack 0x00E71000-0x00E80000, ImageBase 0x00400000)
+ActionDispatcher: Scanning region at 0x00400000.
+0x0042EEE3  55                       PUSH      EBP                           
+Breakpoint 1 hit by instruction at 0x0042F0E5 (thread 2816) EBX=0x6 ECX=0x6f72d3c EDX=0x1 ESI=0xe7ec48 EDI=0x982 ESP=0xe7eab4 *ESP=0x0 EBP=0xe7eaf4 I
+ActionDispatcher: Setting [ESI+0x4e8] -> [0x00E7F130] to 0x77480000.
+0x0042F0E5  8B86E8040000             MOV       EAX, [ESI+0x4e8]              
+
+
+
+
+ +
+

+ +

+
+
+
CAPE Sandbox - Debugger log: Tue Dec  9 11:23:18 2025
+Breakpoint 2 hit by instruction at 0x000001BF163E2AD8 (thread 4840) RAX=0x1 RBX=0x1bf163fd8c8 RCX=0x1bf163fd8c8 RSI=0x7ff6ec590000 "MZ" notepad.exe RSP=0x914ee7f5d8 *RSP=0x1bf163eea25 RBP=0x914ee7f640 R8=0x14 R9=0x29 R10=0xc9 R11=0x914ee7f510 R14=0x8024f R15=0x7ff6ec590000 "MZ" notepad.exe Xmm0.Low=0x6574616572436f43 Xmm0.High=0x65636e6174736e49 Xmm1.Low=0x5212000001bf163e Xmm1.High=0x1bf163ed4e100 I
+ActionDispatcher: Scanning region at 0x000001BF16390000.
+0x000001BF163E2AD8  4055                     PUSH      RBP                           
+Breakpoint 0 hit by instruction at 0x000001BF163E44C8 (thread 4840) RBX=0x13d22000 RCX=0x1bf164016d8 "www.9206mgrgr.one" RDX=0x914ee7f5f0 RSI=0x7ff6ec590000 "MZ" notepad.exe RSP=0x914ee7f1e8 *RSP=0x1bf163e2d00 RBP=0x914ee7f2f0 R9=0xb6 R10=0xb8 R11=0x914ee7f110 R13=0x1bf163fd8c8 R14=0x8024f R15=0x7ff6ec590000 "MZ" notepad.exe Xmm0.Low=0x6574616572436f43 Xmm0.High=0x65636e6174736e49 Xmm1.Low=0x5212000001bf163e Xmm1.High=0x1bf163ed4e100 PZI
+String captured at 0x000001BF164016D8: "www.9206mgrgr.one"
+0x000001BF163E44C8  4053                     PUSH      RBX                           
+Breakpoint 1 hit by instruction at 0x000001BF163E2EB4 (thread 4840) RAX=0x1 RBX=0x15 RCX=0x12dc756541c RDX=0x914ee7f166 RSI=0x4 RDI=0x914ee7f2e4 "hospitality-guest.com" RSP=0x914ee7f1f0 *RSP=0x38 RBP=0x914ee7f2f0 "guest.com" R9=0xaf R10=0xb8 R11=0x914ee7f0c0 R13=0x1bf163fd8c8 R14=0x1bf164016d8 "www.9206mgrgr.one" R15=0x7ff6ec590000 "MZ" notepad.exe Xmm0.Low=0x6574616572436f43 Xmm0.High=0x65636e6174736e49 Xmm1.Low=0x5212000001bf163e Xmm1.High=0x1bf163ed4e100 PI
+String captured at 0x000000914EE7F2E4: "hospitality-guest.com"
+0x000001BF163E2EB4  448D1C33                 LEA       R11D, [RBX+RSI]               
+Breakpoint 1 hit by instruction at 0x000001BF163E2EB4 (thread 4840) RAX=0x1 RBX=0xa RCX=0x12dc756541c RDX=0x914ee7f166 RSI=0x4 RDI=0x914ee7f2e4 "oi3tf2.vip" RSP=0x914ee7f1f0 *RSP=0x34 RBP=0x914ee7f2f0 R9=0xaf R10=0xb8 R11=0x914ee7f0c0 R12=0x290 R13=0x1bf163fd8c8 R14=0x1bf164016d8 "www.9206mgrgr.one" R15=0x7ff6ec590000 "MZ" notepad.exe Xmm0.Low=0x6574616572436f43 Xmm0.High=0x65636e6174736e49 Xmm1.Low=0x5212000001bf163e Xmm1.High=0x1bf163ed4e100 PI
+String captured at 0x000000914EE7F2E4: "oi3tf2.vip"
+0x000001BF163E2EB4  448D1C33                 LEA       R11D, [RBX+RSI]               
+Breakpoint 1 hit by instruction at 0x000001BF163E2EB4 (thread 4840) RAX=0x1 RBX=0x10 RCX=0x12dc756541c RDX=0x914ee7f166 RSI=0x4 RDI=0x914ee7f2e4 "thisismy.gallery" RSP=0x914ee7f1f0 *RSP=0x37 RBP=0x914ee7f2f0 "lery" R9=0xaf R10=0xb8 R11=0x914ee7f0c0 R12=0x520 R13=0x1bf163fd8c8 R14=0x1bf164016d8 "www.9206mgrgr.one" R15=0x7ff6ec590000 "MZ" notepad.exe Xmm0.Low=0x6574616572436f43 Xmm0.High=0x65636e6174736e49 Xmm1.Low=0x5212000001bf163e Xmm1.High=0x1bf163ed4e100 PI
+String captured at 0x000000914EE7F2E4: "thisismy.gallery"
+0x000001BF163E2EB4  448D1C33                 LEA       R11D, [RBX+RSI]               
+Breakpoint 1 hit by instruction at 0x000001BF163E2EB4 (thread 4840) RAX=0x1 RBX=0xd RCX=0x12dc756541c RDX=0x914ee7f166 RSI=0x4 RDI=0x914ee7f2e4 "fruitmyday.ie" RSP=0x914ee7f1f0 *RSP=0x2a RBP=0x914ee7f2f0 R9=0xaf R10=0xb8 R11=0x914ee7f0c0 R12=0x7b0 R13=0x1bf163fd8c8 R14=0x1bf164016d8 "www.9206mgrgr.one" R15=0x7ff6ec590000 "MZ" notepad.exe Xmm0.Low=0x6574616572436f43 Xmm0.High=0x65636e6174736e49 Xmm1.Low=0x5212000001bf163e Xmm1.High=0x1bf163ed4e100 PI
+String captured at 0x000000914EE7F2E4: "fruitmyday.ie"
+0x000001BF163E2EB4  448D1C33                 LEA       R11D, [RBX+RSI]               
+Breakpoint 1 hit by instruction at 0x000001BF163E2EB4 (thread 4840) RAX=0x1 RBX=0x8 RCX=0x12dc756541c RDX=0x914ee7f166 RSI=0x4 RDI=0x914ee7f2e4 "lrme.xyz" RSP=0x914ee7f1f0 *RSP=0x40 RBP=0x914ee7f2f0 R9=0xaf R10=0xb8 R11=0x914ee7f0c0 R12=0xa40 R13=0x1bf163fd8c8 R14=0x1bf164016d8 "www.9206mgrgr.one" R15=0x7ff6ec590000 "MZ" notepad.exe Xmm0.Low=0x6574616572436f43 Xmm0.High=0x65636e6174736e49 Xmm1.Low=0x5212000001bf163e Xmm1.High=0x1bf163ed4e100 PI
+String captured at 0x000000914EE7F2E4: "lrme.xyz"
+0x000001BF163E2EB4  448D1C33                 LEA       R11D, [RBX+RSI]               
+Breakpoint 1 hit by instruction at 0x000001BF163E2EB4 (thread 4840) RAX=0x1 RBX=0xb RCX=0x12dc756541c RDX=0x914ee7f166 RSI=0x4 RDI=0x914ee7f2e4 "qeltrbu.sbs" RSP=0x914ee7f1f0 *RSP=0x31 RBP=0x914ee7f2f0 R9=0xaf R10=0xb8 R11=0x914ee7f0c0 R12=0xcd0 R13=0x1bf163fd8c8 R14=0x1bf164016d8 "www.9206mgrgr.one" R15=0x7ff6ec590000 "MZ" notepad.exe Xmm0.Low=0x6574616572436f43 Xmm0.High=0x65636e6174736e49 Xmm1.Low=0x5212000001bf163e Xmm1.High=0x1bf163ed4e100 PI
+String captured at 0x000000914EE7F2E4: "qeltrbu.sbs"
+0x000001BF163E2EB4  448D1C33                 LEA       R11D, [RBX+RSI]               
+Breakpoint 1 hit by instruction at 0x000001BF163E2EB4 (thread 4840) RAX=0x1 RBX=0xa RCX=0x12dc756541c RDX=0x914ee7f166 RSI=0x4 RDI=0x914ee7f2e4 "659965.com" RSP=0x914ee7f1f0 *RSP=0x24 RBP=0x914ee7f2f0 R9=0xaf R10=0xb8 R11=0x914ee7f0c0 R12=0xf60 R13=0x1bf163fd8c8 R14=0x1bf164016d8 "www.9206mgrgr.one" R15=0x7ff6ec590000 "MZ" notepad.exe Xmm0.Low=0x6574616572436f43 Xmm0.High=0x65636e6174736e49 Xmm1.Low=0x5212000001bf163e Xmm1.High=0x1bf163ed4e100 PI
+String captured at 0x000000914EE7F2E4: "659965.com"
+0x000001BF163E2EB4  448D1C33                 LEA       R11D, [RBX+RSI]               
+Breakpoint 1 hit by instruction at 0x000001BF163E2EB4 (thread 4840) RAX=0x1 RBX=0x16 RCX=0x12dc756541c RDX=0x914ee7f166 RSI=0x4 RDI=0x914ee7f2e4 "desamiantage-expert.fr" RSP=0x914ee7f1f0 *RSP=0x11 RBP=0x914ee7f2f0 "-expert.fr" R9=0xaf R10=0xb8 R11=0x914ee7f0c0 R12=0x11f0 R13=0x1bf163fd8c8 R14=0x1bf164016d8 "www.9206mgrgr.one" R15=0x7ff6ec590000 "MZ" notepad.exe Xmm0.Low=0x6574616572436f43 Xmm0.High=0x65636e6174736e49 Xmm1.Low=0x5212000001bf163e Xmm1.High=0x1bf163ed4e100 PI
+String captured at 0x000000914EE7F2E4: "desamiantage-expert.fr"
+0x000001BF163E2EB4  448D1C33                 LEA       R11D, [RBX+RSI]               
+Breakpoint 1 hit by instruction at 0x000001BF163E2EB4 (thread 4840) RAX=0x1 RBX=0xb RCX=0x12dc756541c RDX=0x914ee7f166 RSI=0x4 RDI=0x914ee7f2e4 "melvix.life" RSP=0x914ee7f1f0 *RSP=0x13 RBP=0x914ee7f2f0 R9=0xaf R10=0xb8 R11=0x914ee7f0c0 R12=0x1480 R13=0x1bf163fd8c8 R14=0x1bf164016d8 "www.9206mgrgr.one" R15=0x7ff6ec590000 "MZ" notepad.exe Xmm0.Low=0x6574616572436f43 Xmm0.High=0x65636e6174736e49 Xmm1.Low=0x5212000001bf163e Xmm1.High=0x1bf163ed4e100 PI
+String captured at 0x000000914EE7F2E4: "melvix.life"
+0x000001BF163E2EB4  448D1C33                 LEA       R11D, [RBX+RSI]               
+Breakpoint 1 hit by instruction at 0x000001BF163E2EB4 (thread 4840) RAX=0x1 RBX=0xd RCX=0x12dc756541c RDX=0x914ee7f166 RSI=0x4 RDI=0x914ee7f2e4 "esra-ozer.com" RSP=0x914ee7f1f0 *RSP=0x2 RBP=0x914ee7f2f0 R9=0xaf R10=0xb8 R11=0x914ee7f0c0 R12=0x1710 R13=0x1bf163fd8c8 R14=0x1bf164016d8 "www.9206mgrgr.one" R15=0x7ff6ec590000 "MZ" notepad.exe Xmm0.Low=0x6574616572436f43 Xmm0.High=0x65636e6174736e49 Xmm1.Low=0x5212000001bf163e Xmm1.High=0x1bf163ed4e100 PI
+String captured at 0x000000914EE7F2E4: "esra-ozer.com"
+0x000001BF163E2EB4  448D1C33                 LEA       R11D, [RBX+RSI]               
+Breakpoint 1 hit by instruction at 0x000001BF163E2EB4 (thread 4840) RAX=0x1 RBX=0xb RCX=0x12dc756541c RDX=0x914ee7f166 RSI=0x4 RDI=0x914ee7f2e4 "hga2030.com" RSP=0x914ee7f1f0 *RSP=0x1f RBP=0x914ee7f2f0 R9=0xaf R10=0xb8 R11=0x914ee7f0c0 R12=0x19a0 R13=0x1bf163fd8c8 R14=0x1bf164016d8 "www.9206mgrgr.one" R15=0x7ff6ec590000 "MZ" notepad.exe Xmm0.Low=0x6574616572436f43 Xmm0.High=0x65636e6174736e49 Xmm1.Low=0x5212000001bf163e Xmm1.High=0x1bf163ed4e100 PI
+String captured at 0x000000914EE7F2E4: "hga2030.com"
+0x000001BF163E2EB4  448D1C33                 LEA       R11D, [RBX+RSI]               
+Breakpoint 1 hit by instruction at 0x000001BF163E2EB4 (thread 4840) RAX=0x1 RBX=0x11 RCX=0x12dc756541c RDX=0x914ee7f166 RSI=0x4 RDI=0x914ee7f2e4 "auto-trade-174.ru" RSP=0x914ee7f1f0 *RSP=0x20 RBP=0x914ee7f2f0 "74.ru" R9=0xaf R10=0xb8 R11=0x914ee7f0c0 R12=0x1c30 R13=0x1bf163fd8c8 R14=0x1bf164016d8 "www.9206mgrgr.one" R15=0x7ff6ec590000 "MZ" notepad.exe Xmm0.Low=0x6574616572436f43 Xmm0.High=0x65636e6174736e49 Xmm1.Low=0x5212000001bf163e Xmm1.High=0x1bf163ed4e100 PI
+String captured at 0x000000914EE7F2E4: "auto-trade-174.ru"
+0x000001BF163E2EB4  448D1C33                 LEA       R11D, [RBX+RSI]               
+Breakpoint 1 hit by instruction at 0x000001BF163E2EB4 (thread 4840) RAX=0x1 RBX=0xd RCX=0x12dc756541c RDX=0x914ee7f166 RSI=0x4 RDI=0x914ee7f2e4 "akvapuziki.ru" RSP=0x914ee7f1f0 *RSP=0xa RBP=0x914ee7f2f0 R9=0xaf R10=0xb8 R11=0x914ee7f0c0 R12=0x1ec0 R13=0x1bf163fd8c8 R14=0x1bf164016d8 "www.9206mgrgr.one" R15=0x7ff6ec590000 "MZ" notepad.exe Xmm0.Low=0x6574616572436f43 Xmm0.High=0x65636e6174736e49 Xmm1.Low=0x5212000001bf163e Xmm1.High=0x1bf163ed4e100 PI
+String captured at 0x000000914EE7F2E4: "akvapuziki.ru"
+0x000001BF163E2EB4  448D1C33                 LEA       R11D, [RBX+RSI]               
+Breakpoint 1 hit by instruction at 0x000001BF163E2EB4 (thread 4840) RAX=0x1 RBX=0x13 RCX=0x12dc756541c RDX=0x914ee7f166 RSI=0x4 RDI=0x914ee7f2e4 "veritas-veridic.com" RSP=0x914ee7f1f0 *RSP=0x22 RBP=0x914ee7f2f0 "dic.com" R9=0xaf R10=0xb8 R11=0x914ee7f0c0 R12=0x2150 R13=0x1bf163fd8c8 R14=0x1bf164016d8 "www.9206mgrgr.one" R15=0x7ff6ec590000 "MZ" notepad.exe Xmm0.Low=0x6574616572436f43 Xmm0.High=0x65636e6174736e49 Xmm1.Low=0x5212000001bf163e Xmm1.High=0x1bf163ed4e100 PI
+String captured at 0x000000914EE7F2E4: "veritas-veridic.com"
+0x000001BF163E2EB4  448D1C33                 LEA       R11D, [RBX+RSI]               
+Breakpoint 1 hit by instruction at 0x000001BF163E2EB4 (thread 4840) RAX=0x1 RBX=0x9 RCX=0x12dc756541c RDX=0x914ee7f166 RSI=0x4 RDI=0x914ee7f2e4 "cg044.top" RSP=0x914ee7f1f0 *RSP=0xc RBP=0x914ee7f2f0 R9=0xaf R10=0xb8 R11=0x914ee7f0c0 R12=0x23e0 R13=0x1bf163fd8c8 R14=0x1bf164016d8 "www.9206mgrgr.one" R15=0x7ff6ec590000 "MZ" notepad.exe Xmm0.Low=0x6574616572436f43 Xmm0.High=0x65636e6174736e49 Xmm1.Low=0x5212000001bf163e Xmm1.High=0x1bf163ed4e100 PI
+String captured at 0x000000914EE7F2E4: "cg044.top"
+0x000001BF163E2EB4  448D1C33                 LEA       R11D, [RBX+RSI]               
+Breakpoint 1 hit by instruction at 0x000001BF163E2EB4 (thread 4840) RAX=0x1 RBX=0xd RCX=0x12dc756541c RDX=0x914ee7f166 RSI=0x4 RDI=0x914ee7f2e4 "sofaluxia.com" RSP=0x914ee7f1f0 *RSP=0x3e RBP=0x914ee7f2f0 R9=0xaf R10=0xb8 R11=0x914ee7f0c0 R12=0x2670 R13=0x1bf163fd8c8 R14=0x1bf164016d8 "www.9206mgrgr.one" R15=0x7ff6ec590000 "MZ" notepad.exe Xmm0.Low=0x6574616572436f43 Xmm0.High=0x65636e6174736e49 Xmm1.Low=0x5212000001bf163e Xmm1.High=0x1bf163ed4e100 PI
+String captured at 0x000000914EE7F2E4: "sofaluxia.com"
+0x000001BF163E2EB4  448D1C33                 LEA       R11D, [RBX+RSI]               
+
+
+
+
+ +
+

+ +

+
+
+
CAPE Sandbox - Debugger log: Tue Dec  9 11:22:35 2025
+Breakpoint 0 hit by instruction at 0x00AA886D (thread 4964) EAX=0x11ff8dc EBX=0xc85000 ECX=0xaa8690 728546301b7008b5a1fb3aea.exe EDX=0xaa8690 728546301b7008b5a1fb3aea.exe ESI=0xaa8690 728546301b7008b5a1fb3aea.exe EDI=0xaa8690 728546301b7008b5a1fb3aea.exe ESP=0x11ff95c *ESP=0x758afa29 kernel32.dll EBP=0x11ff968 CPI
+Break at 0x00AA886D in 728546301b7008b5a1fb3aea.exe (RVA 0x13886d, thread 4964, Stack 0x011F2000-0x01200000, ImageBase 0x00970000)
+0x00AA886D  E9857CEEFF               JMP       0x009904F7                    
+0x009904F7  E86E050000               CALL      0x573                         
+ProcessOEP: Dumped module with OEP at 0x009904F7.
+
+
+
+
+ +
+

+ +

+
+
+
CAPE Sandbox - Debugger log: Tue Dec  9 11:22:37 2025
+Breakpoint 0 hit by instruction at 0x00B3886D (thread 4708) EAX=0x167fb98 EBX=0x11bb000 ECX=0xb38690 spiketail.exe EDX=0xb38690 spiketail.exe ESI=0xb38690 spiketail.exe EDI=0xb38690 spiketail.exe ESP=0x167fc18 *ESP=0x758afa29 kernel32.dll EBP=0x167fc24 CPI
+Break at 0x00B3886D in spiketail.exe (RVA 0x13886d, thread 4708, Stack 0x01672000-0x01680000, ImageBase 0x00A00000)
+0x00B3886D  E9857CEEFF               JMP       0x00A204F7                    
+0x00A204F7  E86E050000               CALL      0x573                         
+ProcessOEP: Dumped module with OEP at 0x00A204F7.
+Breakpoint 1 hit by instruction at 0x04252E22 (thread 4708) EAX=0x1 ECX=0x1 EDX=0x14c ESI=0x165ea60 EDI=0x165e994 ESP=0x165e994 *ESP=0x38 EBP=0x165eaa4 I
+ActionDispatcher: setting EAX to 0x0.
+0x04252E22  85C0                     TEST      EAX, EAX                      
+Breakpoint 1 hit by instruction at 0x04252FA3 (thread 4708) EAX=0x1 ECX=0x1 EDX=0x14c ESI=0x165ea34 EDI=0x165e968 ESP=0x165e968 *ESP=0x50 EBP=0x165ea98 I
+ActionDispatcher: setting EAX to 0x0.
+0x04252FA3  85C0                     TEST      EAX, EAX                      
+Breakpoint 1 hit by instruction at 0x04252FA3 (thread 4708) EAX=0x1 ECX=0x1 EDX=0x14c ESI=0x165ea34 EDI=0x165e968 ESP=0x165e968 *ESP=0x50 EBP=0x165ea98 I
+ActionDispatcher: setting EAX to 0x0.
+0x04252FA3  85C0                     TEST      EAX, EAX                      
+Breakpoint 1 hit by instruction at 0x04252972 (thread 4708) EAX=0x1 ECX=0x1 EDX=0x14c ESI=0x165ea74 EDI=0x165e9a8 ESP=0x165e9a8 *ESP=0x28 EBP=0x165eaac I
+ActionDispatcher: setting EAX to 0x0.
+0x04252972  85C0                     TEST      EAX, EAX                      
+Breakpoint 1 hit by instruction at 0x04252CA2 (thread 4708) EAX=0x1 ECX=0x1 EDX=0x14c ESI=0x165ea9c EDI=0x165e9d0 ESP=0x165e9d0 *ESP=0x10 EBP=0x165eabc I
+ActionDispatcher: setting EAX to 0x0.
+0x04252CA2  85C0                     TEST      EAX, EAX                      
+Breakpoint 1 hit by instruction at 0x04252D6A (thread 4708) EAX=0x1 ECX=0x1 EDX=0x14c ESI=0x165eaa4 EDI=0x165e9d8 ESP=0x165e9d8 *ESP=0x10 EBP=0x165eab8 I
+ActionDispatcher: setting EAX to 0x0.
+0x04252D6A  85C0                     TEST      EAX, EAX                      
+
+
+
+
+ +
+ +
+ +
+
+ + + +
+ + \ No newline at end of file diff --git a/tests/web/test_submission_views.py b/tests/web/test_submission_views.py index 5896cf79428..e802b6bd821 100644 --- a/tests/web/test_submission_views.py +++ b/tests/web/test_submission_views.py @@ -60,7 +60,7 @@ def test_submission_page(self): submission_page = self.client.get("/submit/#file") self.assertIsNotNone(submission_page.content) self.assertIn("Analysis Package", submission_page.content.decode()) - pattern = re.compile(r'select class="form-control" id="form_package" name="package">(.*?)', flags=re.DOTALL) + pattern = re.compile(r'select class="form-control.*?" id="form_package" name="package">(.*?)', flags=re.DOTALL) matches = re.findall(pattern, submission_page.content.decode()) self.assertEqual(len(matches), 1) group0 = matches[0].strip() diff --git a/utils/community.py b/utils/community.py index e6902f95a85..0f82955e7e2 100644 --- a/utils/community.py +++ b/utils/community.py @@ -89,11 +89,11 @@ def install(enabled, force, rewrite, clean=False, filepath: str = False, access_ if b"Not Found" == data: print("You don't have permissions to access this repo") - sys.exit(-1) + return t = tarfile.TarFile.open(fileobj=BytesIO(data), mode="r:gz") except Exception as e: print("ERROR: Unable to download archive: %s" % e) - sys.exit(-1) + return folders = { "feeds": "modules/feeds", diff --git a/web/analysis/templatetags/analysis_tags.py b/web/analysis/templatetags/analysis_tags.py index 791dfffcd2b..cd23811a835 100644 --- a/web/analysis/templatetags/analysis_tags.py +++ b/web/analysis/templatetags/analysis_tags.py @@ -62,7 +62,7 @@ def get_item(dictionary, key): return dictionary.get(key, "") -malware_name_url_pattern = """{malware_name}""" +malware_name_url_pattern = """{malware_name}""" @register.filter("get_detection_by_pid") diff --git a/web/analysis/views.py b/web/analysis/views.py index 3db18dd3250..c3945fe4764 100644 --- a/web/analysis/views.py +++ b/web/analysis/views.py @@ -993,7 +993,7 @@ def filtered_chunk(request, task_id, pid, category, apilist, caller, tid): else: filtered_process["calls"].append(call) - if record["info"]["machine"]["platform"] == "linux": + if record.get("info", {}).get("machine", {}).get("platform", "") == "linux": return render(request, "analysis/strace/_chunk.html", {"chunk": filtered_process}) else: return render(request, "analysis/behavior/_chunk.html", {"chunk": filtered_process}) diff --git a/web/static/css/style.css b/web/static/css/style.css index 0f0f609ce06..739bd536984 100644 --- a/web/static/css/style.css +++ b/web/static/css/style.css @@ -28,9 +28,13 @@ a { display: block !important; } -.alert-primary +.alert-primary, .alert-info { - background-color: #303030 + background-color: #1c1c1c +} + +.alert-info code { + color: white; } .nav-link { @@ -117,9 +121,9 @@ footer a:hover { .center { text-align: center; } -.mono { - font-family: monospace; - font-size: medium; +td code { + white-space: pre-wrap; + word-break: break-all; } .content { background-color: white; @@ -166,6 +170,76 @@ h4, .h4 { font-size: 18px; } +.page-header { + margin-bottom: 10px; +} +.filter-box { + display : none; + padding-top: 15px; + height : auto; + width : 40%; +} +/* Fix the icon tab override */ +.nav-tabs > .active > a > [class^="icon-"],.nav-tabs>.active>a>[class*=" icon-"] { background-image:url("../img/glyphicons-halflings.png") !important; } + +td { + word-wrap: break-word; + word-break: break-all; +} + +.tab-content { + margin-top: 25px; +} + +.row-active { + background-color:darkred; +} + +pre { + white-space: -moz-pre-wrap; + white-space: -pre-wrap; + white-space: -o-pre-wrap; + word-wrap: break-word; +} + +.extracted-config > table > tbody > tr > td { + font-family: monospace; + font-size: 87.5%; +} + +.tcp-flow { + list-style-type: none; +} +.tcp-flow li { + margin-bottom: 20px; +} +.tcp-out { +} +.tcp-out pre { + padding: 0; + border: 0; + /*background-color: white;*/ + color: #d9534f; +} +.tcp-in { + padding-left: 100px; +} +.tcp-in pre { + padding: 0; + border: 0; + /*background-color: white;*/ + color: #5bc0de; +} +.filter-toggle { + display: inline-block; + cursor: pointer; +} + +.form-control { + background-color: darkgray; + color:black; +} + /* Windows API categories */ .filesystem { background-color: #ffe3c5; @@ -265,71 +339,26 @@ h4, .h4 { background-color: #ffc5ee; color: black; } -.page-header { - margin-bottom: 10px; -} -.filter-box { - display : none; - padding-top: 15px; - height : auto; - width : 40%; -} -/* Fix the icon tab override */ -.nav-tabs > .active > a > [class^="icon-"],.nav-tabs>.active>a>[class*=" icon-"] { background-image:url("../img/glyphicons-halflings.png") !important; } - -td { - word-wrap: break-word; -} - -.tab-content { - margin-top: 25px; -} - -.row-active { - background-color:darkred; -} - -pre { - white-space: -moz-pre-wrap; - white-space: -pre-wrap; - white-space: -o-pre-wrap; - word-wrap: break-word; -} - -.extracted-config > table > tbody > tr > td { - font-family: monospace; - font-size: 87.5%; -} -.tcp-flow { - list-style-type: none; -} -.tcp-flow li { - margin-bottom: 20px; -} -.tcp-out { -} -.tcp-out pre { - padding: 0; - border: 0; - /*background-color: white;*/ - color: #d9534f; -} -.tcp-in { - padding-left: 100px; -} -.tcp-in pre { - padding: 0; - border: 0; - /*background-color: white;*/ - color: #5bc0de; -} -.filter-toggle { - display: inline-block; - cursor: pointer; -} - -.form-control { - background-color: darkgray; - color:black; -} +.btn-cat-filesystem { background-color: #ffe3c5; color: black; border-color: #ffe3c5; } +.btn-cat-filesystem:hover { color: black; } +.btn-cat-registry { background-color: #ffc5c5; color: black; border-color: #ffc5c5; } +.btn-cat-registry:hover { color: black; } +.btn-cat-process { background-color: #c5e0ff; color: black; border-color: #c5e0ff; } +.btn-cat-process:hover { color: black; } +.btn-cat-threading { background-color: #d3e0ff; color: black; border-color: #d3e0ff; } +.btn-cat-threading:hover { color: black; } +.btn-cat-services { background-color: #ccc5ff; color: black; border-color: #ccc5ff; } +.btn-cat-services:hover { color: black; } +.btn-cat-device { background-color: #d3c5cc; color: black; border-color: #d3c5cc; } +.btn-cat-device:hover { color: black; } +.btn-cat-network { background-color: #d3ffc5; color: black; border-color: #d3ffc5; } +.btn-cat-network:hover { color: black; } +.btn-cat-socket { background-color: #d3ffc5; color: black; border-color: #d3ffc5; } +.btn-cat-socket:hover { color: black; } +.btn-cat-synchronization { background-color: #f9c5ff; color: black; border-color: #f9c5ff; } +.btn-cat-synchronization:hover { color: black; } +.btn-cat-browser { background-color: #dfffdf; color: black; border-color: #dfffdf; } +.btn-cat-browser:hover { color: black; } +.btn-cat-crypto { background-color: #f0f2c5; color: black; border-color: #f0f2c5; } +.btn-cat-crypto:hover { color: black; } diff --git a/web/static/js/bootstrap.bundle.min.js b/web/static/js/bootstrap.bundle.min.js new file mode 100644 index 00000000000..04e9185bd63 --- /dev/null +++ b/web/static/js/bootstrap.bundle.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v5.3.3 (https://getbootstrap.com/) + * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use strict";const t=new Map,e={set(e,i,n){t.has(e)||t.set(e,new Map);const s=t.get(e);s.has(i)||0===s.size?s.set(i,n):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(s.keys())[0]}.`)},get:(e,i)=>t.has(e)&&t.get(e).get(i)||null,remove(e,i){if(!t.has(e))return;const n=t.get(e);n.delete(i),0===n.size&&t.delete(e)}},i="transitionend",n=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),s=t=>{t.dispatchEvent(new Event(i))},o=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),r=t=>o(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(n(t)):null,a=t=>{if(!o(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},l=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),c=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?c(t.parentNode):null},h=()=>{},d=t=>{t.offsetHeight},u=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,f=[],p=()=>"rtl"===document.documentElement.dir,m=t=>{var e;e=()=>{const e=u();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(f.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of f)t()})),f.push(e)):e()},g=(t,e=[],i=t)=>"function"==typeof t?t(...e):i,_=(t,e,n=!0)=>{if(!n)return void g(t);const o=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let r=!1;const a=({target:n})=>{n===e&&(r=!0,e.removeEventListener(i,a),g(t))};e.addEventListener(i,a),setTimeout((()=>{r||s(e)}),o)},b=(t,e,i,n)=>{const s=t.length;let o=t.indexOf(e);return-1===o?!i&&n?t[s-1]:t[0]:(o+=i?1:-1,n&&(o=(o+s)%s),t[Math.max(0,Math.min(o,s-1))])},v=/[^.]*(?=\..*)\.|.*/,y=/\..*/,w=/::\d+$/,A={};let E=1;const T={mouseenter:"mouseover",mouseleave:"mouseout"},C=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function O(t,e){return e&&`${e}::${E++}`||t.uidEvent||E++}function x(t){const e=O(t);return t.uidEvent=e,A[e]=A[e]||{},A[e]}function k(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function L(t,e,i){const n="string"==typeof e,s=n?i:e||i;let o=I(t);return C.has(o)||(o=t),[n,s,o]}function S(t,e,i,n,s){if("string"!=typeof e||!t)return;let[o,r,a]=L(e,i,n);if(e in T){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=x(t),c=l[a]||(l[a]={}),h=k(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=O(r,e.replace(v,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return P(s,{delegateTarget:r}),n.oneOff&&N.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return P(n,{delegateTarget:t}),i.oneOff&&N.off(t,n.type,e),e.apply(t,[n])}}(t,r);u.delegationSelector=o?i:null,u.callable=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function D(t,e,i,n,s){const o=k(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function $(t,e,i,n){const s=e[i]||{};for(const[o,r]of Object.entries(s))o.includes(n)&&D(t,e,i,r.callable,r.delegationSelector)}function I(t){return t=t.replace(y,""),T[t]||t}const N={on(t,e,i,n){S(t,e,i,n,!1)},one(t,e,i,n){S(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=L(e,i,n),a=r!==e,l=x(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))$(t,l,i,e.slice(1));for(const[i,n]of Object.entries(c)){const s=i.replace(w,"");a&&!e.includes(s)||D(t,l,r,n.callable,n.delegationSelector)}}else{if(!Object.keys(c).length)return;D(t,l,r,o,s?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=u();let s=null,o=!0,r=!0,a=!1;e!==I(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());const l=P(new Event(e,{bubbles:o,cancelable:!0}),i);return a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function P(t,e={}){for(const[i,n]of Object.entries(e))try{t[i]=n}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>n})}return t}function j(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function M(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const F={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${M(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${M(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const n of i){let i=n.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=j(t.dataset[n])}return e},getDataAttribute:(t,e)=>j(t.getAttribute(`data-bs-${M(e)}`))};class H{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=o(e)?F.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...o(e)?F.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[n,s]of Object.entries(e)){const e=t[n],r=o(e)?"element":null==(i=e)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(r))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${r}" but expected type "${s}".`)}var i}}class W extends H{constructor(t,i){super(),(t=r(t))&&(this._element=t,this._config=this._getConfig(i),e.set(this._element,this.constructor.DATA_KEY,this))}dispose(){e.remove(this._element,this.constructor.DATA_KEY),N.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){_(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return e.get(r(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.3.3"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const B=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return e?e.split(",").map((t=>n(t))).join(","):null},z={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode.closest(e);for(;n;)i.push(n),n=n.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!l(t)&&a(t)))},getSelectorFromElement(t){const e=B(t);return e&&z.findOne(e)?e:null},getElementFromSelector(t){const e=B(t);return e?z.findOne(e):null},getMultipleElementsFromSelector(t){const e=B(t);return e?z.find(e):[]}},R=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,n=t.NAME;N.on(document,i,`[data-bs-dismiss="${n}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),l(this))return;const s=z.getElementFromSelector(this)||this.closest(`.${n}`);t.getOrCreateInstance(s)[e]()}))},q=".bs.alert",V=`close${q}`,K=`closed${q}`;class Q extends W{static get NAME(){return"alert"}close(){if(N.trigger(this._element,V).defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),N.trigger(this._element,K),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=Q.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}R(Q,"close"),m(Q);const X='[data-bs-toggle="button"]';class Y extends W{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=Y.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}N.on(document,"click.bs.button.data-api",X,(t=>{t.preventDefault();const e=t.target.closest(X);Y.getOrCreateInstance(e).toggle()})),m(Y);const U=".bs.swipe",G=`touchstart${U}`,J=`touchmove${U}`,Z=`touchend${U}`,tt=`pointerdown${U}`,et=`pointerup${U}`,it={endCallback:null,leftCallback:null,rightCallback:null},nt={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class st extends H{constructor(t,e){super(),this._element=t,t&&st.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return it}static get DefaultType(){return nt}static get NAME(){return"swipe"}dispose(){N.off(this._element,U)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),g(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&g(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(N.on(this._element,tt,(t=>this._start(t))),N.on(this._element,et,(t=>this._end(t))),this._element.classList.add("pointer-event")):(N.on(this._element,G,(t=>this._start(t))),N.on(this._element,J,(t=>this._move(t))),N.on(this._element,Z,(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const ot=".bs.carousel",rt=".data-api",at="next",lt="prev",ct="left",ht="right",dt=`slide${ot}`,ut=`slid${ot}`,ft=`keydown${ot}`,pt=`mouseenter${ot}`,mt=`mouseleave${ot}`,gt=`dragstart${ot}`,_t=`load${ot}${rt}`,bt=`click${ot}${rt}`,vt="carousel",yt="active",wt=".active",At=".carousel-item",Et=wt+At,Tt={ArrowLeft:ht,ArrowRight:ct},Ct={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Ot={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class xt extends W{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=z.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===vt&&this.cycle()}static get Default(){return Ct}static get DefaultType(){return Ot}static get NAME(){return"carousel"}next(){this._slide(at)}nextWhenVisible(){!document.hidden&&a(this._element)&&this.next()}prev(){this._slide(lt)}pause(){this._isSliding&&s(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?N.one(this._element,ut,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void N.one(this._element,ut,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?at:lt;this._slide(n,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&N.on(this._element,ft,(t=>this._keydown(t))),"hover"===this._config.pause&&(N.on(this._element,pt,(()=>this.pause())),N.on(this._element,mt,(()=>this._maybeEnableCycle()))),this._config.touch&&st.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of z.find(".carousel-item img",this._element))N.on(t,gt,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(ct)),rightCallback:()=>this._slide(this._directionToOrder(ht)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new st(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=Tt[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=z.findOne(wt,this._indicatorsElement);e.classList.remove(yt),e.removeAttribute("aria-current");const i=z.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(yt),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),n=t===at,s=e||b(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>N.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r(dt).defaultPrevented)return;if(!i||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const l=n?"carousel-item-start":"carousel-item-end",c=n?"carousel-item-next":"carousel-item-prev";s.classList.add(c),d(s),i.classList.add(l),s.classList.add(l),this._queueCallback((()=>{s.classList.remove(l,c),s.classList.add(yt),i.classList.remove(yt,c,l),this._isSliding=!1,r(ut)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return z.findOne(Et,this._element)}_getItems(){return z.find(At,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return p()?t===ct?lt:at:t===ct?at:lt}_orderToDirection(t){return p()?t===lt?ct:ht:t===lt?ht:ct}static jQueryInterface(t){return this.each((function(){const e=xt.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)}))}}N.on(document,bt,"[data-bs-slide], [data-bs-slide-to]",(function(t){const e=z.getElementFromSelector(this);if(!e||!e.classList.contains(vt))return;t.preventDefault();const i=xt.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");return n?(i.to(n),void i._maybeEnableCycle()):"next"===F.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),N.on(window,_t,(()=>{const t=z.find('[data-bs-ride="carousel"]');for(const e of t)xt.getOrCreateInstance(e)})),m(xt);const kt=".bs.collapse",Lt=`show${kt}`,St=`shown${kt}`,Dt=`hide${kt}`,$t=`hidden${kt}`,It=`click${kt}.data-api`,Nt="show",Pt="collapse",jt="collapsing",Mt=`:scope .${Pt} .${Pt}`,Ft='[data-bs-toggle="collapse"]',Ht={parent:null,toggle:!0},Wt={parent:"(null|element)",toggle:"boolean"};class Bt extends W{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=z.find(Ft);for(const t of i){const e=z.getSelectorFromElement(t),i=z.find(e).filter((t=>t===this._element));null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Ht}static get DefaultType(){return Wt}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>Bt.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(N.trigger(this._element,Lt).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(Pt),this._element.classList.add(jt),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(jt),this._element.classList.add(Pt,Nt),this._element.style[e]="",N.trigger(this._element,St)}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(N.trigger(this._element,Dt).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,d(this._element),this._element.classList.add(jt),this._element.classList.remove(Pt,Nt);for(const t of this._triggerArray){const e=z.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(jt),this._element.classList.add(Pt),N.trigger(this._element,$t)}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(Nt)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=r(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(Ft);for(const e of t){const t=z.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=z.find(Mt,this._config.parent);return z.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=Bt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}N.on(document,It,Ft,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of z.getMultipleElementsFromSelector(this))Bt.getOrCreateInstance(t,{toggle:!1}).toggle()})),m(Bt);var zt="top",Rt="bottom",qt="right",Vt="left",Kt="auto",Qt=[zt,Rt,qt,Vt],Xt="start",Yt="end",Ut="clippingParents",Gt="viewport",Jt="popper",Zt="reference",te=Qt.reduce((function(t,e){return t.concat([e+"-"+Xt,e+"-"+Yt])}),[]),ee=[].concat(Qt,[Kt]).reduce((function(t,e){return t.concat([e,e+"-"+Xt,e+"-"+Yt])}),[]),ie="beforeRead",ne="read",se="afterRead",oe="beforeMain",re="main",ae="afterMain",le="beforeWrite",ce="write",he="afterWrite",de=[ie,ne,se,oe,re,ae,le,ce,he];function ue(t){return t?(t.nodeName||"").toLowerCase():null}function fe(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function pe(t){return t instanceof fe(t).Element||t instanceof Element}function me(t){return t instanceof fe(t).HTMLElement||t instanceof HTMLElement}function ge(t){return"undefined"!=typeof ShadowRoot&&(t instanceof fe(t).ShadowRoot||t instanceof ShadowRoot)}const _e={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];me(s)&&ue(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});me(n)&&ue(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function be(t){return t.split("-")[0]}var ve=Math.max,ye=Math.min,we=Math.round;function Ae(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function Ee(){return!/^((?!chrome|android).)*safari/i.test(Ae())}function Te(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&me(t)&&(s=t.offsetWidth>0&&we(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&we(n.height)/t.offsetHeight||1);var r=(pe(t)?fe(t):window).visualViewport,a=!Ee()&&i,l=(n.left+(a&&r?r.offsetLeft:0))/s,c=(n.top+(a&&r?r.offsetTop:0))/o,h=n.width/s,d=n.height/o;return{width:h,height:d,top:c,right:l+h,bottom:c+d,left:l,x:l,y:c}}function Ce(t){var e=Te(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function Oe(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&ge(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function xe(t){return fe(t).getComputedStyle(t)}function ke(t){return["table","td","th"].indexOf(ue(t))>=0}function Le(t){return((pe(t)?t.ownerDocument:t.document)||window.document).documentElement}function Se(t){return"html"===ue(t)?t:t.assignedSlot||t.parentNode||(ge(t)?t.host:null)||Le(t)}function De(t){return me(t)&&"fixed"!==xe(t).position?t.offsetParent:null}function $e(t){for(var e=fe(t),i=De(t);i&&ke(i)&&"static"===xe(i).position;)i=De(i);return i&&("html"===ue(i)||"body"===ue(i)&&"static"===xe(i).position)?e:i||function(t){var e=/firefox/i.test(Ae());if(/Trident/i.test(Ae())&&me(t)&&"fixed"===xe(t).position)return null;var i=Se(t);for(ge(i)&&(i=i.host);me(i)&&["html","body"].indexOf(ue(i))<0;){var n=xe(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function Ie(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Ne(t,e,i){return ve(t,ye(e,i))}function Pe(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function je(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const Me={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,n=t.name,s=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=be(i.placement),l=Ie(a),c=[Vt,qt].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return Pe("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:je(t,Qt))}(s.padding,i),d=Ce(o),u="y"===l?zt:Vt,f="y"===l?Rt:qt,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],g=$e(o),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,b=p/2-m/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,A=Ne(v,w,y),E=l;i.modifiersData[n]=((e={})[E]=A,e.centerOffset=A-w,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&Oe(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Fe(t){return t.split("-")[1]}var He={top:"auto",right:"auto",bottom:"auto",left:"auto"};function We(t){var e,i=t.popper,n=t.popperRect,s=t.placement,o=t.variation,r=t.offsets,a=t.position,l=t.gpuAcceleration,c=t.adaptive,h=t.roundOffsets,d=t.isFixed,u=r.x,f=void 0===u?0:u,p=r.y,m=void 0===p?0:p,g="function"==typeof h?h({x:f,y:m}):{x:f,y:m};f=g.x,m=g.y;var _=r.hasOwnProperty("x"),b=r.hasOwnProperty("y"),v=Vt,y=zt,w=window;if(c){var A=$e(i),E="clientHeight",T="clientWidth";A===fe(i)&&"static"!==xe(A=Le(i)).position&&"absolute"===a&&(E="scrollHeight",T="scrollWidth"),(s===zt||(s===Vt||s===qt)&&o===Yt)&&(y=Rt,m-=(d&&A===w&&w.visualViewport?w.visualViewport.height:A[E])-n.height,m*=l?1:-1),s!==Vt&&(s!==zt&&s!==Rt||o!==Yt)||(v=qt,f-=(d&&A===w&&w.visualViewport?w.visualViewport.width:A[T])-n.width,f*=l?1:-1)}var C,O=Object.assign({position:a},c&&He),x=!0===h?function(t,e){var i=t.x,n=t.y,s=e.devicePixelRatio||1;return{x:we(i*s)/s||0,y:we(n*s)/s||0}}({x:f,y:m},fe(i)):{x:f,y:m};return f=x.x,m=x.y,l?Object.assign({},O,((C={})[y]=b?"0":"",C[v]=_?"0":"",C.transform=(w.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",C)):Object.assign({},O,((e={})[y]=b?m+"px":"",e[v]=_?f+"px":"",e.transform="",e))}const Be={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:be(e.placement),variation:Fe(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,We(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,We(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var ze={passive:!0};const Re={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=fe(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,ze)})),a&&l.addEventListener("resize",i.update,ze),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,ze)})),a&&l.removeEventListener("resize",i.update,ze)}},data:{}};var qe={left:"right",right:"left",bottom:"top",top:"bottom"};function Ve(t){return t.replace(/left|right|bottom|top/g,(function(t){return qe[t]}))}var Ke={start:"end",end:"start"};function Qe(t){return t.replace(/start|end/g,(function(t){return Ke[t]}))}function Xe(t){var e=fe(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Ye(t){return Te(Le(t)).left+Xe(t).scrollLeft}function Ue(t){var e=xe(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Ge(t){return["html","body","#document"].indexOf(ue(t))>=0?t.ownerDocument.body:me(t)&&Ue(t)?t:Ge(Se(t))}function Je(t,e){var i;void 0===e&&(e=[]);var n=Ge(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=fe(n),r=s?[o].concat(o.visualViewport||[],Ue(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Je(Se(r)))}function Ze(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function ti(t,e,i){return e===Gt?Ze(function(t,e){var i=fe(t),n=Le(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=Ee();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+Ye(t),y:l}}(t,i)):pe(e)?function(t,e){var i=Te(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):Ze(function(t){var e,i=Le(t),n=Xe(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=ve(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=ve(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+Ye(t),l=-n.scrollTop;return"rtl"===xe(s||i).direction&&(a+=ve(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(Le(t)))}function ei(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?be(s):null,r=s?Fe(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case zt:e={x:a,y:i.y-n.height};break;case Rt:e={x:a,y:i.y+i.height};break;case qt:e={x:i.x+i.width,y:l};break;case Vt:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?Ie(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case Xt:e[c]=e[c]-(i[h]/2-n[h]/2);break;case Yt:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function ii(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.strategy,r=void 0===o?t.strategy:o,a=i.boundary,l=void 0===a?Ut:a,c=i.rootBoundary,h=void 0===c?Gt:c,d=i.elementContext,u=void 0===d?Jt:d,f=i.altBoundary,p=void 0!==f&&f,m=i.padding,g=void 0===m?0:m,_=Pe("number"!=typeof g?g:je(g,Qt)),b=u===Jt?Zt:Jt,v=t.rects.popper,y=t.elements[p?b:u],w=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=Je(Se(t)),i=["absolute","fixed"].indexOf(xe(t).position)>=0&&me(t)?$e(t):t;return pe(i)?e.filter((function(t){return pe(t)&&Oe(t,i)&&"body"!==ue(t)})):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce((function(e,i){var s=ti(t,i,n);return e.top=ve(s.top,e.top),e.right=ye(s.right,e.right),e.bottom=ye(s.bottom,e.bottom),e.left=ve(s.left,e.left),e}),ti(t,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(pe(y)?y:y.contextElement||Le(t.elements.popper),l,h,r),A=Te(t.elements.reference),E=ei({reference:A,element:v,strategy:"absolute",placement:s}),T=Ze(Object.assign({},v,E)),C=u===Jt?T:A,O={top:w.top-C.top+_.top,bottom:C.bottom-w.bottom+_.bottom,left:w.left-C.left+_.left,right:C.right-w.right+_.right},x=t.modifiersData.offset;if(u===Jt&&x){var k=x[s];Object.keys(O).forEach((function(t){var e=[qt,Rt].indexOf(t)>=0?1:-1,i=[zt,Rt].indexOf(t)>=0?"y":"x";O[t]+=k[i]*e}))}return O}function ni(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?ee:l,h=Fe(n),d=h?a?te:te.filter((function(t){return Fe(t)===h})):Qt,u=d.filter((function(t){return c.indexOf(t)>=0}));0===u.length&&(u=d);var f=u.reduce((function(e,i){return e[i]=ii(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[be(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const si={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,d=i.rootBoundary,u=i.altBoundary,f=i.flipVariations,p=void 0===f||f,m=i.allowedAutoPlacements,g=e.options.placement,_=be(g),b=l||(_!==g&&p?function(t){if(be(t)===Kt)return[];var e=Ve(t);return[Qe(t),e,Qe(e)]}(g):[Ve(g)]),v=[g].concat(b).reduce((function(t,i){return t.concat(be(i)===Kt?ni(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y=e.rects.reference,w=e.rects.popper,A=new Map,E=!0,T=v[0],C=0;C=0,S=L?"width":"height",D=ii(e,{placement:O,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),$=L?k?qt:Vt:k?Rt:zt;y[S]>w[S]&&($=Ve($));var I=Ve($),N=[];if(o&&N.push(D[x]<=0),a&&N.push(D[$]<=0,D[I]<=0),N.every((function(t){return t}))){T=O,E=!1;break}A.set(O,N)}if(E)for(var P=function(t){var e=v.find((function(e){var i=A.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T=e,"break"},j=p?3:1;j>0&&"break"!==P(j);j--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function oi(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function ri(t){return[zt,qt,Rt,Vt].some((function(e){return t[e]>=0}))}const ai={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=ii(e,{elementContext:"reference"}),a=ii(e,{altBoundary:!0}),l=oi(r,n),c=oi(a,s,o),h=ri(l),d=ri(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},li={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.offset,o=void 0===s?[0,0]:s,r=ee.reduce((function(t,i){return t[i]=function(t,e,i){var n=be(t),s=[Vt,zt].indexOf(n)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[Vt,qt].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}},ci={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=ei({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},hi={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,d=i.padding,u=i.tether,f=void 0===u||u,p=i.tetherOffset,m=void 0===p?0:p,g=ii(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=be(e.placement),b=Fe(e.placement),v=!b,y=Ie(_),w="x"===y?"y":"x",A=e.modifiersData.popperOffsets,E=e.rects.reference,T=e.rects.popper,C="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,O="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),x=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,k={x:0,y:0};if(A){if(o){var L,S="y"===y?zt:Vt,D="y"===y?Rt:qt,$="y"===y?"height":"width",I=A[y],N=I+g[S],P=I-g[D],j=f?-T[$]/2:0,M=b===Xt?E[$]:T[$],F=b===Xt?-T[$]:-E[$],H=e.elements.arrow,W=f&&H?Ce(H):{width:0,height:0},B=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},z=B[S],R=B[D],q=Ne(0,E[$],W[$]),V=v?E[$]/2-j-q-z-O.mainAxis:M-q-z-O.mainAxis,K=v?-E[$]/2+j+q+R+O.mainAxis:F+q+R+O.mainAxis,Q=e.elements.arrow&&$e(e.elements.arrow),X=Q?"y"===y?Q.clientTop||0:Q.clientLeft||0:0,Y=null!=(L=null==x?void 0:x[y])?L:0,U=I+K-Y,G=Ne(f?ye(N,I+V-Y-X):N,I,f?ve(P,U):P);A[y]=G,k[y]=G-I}if(a){var J,Z="x"===y?zt:Vt,tt="x"===y?Rt:qt,et=A[w],it="y"===w?"height":"width",nt=et+g[Z],st=et-g[tt],ot=-1!==[zt,Vt].indexOf(_),rt=null!=(J=null==x?void 0:x[w])?J:0,at=ot?nt:et-E[it]-T[it]-rt+O.altAxis,lt=ot?et+E[it]+T[it]-rt-O.altAxis:st,ct=f&&ot?function(t,e,i){var n=Ne(t,e,i);return n>i?i:n}(at,et,lt):Ne(f?at:nt,et,f?lt:st);A[w]=ct,k[w]=ct-et}e.modifiersData[n]=k}},requiresIfExists:["offset"]};function di(t,e,i){void 0===i&&(i=!1);var n,s,o=me(e),r=me(e)&&function(t){var e=t.getBoundingClientRect(),i=we(e.width)/t.offsetWidth||1,n=we(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=Le(e),l=Te(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==ue(e)||Ue(a))&&(c=(n=e)!==fe(n)&&me(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:Xe(n)),me(e)?((h=Te(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=Ye(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function ui(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var fi={placement:"bottom",modifiers:[],strategy:"absolute"};function pi(){for(var t=arguments.length,e=new Array(t),i=0;iNumber.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(F.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...g(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:e}){const i=z.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>a(t)));i.length&&b(i,e,t===Ti,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=qi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=z.find(Ni);for(const i of e){const e=qi.getInstance(i);if(!e||!1===e._config.autoClose)continue;const n=t.composedPath(),s=n.includes(e._menu);if(n.includes(e._element)||"inside"===e._config.autoClose&&!s||"outside"===e._config.autoClose&&s)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,n=[Ei,Ti].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(Ii)?this:z.prev(this,Ii)[0]||z.next(this,Ii)[0]||z.findOne(Ii,t.delegateTarget.parentNode),o=qi.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}N.on(document,Si,Ii,qi.dataApiKeydownHandler),N.on(document,Si,Pi,qi.dataApiKeydownHandler),N.on(document,Li,qi.clearMenus),N.on(document,Di,qi.clearMenus),N.on(document,Li,Ii,(function(t){t.preventDefault(),qi.getOrCreateInstance(this).toggle()})),m(qi);const Vi="backdrop",Ki="show",Qi=`mousedown.bs.${Vi}`,Xi={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Yi={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Ui extends H{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return Xi}static get DefaultType(){return Yi}static get NAME(){return Vi}show(t){if(!this._config.isVisible)return void g(t);this._append();const e=this._getElement();this._config.isAnimated&&d(e),e.classList.add(Ki),this._emulateAnimation((()=>{g(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(Ki),this._emulateAnimation((()=>{this.dispose(),g(t)}))):g(t)}dispose(){this._isAppended&&(N.off(this._element,Qi),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=r(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),N.on(t,Qi,(()=>{g(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){_(t,this._getElement(),this._config.isAnimated)}}const Gi=".bs.focustrap",Ji=`focusin${Gi}`,Zi=`keydown.tab${Gi}`,tn="backward",en={autofocus:!0,trapElement:null},nn={autofocus:"boolean",trapElement:"element"};class sn extends H{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return en}static get DefaultType(){return nn}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),N.off(document,Gi),N.on(document,Ji,(t=>this._handleFocusin(t))),N.on(document,Zi,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,N.off(document,Gi))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=z.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===tn?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?tn:"forward")}}const on=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",rn=".sticky-top",an="padding-right",ln="margin-right";class cn{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,an,(e=>e+t)),this._setElementAttributes(on,an,(e=>e+t)),this._setElementAttributes(rn,ln,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,an),this._resetElementAttributes(on,an),this._resetElementAttributes(rn,ln)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(s))}px`)}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&F.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=F.getDataAttribute(t,e);null!==i?(F.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(o(t))e(t);else for(const i of z.find(t,this._element))e(i)}}const hn=".bs.modal",dn=`hide${hn}`,un=`hidePrevented${hn}`,fn=`hidden${hn}`,pn=`show${hn}`,mn=`shown${hn}`,gn=`resize${hn}`,_n=`click.dismiss${hn}`,bn=`mousedown.dismiss${hn}`,vn=`keydown.dismiss${hn}`,yn=`click${hn}.data-api`,wn="modal-open",An="show",En="modal-static",Tn={backdrop:!0,focus:!0,keyboard:!0},Cn={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class On extends W{constructor(t,e){super(t,e),this._dialog=z.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new cn,this._addEventListeners()}static get Default(){return Tn}static get DefaultType(){return Cn}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||N.trigger(this._element,pn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(wn),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(N.trigger(this._element,dn).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(An),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){N.off(window,hn),N.off(this._dialog,hn),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Ui({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=z.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),d(this._element),this._element.classList.add(An),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,N.trigger(this._element,mn,{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){N.on(this._element,vn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),N.on(window,gn,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),N.on(this._element,bn,(t=>{N.one(this._element,_n,(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(wn),this._resetAdjustments(),this._scrollBar.reset(),N.trigger(this._element,fn)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(N.trigger(this._element,un).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(En)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(En),this._queueCallback((()=>{this._element.classList.remove(En),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=p()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=p()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=On.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}N.on(document,yn,'[data-bs-toggle="modal"]',(function(t){const e=z.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),N.one(e,pn,(t=>{t.defaultPrevented||N.one(e,fn,(()=>{a(this)&&this.focus()}))}));const i=z.findOne(".modal.show");i&&On.getInstance(i).hide(),On.getOrCreateInstance(e).toggle(this)})),R(On),m(On);const xn=".bs.offcanvas",kn=".data-api",Ln=`load${xn}${kn}`,Sn="show",Dn="showing",$n="hiding",In=".offcanvas.show",Nn=`show${xn}`,Pn=`shown${xn}`,jn=`hide${xn}`,Mn=`hidePrevented${xn}`,Fn=`hidden${xn}`,Hn=`resize${xn}`,Wn=`click${xn}${kn}`,Bn=`keydown.dismiss${xn}`,zn={backdrop:!0,keyboard:!0,scroll:!1},Rn={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class qn extends W{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return zn}static get DefaultType(){return Rn}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||N.trigger(this._element,Nn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new cn).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Dn),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(Sn),this._element.classList.remove(Dn),N.trigger(this._element,Pn,{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(N.trigger(this._element,jn).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add($n),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(Sn,$n),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new cn).reset(),N.trigger(this._element,Fn)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new Ui({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():N.trigger(this._element,Mn)}:null})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_addEventListeners(){N.on(this._element,Bn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():N.trigger(this._element,Mn))}))}static jQueryInterface(t){return this.each((function(){const e=qn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}N.on(document,Wn,'[data-bs-toggle="offcanvas"]',(function(t){const e=z.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this))return;N.one(e,Fn,(()=>{a(this)&&this.focus()}));const i=z.findOne(In);i&&i!==e&&qn.getInstance(i).hide(),qn.getOrCreateInstance(e).toggle(this)})),N.on(window,Ln,(()=>{for(const t of z.find(In))qn.getOrCreateInstance(t).show()})),N.on(window,Hn,(()=>{for(const t of z.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&qn.getOrCreateInstance(t).hide()})),R(qn),m(qn);const Vn={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Kn=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Qn=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Xn=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!Kn.has(i)||Boolean(Qn.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},Yn={allowList:Vn,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},Un={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Gn={entry:"(string|element|function|null)",selector:"(string|element)"};class Jn extends H{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Yn}static get DefaultType(){return Un}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},Gn)}_setContent(t,e,i){const n=z.findOne(i,t);n&&((e=this._resolvePossibleFunction(e))?o(e)?this._putElementInTemplate(r(e),n):this._config.html?n.innerHTML=this._maybeSanitize(e):n.textContent=e:n.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(const t of s){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const n=[].concat(...t.attributes),s=[].concat(e["*"]||[],e[i]||[]);for(const e of n)Xn(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return g(t,[this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Zn=new Set(["sanitize","allowList","sanitizeFn"]),ts="fade",es="show",is=".modal",ns="hide.bs.modal",ss="hover",os="focus",rs={AUTO:"auto",TOP:"top",RIGHT:p()?"left":"right",BOTTOM:"bottom",LEFT:p()?"right":"left"},as={allowList:Vn,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},ls={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class cs extends W{constructor(t,e){if(void 0===vi)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return as}static get DefaultType(){return ls}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),N.off(this._element.closest(is),ns,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=N.trigger(this._element,this.constructor.eventName("show")),e=(c(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:n}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(n.append(i),N.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.on(t,"mouseover",h);this._queueCallback((()=>{N.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!N.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.off(t,"mouseover",h);this._activeTrigger.click=!1,this._activeTrigger[os]=!1,this._activeTrigger[ss]=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),N.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(ts,es),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(ts),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Jn({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(ts)}_isShown(){return this.tip&&this.tip.classList.contains(es)}_createPopper(t){const e=g(this._config.placement,[this,t,this._element]),i=rs[e.toUpperCase()];return bi(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return g(t,[this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,...g(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)N.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===ss?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===ss?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");N.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?os:ss]=!0,e._enter()})),N.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?os:ss]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},N.on(this._element.closest(is),ns,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=F.getDataAttributes(this._element);for(const t of Object.keys(e))Zn.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:r(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=cs.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(cs);const hs={...cs.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},ds={...cs.DefaultType,content:"(null|string|element|function)"};class us extends cs{static get Default(){return hs}static get DefaultType(){return ds}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=us.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(us);const fs=".bs.scrollspy",ps=`activate${fs}`,ms=`click${fs}`,gs=`load${fs}.data-api`,_s="active",bs="[href]",vs=".nav-link",ys=`${vs}, .nav-item > ${vs}, .list-group-item`,ws={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},As={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Es extends W{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return ws}static get DefaultType(){return As}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=r(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(N.off(this._config.target,ms),N.on(this._config.target,ms,bs,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,n=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:n,behavior:"smooth"});i.scrollTop=n}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},n=(this._rootElement||document.documentElement).scrollTop,s=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&t){if(i(o),!n)return}else s||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=z.find(bs,this._config.target);for(const e of t){if(!e.hash||l(e))continue;const t=z.findOne(decodeURI(e.hash),this._element);a(t)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(_s),this._activateParents(t),N.trigger(this._element,ps,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))z.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(_s);else for(const e of z.parents(t,".nav, .list-group"))for(const t of z.prev(e,ys))t.classList.add(_s)}_clearActiveClass(t){t.classList.remove(_s);const e=z.find(`${bs}.${_s}`,t);for(const t of e)t.classList.remove(_s)}static jQueryInterface(t){return this.each((function(){const e=Es.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}N.on(window,gs,(()=>{for(const t of z.find('[data-bs-spy="scroll"]'))Es.getOrCreateInstance(t)})),m(Es);const Ts=".bs.tab",Cs=`hide${Ts}`,Os=`hidden${Ts}`,xs=`show${Ts}`,ks=`shown${Ts}`,Ls=`click${Ts}`,Ss=`keydown${Ts}`,Ds=`load${Ts}`,$s="ArrowLeft",Is="ArrowRight",Ns="ArrowUp",Ps="ArrowDown",js="Home",Ms="End",Fs="active",Hs="fade",Ws="show",Bs=".dropdown-toggle",zs=`:not(${Bs})`,Rs='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',qs=`.nav-link${zs}, .list-group-item${zs}, [role="tab"]${zs}, ${Rs}`,Vs=`.${Fs}[data-bs-toggle="tab"], .${Fs}[data-bs-toggle="pill"], .${Fs}[data-bs-toggle="list"]`;class Ks extends W{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),N.on(this._element,Ss,(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?N.trigger(e,Cs,{relatedTarget:t}):null;N.trigger(t,xs,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(Fs),this._activate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),N.trigger(t,ks,{relatedTarget:e})):t.classList.add(Ws)}),t,t.classList.contains(Hs)))}_deactivate(t,e){t&&(t.classList.remove(Fs),t.blur(),this._deactivate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),N.trigger(t,Os,{relatedTarget:e})):t.classList.remove(Ws)}),t,t.classList.contains(Hs)))}_keydown(t){if(![$s,Is,Ns,Ps,js,Ms].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter((t=>!l(t)));let i;if([js,Ms].includes(t.key))i=e[t.key===js?0:e.length-1];else{const n=[Is,Ps].includes(t.key);i=b(e,t.target,n,!0)}i&&(i.focus({preventScroll:!0}),Ks.getOrCreateInstance(i).show())}_getChildren(){return z.find(qs,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=z.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const n=(t,n)=>{const s=z.findOne(t,i);s&&s.classList.toggle(n,e)};n(Bs,Fs),n(".dropdown-menu",Ws),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(Fs)}_getInnerElement(t){return t.matches(qs)?t:z.findOne(qs,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=Ks.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}N.on(document,Ls,Rs,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this)||Ks.getOrCreateInstance(this).show()})),N.on(window,Ds,(()=>{for(const t of z.find(Vs))Ks.getOrCreateInstance(t)})),m(Ks);const Qs=".bs.toast",Xs=`mouseover${Qs}`,Ys=`mouseout${Qs}`,Us=`focusin${Qs}`,Gs=`focusout${Qs}`,Js=`hide${Qs}`,Zs=`hidden${Qs}`,to=`show${Qs}`,eo=`shown${Qs}`,io="hide",no="show",so="showing",oo={animation:"boolean",autohide:"boolean",delay:"number"},ro={animation:!0,autohide:!0,delay:5e3};class ao extends W{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return ro}static get DefaultType(){return oo}static get NAME(){return"toast"}show(){N.trigger(this._element,to).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(io),d(this._element),this._element.classList.add(no,so),this._queueCallback((()=>{this._element.classList.remove(so),N.trigger(this._element,eo),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(N.trigger(this._element,Js).defaultPrevented||(this._element.classList.add(so),this._queueCallback((()=>{this._element.classList.add(io),this._element.classList.remove(so,no),N.trigger(this._element,Zs)}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(no),super.dispose()}isShown(){return this._element.classList.contains(no)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){N.on(this._element,Xs,(t=>this._onInteraction(t,!0))),N.on(this._element,Ys,(t=>this._onInteraction(t,!1))),N.on(this._element,Us,(t=>this._onInteraction(t,!0))),N.on(this._element,Gs,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=ao.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return R(ao),m(ao),{Alert:Q,Button:Y,Carousel:xt,Collapse:Bt,Dropdown:qi,Modal:On,Offcanvas:qn,Popover:us,ScrollSpy:Es,Tab:Ks,Toast:ao,Tooltip:cs}})); +//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file diff --git a/web/static/js/bootstrap.min.js b/web/static/js/bootstrap.min.js deleted file mode 100644 index 866e032cc6a..00000000000 --- a/web/static/js/bootstrap.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap v4.5.3 (https://getbootstrap.com/) - * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */ - !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap={},t.jQuery,t.Popper)}(this,(function(t,e,n){"use strict";function i(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var o=i(e),a=i(n);function s(t,e){for(var n=0;n=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}};d.jQueryDetection(),o.default.fn.emulateTransitionEnd=u,o.default.event.special[d.TRANSITION_END]={bindType:"transitionend",delegateType:"transitionend",handle:function(t){if(o.default(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}};var f="alert",c=o.default.fn[f],h=function(){function t(t){this._element=t}var e=t.prototype;return e.close=function(t){var e=this._element;t&&(e=this._getRootElement(t)),this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},e.dispose=function(){o.default.removeData(this._element,"bs.alert"),this._element=null},e._getRootElement=function(t){var e=d.getSelectorFromElement(t),n=!1;return e&&(n=document.querySelector(e)),n||(n=o.default(t).closest(".alert")[0]),n},e._triggerCloseEvent=function(t){var e=o.default.Event("close.bs.alert");return o.default(t).trigger(e),e},e._removeElement=function(t){var e=this;if(o.default(t).removeClass("show"),o.default(t).hasClass("fade")){var n=d.getTransitionDurationFromElement(t);o.default(t).one(d.TRANSITION_END,(function(n){return e._destroyElement(t,n)})).emulateTransitionEnd(n)}else this._destroyElement(t)},e._destroyElement=function(t){o.default(t).detach().trigger("closed.bs.alert").remove()},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data("bs.alert");i||(i=new t(this),n.data("bs.alert",i)),"close"===e&&i[e](this)}))},t._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}}]),t}();o.default(document).on("click.bs.alert.data-api",'[data-dismiss="alert"]',h._handleDismiss(new h)),o.default.fn[f]=h._jQueryInterface,o.default.fn[f].Constructor=h,o.default.fn[f].noConflict=function(){return o.default.fn[f]=c,h._jQueryInterface};var g=o.default.fn.button,m=function(){function t(t){this._element=t,this.shouldAvoidTriggerChange=!1}var e=t.prototype;return e.toggle=function(){var t=!0,e=!0,n=o.default(this._element).closest('[data-toggle="buttons"]')[0];if(n){var i=this._element.querySelector('input:not([type="hidden"])');if(i){if("radio"===i.type)if(i.checked&&this._element.classList.contains("active"))t=!1;else{var a=n.querySelector(".active");a&&o.default(a).removeClass("active")}t&&("checkbox"!==i.type&&"radio"!==i.type||(i.checked=!this._element.classList.contains("active")),this.shouldAvoidTriggerChange||o.default(i).trigger("change")),i.focus(),e=!1}}this._element.hasAttribute("disabled")||this._element.classList.contains("disabled")||(e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains("active")),t&&o.default(this._element).toggleClass("active"))},e.dispose=function(){o.default.removeData(this._element,"bs.button"),this._element=null},t._jQueryInterface=function(e,n){return this.each((function(){var i=o.default(this),a=i.data("bs.button");a||(a=new t(this),i.data("bs.button",a)),a.shouldAvoidTriggerChange=n,"toggle"===e&&a[e]()}))},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}}]),t}();o.default(document).on("click.bs.button.data-api",'[data-toggle^="button"]',(function(t){var e=t.target,n=e;if(o.default(e).hasClass("btn")||(e=o.default(e).closest(".btn")[0]),!e||e.hasAttribute("disabled")||e.classList.contains("disabled"))t.preventDefault();else{var i=e.querySelector('input:not([type="hidden"])');if(i&&(i.hasAttribute("disabled")||i.classList.contains("disabled")))return void t.preventDefault();"INPUT"!==n.tagName&&"LABEL"===e.tagName||m._jQueryInterface.call(o.default(e),"toggle","INPUT"===n.tagName)}})).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',(function(t){var e=o.default(t.target).closest(".btn")[0];o.default(e).toggleClass("focus",/^focus(in)?$/.test(t.type))})),o.default(window).on("load.bs.button.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-toggle="buttons"] .btn')),e=0,n=t.length;e0,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners()}var e=t.prototype;return e.next=function(){this._isSliding||this._slide("next")},e.nextWhenVisible=function(){var t=o.default(this._element);!document.hidden&&t.is(":visible")&&"hidden"!==t.css("visibility")&&this.next()},e.prev=function(){this._isSliding||this._slide("prev")},e.pause=function(t){t||(this._isPaused=!0),this._element.querySelector(".carousel-item-next, .carousel-item-prev")&&(d.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},e.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},e.to=function(t){var e=this;this._activeElement=this._element.querySelector(".active.carousel-item");var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)o.default(this._element).one("slid.bs.carousel",(function(){return e.to(t)}));else{if(n===t)return this.pause(),void this.cycle();var i=t>n?"next":"prev";this._slide(i,this._items[t])}},e.dispose=function(){o.default(this._element).off(_),o.default.removeData(this._element,"bs.carousel"),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},e._getConfig=function(t){return t=r({},b,t),d.typeCheckConfig(p,t,y),t},e._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;this.touchDeltaX=0,e>0&&this.prev(),e<0&&this.next()}},e._addEventListeners=function(){var t=this;this._config.keyboard&&o.default(this._element).on("keydown.bs.carousel",(function(e){return t._keydown(e)})),"hover"===this._config.pause&&o.default(this._element).on("mouseenter.bs.carousel",(function(e){return t.pause(e)})).on("mouseleave.bs.carousel",(function(e){return t.cycle(e)})),this._config.touch&&this._addTouchEventListeners()},e._addTouchEventListeners=function(){var t=this;if(this._touchSupported){var e=function(e){t._pointerEvent&&E[e.originalEvent.pointerType.toUpperCase()]?t.touchStartX=e.originalEvent.clientX:t._pointerEvent||(t.touchStartX=e.originalEvent.touches[0].clientX)},n=function(e){t._pointerEvent&&E[e.originalEvent.pointerType.toUpperCase()]&&(t.touchDeltaX=e.originalEvent.clientX-t.touchStartX),t._handleSwipe(),"hover"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout((function(e){return t.cycle(e)}),500+t._config.interval))};o.default(this._element.querySelectorAll(".carousel-item img")).on("dragstart.bs.carousel",(function(t){return t.preventDefault()})),this._pointerEvent?(o.default(this._element).on("pointerdown.bs.carousel",(function(t){return e(t)})),o.default(this._element).on("pointerup.bs.carousel",(function(t){return n(t)})),this._element.classList.add("pointer-event")):(o.default(this._element).on("touchstart.bs.carousel",(function(t){return e(t)})),o.default(this._element).on("touchmove.bs.carousel",(function(e){return function(e){e.originalEvent.touches&&e.originalEvent.touches.length>1?t.touchDeltaX=0:t.touchDeltaX=e.originalEvent.touches[0].clientX-t.touchStartX}(e)})),o.default(this._element).on("touchend.bs.carousel",(function(t){return n(t)})))}},e._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},e._getItemIndex=function(t){return this._items=t&&t.parentNode?[].slice.call(t.parentNode.querySelectorAll(".carousel-item")):[],this._items.indexOf(t)},e._getItemByDirection=function(t,e){var n="next"===t,i="prev"===t,o=this._getItemIndex(e),a=this._items.length-1;if((i&&0===o||n&&o===a)&&!this._config.wrap)return e;var s=(o+("prev"===t?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},e._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(this._element.querySelector(".active.carousel-item")),a=o.default.Event("slide.bs.carousel",{relatedTarget:t,direction:e,from:i,to:n});return o.default(this._element).trigger(a),a},e._setActiveIndicatorElement=function(t){if(this._indicatorsElement){var e=[].slice.call(this._indicatorsElement.querySelectorAll(".active"));o.default(e).removeClass("active");var n=this._indicatorsElement.children[this._getItemIndex(t)];n&&o.default(n).addClass("active")}},e._slide=function(t,e){var n,i,a,s=this,l=this._element.querySelector(".active.carousel-item"),r=this._getItemIndex(l),u=e||l&&this._getItemByDirection(t,l),f=this._getItemIndex(u),c=Boolean(this._interval);if("next"===t?(n="carousel-item-left",i="carousel-item-next",a="left"):(n="carousel-item-right",i="carousel-item-prev",a="right"),u&&o.default(u).hasClass("active"))this._isSliding=!1;else if(!this._triggerSlideEvent(u,a).isDefaultPrevented()&&l&&u){this._isSliding=!0,c&&this.pause(),this._setActiveIndicatorElement(u);var h=o.default.Event("slid.bs.carousel",{relatedTarget:u,direction:a,from:r,to:f});if(o.default(this._element).hasClass("slide")){o.default(u).addClass(i),d.reflow(u),o.default(l).addClass(n),o.default(u).addClass(n);var g=parseInt(u.getAttribute("data-interval"),10);g?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=g):this._config.interval=this._config.defaultInterval||this._config.interval;var m=d.getTransitionDurationFromElement(l);o.default(l).one(d.TRANSITION_END,(function(){o.default(u).removeClass(n+" "+i).addClass("active"),o.default(l).removeClass("active "+i+" "+n),s._isSliding=!1,setTimeout((function(){return o.default(s._element).trigger(h)}),0)})).emulateTransitionEnd(m)}else o.default(l).removeClass("active"),o.default(u).addClass("active"),this._isSliding=!1,o.default(this._element).trigger(h);c&&this.cycle()}},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this).data("bs.carousel"),i=r({},b,o.default(this).data());"object"==typeof e&&(i=r({},i,e));var a="string"==typeof e?e:i.slide;if(n||(n=new t(this,i),o.default(this).data("bs.carousel",n)),"number"==typeof e)n.to(e);else if("string"==typeof a){if("undefined"==typeof n[a])throw new TypeError('No method named "'+a+'"');n[a]()}else i.interval&&i.ride&&(n.pause(),n.cycle())}))},t._dataApiClickHandler=function(e){var n=d.getSelectorFromElement(this);if(n){var i=o.default(n)[0];if(i&&o.default(i).hasClass("carousel")){var a=r({},o.default(i).data(),o.default(this).data()),s=this.getAttribute("data-slide-to");s&&(a.interval=!1),t._jQueryInterface.call(o.default(i),a),s&&o.default(i).data("bs.carousel").to(s),e.preventDefault()}}},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return b}}]),t}();o.default(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",w._dataApiClickHandler),o.default(window).on("load.bs.carousel.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-ride="carousel"]')),e=0,n=t.length;e0&&(this._selector=s,this._triggerArray.push(a))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var e=t.prototype;return e.toggle=function(){o.default(this._element).hasClass("show")?this.hide():this.show()},e.show=function(){var e,n,i=this;if(!this._isTransitioning&&!o.default(this._element).hasClass("show")&&(this._parent&&0===(e=[].slice.call(this._parent.querySelectorAll(".show, .collapsing")).filter((function(t){return"string"==typeof i._config.parent?t.getAttribute("data-parent")===i._config.parent:t.classList.contains("collapse")}))).length&&(e=null),!(e&&(n=o.default(e).not(this._selector).data("bs.collapse"))&&n._isTransitioning))){var a=o.default.Event("show.bs.collapse");if(o.default(this._element).trigger(a),!a.isDefaultPrevented()){e&&(t._jQueryInterface.call(o.default(e).not(this._selector),"hide"),n||o.default(e).data("bs.collapse",null));var s=this._getDimension();o.default(this._element).removeClass("collapse").addClass("collapsing"),this._element.style[s]=0,this._triggerArray.length&&o.default(this._triggerArray).removeClass("collapsed").attr("aria-expanded",!0),this.setTransitioning(!0);var l="scroll"+(s[0].toUpperCase()+s.slice(1)),r=d.getTransitionDurationFromElement(this._element);o.default(this._element).one(d.TRANSITION_END,(function(){o.default(i._element).removeClass("collapsing").addClass("collapse show"),i._element.style[s]="",i.setTransitioning(!1),o.default(i._element).trigger("shown.bs.collapse")})).emulateTransitionEnd(r),this._element.style[s]=this._element[l]+"px"}}},e.hide=function(){var t=this;if(!this._isTransitioning&&o.default(this._element).hasClass("show")){var e=o.default.Event("hide.bs.collapse");if(o.default(this._element).trigger(e),!e.isDefaultPrevented()){var n=this._getDimension();this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",d.reflow(this._element),o.default(this._element).addClass("collapsing").removeClass("collapse show");var i=this._triggerArray.length;if(i>0)for(var a=0;a0},e._getOffset=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=r({},e.offsets,t._config.offset(e.offsets,t._element)||{}),e}:e.offset=this._config.offset,e},e._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),r({},t,this._config.popperConfig)},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this).data("bs.dropdown");if(n||(n=new t(this,"object"==typeof e?e:null),o.default(this).data("bs.dropdown",n)),"string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t._clearMenus=function(e){if(!e||3!==e.which&&("keyup"!==e.type||9===e.which))for(var n=[].slice.call(document.querySelectorAll('[data-toggle="dropdown"]')),i=0,a=n.length;i0&&s--,40===e.which&&sdocument.documentElement.clientHeight;n||(this._element.style.overflowY="hidden"),this._element.classList.add("modal-static");var i=d.getTransitionDurationFromElement(this._dialog);o.default(this._element).off(d.TRANSITION_END),o.default(this._element).one(d.TRANSITION_END,(function(){t._element.classList.remove("modal-static"),n||o.default(t._element).one(d.TRANSITION_END,(function(){t._element.style.overflowY=""})).emulateTransitionEnd(t._element,i)})).emulateTransitionEnd(i),this._element.focus()}else this.hide()},e._showElement=function(t){var e=this,n=o.default(this._element).hasClass("fade"),i=this._dialog?this._dialog.querySelector(".modal-body"):null;this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),o.default(this._dialog).hasClass("modal-dialog-scrollable")&&i?i.scrollTop=0:this._element.scrollTop=0,n&&d.reflow(this._element),o.default(this._element).addClass("show"),this._config.focus&&this._enforceFocus();var a=o.default.Event("shown.bs.modal",{relatedTarget:t}),s=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,o.default(e._element).trigger(a)};if(n){var l=d.getTransitionDurationFromElement(this._dialog);o.default(this._dialog).one(d.TRANSITION_END,s).emulateTransitionEnd(l)}else s()},e._enforceFocus=function(){var t=this;o.default(document).off("focusin.bs.modal").on("focusin.bs.modal",(function(e){document!==e.target&&t._element!==e.target&&0===o.default(t._element).has(e.target).length&&t._element.focus()}))},e._setEscapeEvent=function(){var t=this;this._isShown?o.default(this._element).on("keydown.dismiss.bs.modal",(function(e){t._config.keyboard&&27===e.which?(e.preventDefault(),t.hide()):t._config.keyboard||27!==e.which||t._triggerBackdropTransition()})):this._isShown||o.default(this._element).off("keydown.dismiss.bs.modal")},e._setResizeEvent=function(){var t=this;this._isShown?o.default(window).on("resize.bs.modal",(function(e){return t.handleUpdate(e)})):o.default(window).off("resize.bs.modal")},e._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._showBackdrop((function(){o.default(document.body).removeClass("modal-open"),t._resetAdjustments(),t._resetScrollbar(),o.default(t._element).trigger("hidden.bs.modal")}))},e._removeBackdrop=function(){this._backdrop&&(o.default(this._backdrop).remove(),this._backdrop=null)},e._showBackdrop=function(t){var e=this,n=o.default(this._element).hasClass("fade")?"fade":"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className="modal-backdrop",n&&this._backdrop.classList.add(n),o.default(this._backdrop).appendTo(document.body),o.default(this._element).on("click.dismiss.bs.modal",(function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&e._triggerBackdropTransition()})),n&&d.reflow(this._backdrop),o.default(this._backdrop).addClass("show"),!t)return;if(!n)return void t();var i=d.getTransitionDurationFromElement(this._backdrop);o.default(this._backdrop).one(d.TRANSITION_END,t).emulateTransitionEnd(i)}else if(!this._isShown&&this._backdrop){o.default(this._backdrop).removeClass("show");var a=function(){e._removeBackdrop(),t&&t()};if(o.default(this._element).hasClass("fade")){var s=d.getTransitionDurationFromElement(this._backdrop);o.default(this._backdrop).one(d.TRANSITION_END,a).emulateTransitionEnd(s)}else a()}else t&&t()},e._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},e._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},e._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=Math.round(t.left+t.right)
',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:Q,popperConfig:null},$={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},J=function(){function t(t,e){if("undefined"==typeof a.default)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var e=t.prototype;return e.enable=function(){this._isEnabled=!0},e.disable=function(){this._isEnabled=!1},e.toggleEnabled=function(){this._isEnabled=!this._isEnabled},e.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=o.default(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),o.default(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(o.default(this.getTipElement()).hasClass("show"))return void this._leave(null,this);this._enter(null,this)}},e.dispose=function(){clearTimeout(this._timeout),o.default.removeData(this.element,this.constructor.DATA_KEY),o.default(this.element).off(this.constructor.EVENT_KEY),o.default(this.element).closest(".modal").off("hide.bs.modal",this._hideModalHandler),this.tip&&o.default(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},e.show=function(){var t=this;if("none"===o.default(this.element).css("display"))throw new Error("Please use show on visible elements");var e=o.default.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){o.default(this.element).trigger(e);var n=d.findShadowRoot(this.element),i=o.default.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(e.isDefaultPrevented()||!i)return;var s=this.getTipElement(),l=d.getUID(this.constructor.NAME);s.setAttribute("id",l),this.element.setAttribute("aria-describedby",l),this.setContent(),this.config.animation&&o.default(s).addClass("fade");var r="function"==typeof this.config.placement?this.config.placement.call(this,s,this.element):this.config.placement,u=this._getAttachment(r);this.addAttachmentClass(u);var f=this._getContainer();o.default(s).data(this.constructor.DATA_KEY,this),o.default.contains(this.element.ownerDocument.documentElement,this.tip)||o.default(s).appendTo(f),o.default(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new a.default(this.element,s,this._getPopperConfig(u)),o.default(s).addClass("show"),"ontouchstart"in document.documentElement&&o.default(document.body).children().on("mouseover",null,o.default.noop);var c=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,o.default(t.element).trigger(t.constructor.Event.SHOWN),"out"===e&&t._leave(null,t)};if(o.default(this.tip).hasClass("fade")){var h=d.getTransitionDurationFromElement(this.tip);o.default(this.tip).one(d.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},e.hide=function(t){var e=this,n=this.getTipElement(),i=o.default.Event(this.constructor.Event.HIDE),a=function(){"show"!==e._hoverState&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),o.default(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(o.default(this.element).trigger(i),!i.isDefaultPrevented()){if(o.default(n).removeClass("show"),"ontouchstart"in document.documentElement&&o.default(document.body).children().off("mouseover",null,o.default.noop),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,o.default(this.tip).hasClass("fade")){var s=d.getTransitionDurationFromElement(n);o.default(n).one(d.TRANSITION_END,a).emulateTransitionEnd(s)}else a();this._hoverState=""}},e.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},e.isWithContent=function(){return Boolean(this.getTitle())},e.addAttachmentClass=function(t){o.default(this.getTipElement()).addClass("bs-tooltip-"+t)},e.getTipElement=function(){return this.tip=this.tip||o.default(this.config.template)[0],this.tip},e.setContent=function(){var t=this.getTipElement();this.setElementContent(o.default(t.querySelectorAll(".tooltip-inner")),this.getTitle()),o.default(t).removeClass("fade show")},e.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=U(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?o.default(e).parent().is(t)||t.empty().append(e):t.text(o.default(e).text())},e.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},e._getPopperConfig=function(t){var e=this;return r({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:".arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},this.config.popperConfig)},e._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=r({},e.offsets,t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},e._getContainer=function(){return!1===this.config.container?document.body:d.isElement(this.config.container)?o.default(this.config.container):o.default(document).find(this.config.container)},e._getAttachment=function(t){return X[t.toUpperCase()]},e._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach((function(e){if("click"===e)o.default(t.element).on(t.constructor.Event.CLICK,t.config.selector,(function(e){return t.toggle(e)}));else if("manual"!==e){var n="hover"===e?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,i="hover"===e?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;o.default(t.element).on(n,t.config.selector,(function(e){return t._enter(e)})).on(i,t.config.selector,(function(e){return t._leave(e)}))}})),this._hideModalHandler=function(){t.element&&t.hide()},o.default(this.element).closest(".modal").on("hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=r({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},e._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},e._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||o.default(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),o.default(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),o.default(e.getTipElement()).hasClass("show")||"show"===e._hoverState?e._hoverState="show":(clearTimeout(e._timeout),e._hoverState="show",e.config.delay&&e.config.delay.show?e._timeout=setTimeout((function(){"show"===e._hoverState&&e.show()}),e.config.delay.show):e.show())},e._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||o.default(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),o.default(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?"focus":"hover"]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState="out",e.config.delay&&e.config.delay.hide?e._timeout=setTimeout((function(){"out"===e._hoverState&&e.hide()}),e.config.delay.hide):e.hide())},e._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},e._getConfig=function(t){var e=o.default(this.element).data();return Object.keys(e).forEach((function(t){-1!==z.indexOf(t)&&delete e[t]})),"number"==typeof(t=r({},this.constructor.Default,e,"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),d.typeCheckConfig(M,t,this.constructor.DefaultType),t.sanitize&&(t.template=U(t.template,t.whiteList,t.sanitizeFn)),t},e._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},e._cleanTipClass=function(){var t=o.default(this.getTipElement()),e=t.attr("class").match(V);null!==e&&e.length&&t.removeClass(e.join(""))},e._handlePopperPlacementChange=function(t){this.tip=t.instance.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},e._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(o.default(t).removeClass("fade"),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data("bs.tooltip"),a="object"==typeof e&&e;if((i||!/dispose|hide/.test(e))&&(i||(i=new t(this,a),n.data("bs.tooltip",i)),"string"==typeof e)){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}}))},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return Y}},{key:"NAME",get:function(){return M}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return $}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return K}}]),t}();o.default.fn[M]=J._jQueryInterface,o.default.fn[M].Constructor=J,o.default.fn[M].noConflict=function(){return o.default.fn[M]=W,J._jQueryInterface};var G="popover",Z=o.default.fn[G],tt=new RegExp("(^|\\s)bs-popover\\S+","g"),et=r({},J.Default,{placement:"right",trigger:"click",content:"",template:''}),nt=r({},J.DefaultType,{content:"(string|element|function)"}),it={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},ot=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n;var a=i.prototype;return a.isWithContent=function(){return this.getTitle()||this._getContent()},a.addAttachmentClass=function(t){o.default(this.getTipElement()).addClass("bs-popover-"+t)},a.getTipElement=function(){return this.tip=this.tip||o.default(this.config.template)[0],this.tip},a.setContent=function(){var t=o.default(this.getTipElement());this.setElementContent(t.find(".popover-header"),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(".popover-body"),e),t.removeClass("fade show")},a._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},a._cleanTipClass=function(){var t=o.default(this.getTipElement()),e=t.attr("class").match(tt);null!==e&&e.length>0&&t.removeClass(e.join(""))},i._jQueryInterface=function(t){return this.each((function(){var e=o.default(this).data("bs.popover"),n="object"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new i(this,n),o.default(this).data("bs.popover",e)),"string"==typeof t)){if("undefined"==typeof e[t])throw new TypeError('No method named "'+t+'"');e[t]()}}))},l(i,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return et}},{key:"NAME",get:function(){return G}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return it}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return nt}}]),i}(J);o.default.fn[G]=ot._jQueryInterface,o.default.fn[G].Constructor=ot,o.default.fn[G].noConflict=function(){return o.default.fn[G]=Z,ot._jQueryInterface};var at="scrollspy",st=o.default.fn[at],lt={offset:10,method:"auto",target:""},rt={offset:"number",method:"string",target:"(string|element)"},ut=function(){function t(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" .nav-link,"+this._config.target+" .list-group-item,"+this._config.target+" .dropdown-item",this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,o.default(this._scrollElement).on("scroll.bs.scrollspy",(function(t){return n._process(t)})),this.refresh(),this._process()}var e=t.prototype;return e.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?"offset":"position",n="auto"===this._config.method?e:this._config.method,i="position"===n?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map((function(t){var e,a=d.getSelectorFromElement(t);if(a&&(e=document.querySelector(a)),e){var s=e.getBoundingClientRect();if(s.width||s.height)return[o.default(e)[n]().top+i,a]}return null})).filter((function(t){return t})).sort((function(t,e){return t[0]-e[0]})).forEach((function(e){t._offsets.push(e[0]),t._targets.push(e[1])}))},e.dispose=function(){o.default.removeData(this._element,"bs.scrollspy"),o.default(this._scrollElement).off(".bs.scrollspy"),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},e._getConfig=function(t){if("string"!=typeof(t=r({},lt,"object"==typeof t&&t?t:{})).target&&d.isElement(t.target)){var e=o.default(t.target).attr("id");e||(e=d.getUID(at),o.default(t.target).attr("id",e)),t.target="#"+e}return d.typeCheckConfig(at,t,rt),t},e._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},e._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},e._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},e._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t li > .active":".active";n=(n=o.default.makeArray(o.default(i).find(s)))[n.length-1]}var l=o.default.Event("hide.bs.tab",{relatedTarget:this._element}),r=o.default.Event("show.bs.tab",{relatedTarget:n});if(n&&o.default(n).trigger(l),o.default(this._element).trigger(r),!r.isDefaultPrevented()&&!l.isDefaultPrevented()){a&&(e=document.querySelector(a)),this._activate(this._element,i);var u=function(){var e=o.default.Event("hidden.bs.tab",{relatedTarget:t._element}),i=o.default.Event("shown.bs.tab",{relatedTarget:n});o.default(n).trigger(e),o.default(t._element).trigger(i)};e?this._activate(e,e.parentNode,u):u()}}},e.dispose=function(){o.default.removeData(this._element,"bs.tab"),this._element=null},e._activate=function(t,e,n){var i=this,a=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?o.default(e).children(".active"):o.default(e).find("> li > .active"))[0],s=n&&a&&o.default(a).hasClass("fade"),l=function(){return i._transitionComplete(t,a,n)};if(a&&s){var r=d.getTransitionDurationFromElement(a);o.default(a).removeClass("show").one(d.TRANSITION_END,l).emulateTransitionEnd(r)}else l()},e._transitionComplete=function(t,e,n){if(e){o.default(e).removeClass("active");var i=o.default(e.parentNode).find("> .dropdown-menu .active")[0];i&&o.default(i).removeClass("active"),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}if(o.default(t).addClass("active"),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),d.reflow(t),t.classList.contains("fade")&&t.classList.add("show"),t.parentNode&&o.default(t.parentNode).hasClass("dropdown-menu")){var a=o.default(t).closest(".dropdown")[0];if(a){var s=[].slice.call(a.querySelectorAll(".dropdown-toggle"));o.default(s).addClass("active")}t.setAttribute("aria-expanded",!0)}n&&n()},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data("bs.tab");if(i||(i=new t(this),n.data("bs.tab",i)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}}))},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}}]),t}();o.default(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',(function(t){t.preventDefault(),ft._jQueryInterface.call(o.default(this),"show")})),o.default.fn.tab=ft._jQueryInterface,o.default.fn.tab.Constructor=ft,o.default.fn.tab.noConflict=function(){return o.default.fn.tab=dt,ft._jQueryInterface};var ct=o.default.fn.toast,ht={animation:"boolean",autohide:"boolean",delay:"number"},gt={animation:!0,autohide:!0,delay:500},mt=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var e=t.prototype;return e.show=function(){var t=this,e=o.default.Event("show.bs.toast");if(o.default(this._element).trigger(e),!e.isDefaultPrevented()){this._clearTimeout(),this._config.animation&&this._element.classList.add("fade");var n=function(){t._element.classList.remove("showing"),t._element.classList.add("show"),o.default(t._element).trigger("shown.bs.toast"),t._config.autohide&&(t._timeout=setTimeout((function(){t.hide()}),t._config.delay))};if(this._element.classList.remove("hide"),d.reflow(this._element),this._element.classList.add("showing"),this._config.animation){var i=d.getTransitionDurationFromElement(this._element);o.default(this._element).one(d.TRANSITION_END,n).emulateTransitionEnd(i)}else n()}},e.hide=function(){if(this._element.classList.contains("show")){var t=o.default.Event("hide.bs.toast");o.default(this._element).trigger(t),t.isDefaultPrevented()||this._close()}},e.dispose=function(){this._clearTimeout(),this._element.classList.contains("show")&&this._element.classList.remove("show"),o.default(this._element).off("click.dismiss.bs.toast"),o.default.removeData(this._element,"bs.toast"),this._element=null,this._config=null},e._getConfig=function(t){return t=r({},gt,o.default(this._element).data(),"object"==typeof t&&t?t:{}),d.typeCheckConfig("toast",t,this.constructor.DefaultType),t},e._setListeners=function(){var t=this;o.default(this._element).on("click.dismiss.bs.toast",'[data-dismiss="toast"]',(function(){return t.hide()}))},e._close=function(){var t=this,e=function(){t._element.classList.add("hide"),o.default(t._element).trigger("hidden.bs.toast")};if(this._element.classList.remove("show"),this._config.animation){var n=d.getTransitionDurationFromElement(this._element);o.default(this._element).one(d.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},e._clearTimeout=function(){clearTimeout(this._timeout),this._timeout=null},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data("bs.toast");if(i||(i=new t(this,"object"==typeof e&&e),n.data("bs.toast",i)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e](this)}}))},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"DefaultType",get:function(){return ht}},{key:"Default",get:function(){return gt}}]),t}();o.default.fn.toast=mt._jQueryInterface,o.default.fn.toast.Constructor=mt,o.default.fn.toast.noConflict=function(){return o.default.fn.toast=ct,mt._jQueryInterface},t.Alert=h,t.Button=m,t.Carousel=w,t.Collapse=D,t.Dropdown=x,t.Modal=q,t.Popover=ot,t.Scrollspy=ut,t.Tab=ft,t.Toast=mt,t.Tooltip=J,t.Util=d,Object.defineProperty(t,"__esModule",{value:!0})})); - //# sourceMappingURL=bootstrap.min.js.map diff --git a/web/static/js/bootstrap.min.js.map b/web/static/js/bootstrap.min.js.map deleted file mode 100644 index 23da5876f2c..00000000000 --- a/web/static/js/bootstrap.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tools/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js"],"names":["transitionEndEmulator","duration","_this","this","called","$","one","Util","TRANSITION_END","setTimeout","triggerTransitionEnd","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","hrefAttr","trim","querySelector","_","getTransitionDurationFromElement","transitionDuration","css","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","obj","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","call","expectedTypes","value","valueType","toString","match","toLowerCase","RegExp","test","Error","toUpperCase","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","parentNode","jQueryDetection","TypeError","version","fn","jquery","emulateTransitionEnd","event","special","bindType","delegateType","handle","target","is","handleObj","handler","apply","arguments","NAME","JQUERY_NO_CONFLICT","Alert","_element","close","rootElement","_getRootElement","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","parent","closest","closeEvent","Event","removeClass","hasClass","_destroyElement","detach","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","Constructor","noConflict","Button","shouldAvoidTriggerChange","toggle","triggerChangeEvent","addAriaPressed","input","type","checked","classList","contains","activeElement","focus","hasAttribute","setAttribute","toggleClass","avoidTriggerChange","button","initialButton","inputBtn","tagName","window","buttons","slice","querySelectorAll","i","len","length","add","EVENT_KEY","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","prev","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","off","_extends","_handleSwipe","absDeltax","abs","_this2","_keydown","_addTouchEventListeners","_this3","start","originalEvent","pointerType","clientX","touches","end","clearTimeout","e","move","which","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","_setActiveIndicatorElement","indicators","nextIndicator","children","addClass","directionalClassName","orderClassName","_this4","activeElementIndex","nextElement","nextElementIndex","isCycling","slidEvent","nextElementInterval","parseInt","defaultInterval","CLASS_NAME_ACTIVE","action","ride","_dataApiClickHandler","slideIndex","carousels","$carousel","Collapse","_isTransitioning","_triggerArray","id","toggleList","elem","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","not","startEvent","dimension","_getDimension","style","attr","setTransitioning","scrollSize","CLASS_NAME_COLLAPSE","getBoundingClientRect","triggerArrayLength","isTransitioning","_getTargetFromElement","triggerArray","isOpen","currentTarget","$trigger","selectors","$target","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","offset","flip","boundary","reference","display","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","_clearMenus","usePopper","showEvent","_getParentFromElement","Popper","referenceElement","_getPopperConfig","body","noop","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","$parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","toggles","context","clickEvent","dropdownMenu","_dataApiKeydownHandler","items","item","EVENT_CLICK_DATA_API","backdrop","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","forEach","htmlElement","handleUpdate","_triggerBackdropTransition","hideEventPrevented","isModalOverflowing","scrollHeight","clientHeight","overflowY","modalTransitionDuration","modalBody","Node","ELEMENT_NODE","appendChild","removeAttribute","scrollTop","_enforceFocus","shownEvent","transitionComplete","_this5","has","_this6","_this7","_this8","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","_this9","animate","createElement","className","appendTo","backdropTransitionDuration","callbackRemove","paddingLeft","paddingRight","rect","round","left","right","innerWidth","_getScrollbarWidth","_this10","fixedContent","stickyContent","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","elements","margin","scrollDiv","scrollbarWidth","width","clientWidth","removeChild","_this11","uriAttrs","DefaultWhitelist","*","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","SAFE_URL_PATTERN","DATA_URL_PATTERN","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","createdDocument","DOMParser","parseFromString","whitelistKeys","keys","_loop","el","elName","nodeName","attributeList","attributes","whitelistedAttributes","concat","allowedAttributeList","attrName","nodeValue","regExp","attrRegex","allowedAttribute","innerHTML","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","container","fallbackPlacement","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","DATA_KEY","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","addAttachmentClass","_getContainer","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","CLASS_PREFIX","setElementContent","CLASS_NAME_FADE","content","text","empty","append","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","find","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","key","$tip","tabClass","join","popperData","instance","popper","initConfigAnimation","Popover","_getContent","method","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","map","targetSelector","targetBCR","height","top","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","queries","$link","parents","SELECTOR_NAV_LINKS","node","scrollSpys","$spy","Tab","previous","listElement","itemSelector","makeArray","hiddenEvent","active","_transitionComplete","dropdownChild","dropdownElement","dropdownToggleList","$this","autohide","Toast","_clearTimeout","_close"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.3): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n if (obj === null || typeof obj === 'undefined') {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n\n return undefined\n }\n }\n}\n\nfunction transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n try {\n return document.querySelector(selector) ? selector : null\n } catch (_) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value) ?\n 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n },\n\n findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return Util.findShadowRoot(element.parentNode)\n },\n\n jQueryDetection() {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n }\n}\n\nUtil.jQueryDetection()\nsetTransitionEndSupport()\n\nexport default Util\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.3): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.5.3'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst SELECTOR_DISMISS = '[data-dismiss=\"alert\"]'\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_ALERT = 'alert'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n if (!parent) {\n parent = $(element).closest(`.${CLASS_NAME_ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(EVENT_CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(CLASS_NAME_SHOW)\n\n if (!$(element).hasClass(CLASS_NAME_FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, event => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(EVENT_CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(\n EVENT_CLICK_DATA_API,\n SELECTOR_DISMISS,\n Alert._handleDismiss(new Alert())\n)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Alert._jQueryInterface\n$.fn[NAME].Constructor = Alert\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.3): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.5.3'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_BUTTON = 'btn'\nconst CLASS_NAME_FOCUS = 'focus'\n\nconst SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^=\"button\"]'\nconst SELECTOR_DATA_TOGGLES = '[data-toggle=\"buttons\"]'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"button\"]'\nconst SELECTOR_DATA_TOGGLES_BUTTONS = '[data-toggle=\"buttons\"] .btn'\nconst SELECTOR_INPUT = 'input:not([type=\"hidden\"])'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_BUTTON = '.btn'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUS_BLUR_DATA_API = `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n this.shouldAvoidTriggerChange = false\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(SELECTOR_DATA_TOGGLES)[0]\n\n if (rootElement) {\n const input = this._element.querySelector(SELECTOR_INPUT)\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked && this._element.classList.contains(CLASS_NAME_ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = rootElement.querySelector(SELECTOR_ACTIVE)\n\n if (activeElement) {\n $(activeElement).removeClass(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input\n if (input.type === 'checkbox' || input.type === 'radio') {\n input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE)\n }\n\n if (!this.shouldAvoidTriggerChange) {\n $(input).trigger('change')\n }\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed', !this._element.classList.contains(CLASS_NAME_ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config, avoidTriggerChange) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $element.data(DATA_KEY, data)\n }\n\n data.shouldAvoidTriggerChange = avoidTriggerChange\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n let button = event.target\n const initialButton = button\n\n if (!$(button).hasClass(CLASS_NAME_BUTTON)) {\n button = $(button).closest(SELECTOR_BUTTON)[0]\n }\n\n if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {\n event.preventDefault() // work around Firefox bug #1540995\n } else {\n const inputBtn = button.querySelector(SELECTOR_INPUT)\n\n if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {\n event.preventDefault() // work around Firefox bug #1540995\n return\n }\n\n if (initialButton.tagName === 'INPUT' || button.tagName !== 'LABEL') {\n Button._jQueryInterface.call($(button), 'toggle', initialButton.tagName === 'INPUT')\n }\n }\n })\n .on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n const button = $(event.target).closest(SELECTOR_BUTTON)[0]\n $(button).toggleClass(CLASS_NAME_FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n$(window).on(EVENT_LOAD_DATA_API, () => {\n // ensure correct active class is set to match the controls' actual values/states\n\n // find all checkboxes/readio buttons inside data-toggle groups\n let buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLES_BUTTONS))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n const input = button.querySelector(SELECTOR_INPUT)\n if (input.checked || input.hasAttribute('checked')) {\n button.classList.add(CLASS_NAME_ACTIVE)\n } else {\n button.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n\n // find all button toggles\n buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n if (button.getAttribute('aria-pressed') === 'true') {\n button.classList.add(CLASS_NAME_ACTIVE)\n } else {\n button.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Button._jQueryInterface\n$.fn[NAME].Constructor = Button\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.3): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.5.3'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst DIRECTION_NEXT = 'next'\nconst DIRECTION_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_RIGHT = 'carousel-item-right'\nconst CLASS_NAME_LEFT = 'carousel-item-left'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]'\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = this._element.querySelector(SELECTOR_INDICATORS)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT)\n }\n }\n\n nextWhenVisible() {\n const $element = $(this._element)\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($element.is(':visible') && $element.css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(DIRECTION_PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (this._element.querySelector(SELECTOR_NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM)\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(EVENT_SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n DIRECTION_NEXT :\n DIRECTION_PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element).on(EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(EVENT_MOUSEENTER, event => this.pause(event))\n .on(EVENT_MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n if (!this._touchSupported) {\n return\n }\n\n const start = event => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchStartX = event.originalEvent.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.originalEvent.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.originalEvent.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n $(this._element.querySelectorAll(SELECTOR_ITEM_IMG))\n .on(EVENT_DRAG_START, e => e.preventDefault())\n\n if (this._pointerEvent) {\n $(this._element).on(EVENT_POINTERDOWN, event => start(event))\n $(this._element).on(EVENT_POINTERUP, event => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n $(this._element).on(EVENT_TOUCHSTART, event => start(event))\n $(this._element).on(EVENT_TOUCHMOVE, event => move(event))\n $(this._element).on(EVENT_TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n [].slice.call(element.parentNode.querySelectorAll(SELECTOR_ITEM)) :\n []\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === DIRECTION_NEXT\n const isPrevDirection = direction === DIRECTION_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === DIRECTION_PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(this._element.querySelector(SELECTOR_ACTIVE_ITEM))\n const slideEvent = $.Event(EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(SELECTOR_ACTIVE))\n $(indicators).removeClass(CLASS_NAME_ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT\n orderClassName = CLASS_NAME_NEXT\n eventDirectionName = DIRECTION_LEFT\n } else {\n directionalClassName = CLASS_NAME_RIGHT\n orderClassName = CLASS_NAME_PREV\n eventDirectionName = DIRECTION_RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(CLASS_NAME_SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(CLASS_NAME_ACTIVE)\n\n $(activeElement).removeClass(`${CLASS_NAME_ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(CLASS_NAME_ACTIVE)\n $(nextElement).addClass(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel._dataApiClickHandler)\n\n$(window).on(EVENT_LOAD_DATA_API, () => {\n const carousels = [].slice.call(document.querySelectorAll(SELECTOR_DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n const $carousel = $(carousels[i])\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Carousel._jQueryInterface\n$.fn[NAME].Constructor = Carousel\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.3): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.5.3'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\n\nconst DIMENSION_WIDTH = 'width'\nconst DIMENSION_HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.show, .collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = [].slice.call(document.querySelectorAll(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = Util.getSelectorFromElement(elem)\n const filterElement = [].slice.call(document.querySelectorAll(selector))\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(CLASS_NAME_SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(SELECTOR_ACTIVES))\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(EVENT_SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSE)\n .addClass(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(CLASS_NAME_COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSING)\n .addClass(`${CLASS_NAME_COLLAPSE} ${CLASS_NAME_SHOW}`)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const startEvent = $.Event(EVENT_HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(CLASS_NAME_COLLAPSING)\n .removeClass(`${CLASS_NAME_COLLAPSE} ${CLASS_NAME_SHOW}`)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n\n if (selector !== null) {\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\n if (!$elem.hasClass(CLASS_NAME_SHOW)) {\n $(trigger).addClass(CLASS_NAME_COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSING)\n .addClass(CLASS_NAME_COLLAPSE)\n .trigger(EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(DIMENSION_WIDTH)\n return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT\n }\n\n _getParent() {\n let parent\n\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = document.querySelector(this._config.parent)\n }\n\n const selector = `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n const children = [].slice.call(parent.querySelectorAll(selector))\n\n $(children).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n const isOpen = $(element).hasClass(CLASS_NAME_SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(CLASS_NAME_COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? document.querySelector(selector) : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$element.data(),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $element.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n const selectors = [].slice.call(document.querySelectorAll(selector))\n\n $(selectors).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Collapse._jQueryInterface\n$.fn[NAME].Constructor = Collapse\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n}\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.3): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.5.3'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPRIGHT = 'dropright'\nconst CLASS_NAME_DROPLEFT = 'dropleft'\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = 'top-start'\nconst PLACEMENT_TOPEND = 'top-end'\nconst PLACEMENT_BOTTOM = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT = 'right-start'\nconst PLACEMENT_LEFT = 'left-start'\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED)) {\n return\n }\n\n const isActive = $(this._menu).hasClass(CLASS_NAME_SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show(true)\n }\n\n show(usePopper = false) {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || $(this._menu).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(EVENT_SHOW, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar && usePopper) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org/)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(CLASS_NAME_POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(SELECTOR_NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(CLASS_NAME_SHOW)\n $(parent)\n .toggleClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_SHOWN, relatedTarget))\n }\n\n hide() {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || !$(this._menu).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const hideEvent = $.Event(EVENT_HIDE, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n $(this._menu).toggleClass(CLASS_NAME_SHOW)\n $(parent)\n .toggleClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_HIDDEN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(EVENT_CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n\n if (parent) {\n this._menu = parent.querySelector(SELECTOR_MENU)\n }\n }\n\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element.parentNode)\n let placement = PLACEMENT_BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(CLASS_NAME_DROPUP)) {\n placement = $(this._menu).hasClass(CLASS_NAME_MENURIGHT) ?\n PLACEMENT_TOPEND :\n PLACEMENT_TOP\n } else if ($parentDropdown.hasClass(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT\n } else if ($parentDropdown.hasClass(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT\n } else if ($(this._menu).hasClass(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this._config.offset(data.offsets, this._element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(EVENT_HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n $(dropdownMenu).removeClass(CLASS_NAME_SHOW)\n $(parent)\n .removeClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(SELECTOR_MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n if (this.disabled || $(this).hasClass(CLASS_NAME_DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(CLASS_NAME_SHOW)\n\n if (!isActive && event.which === ESCAPE_KEYCODE) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (!isActive || (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n $(parent.querySelector(SELECTOR_DATA_TOGGLE)).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = [].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS))\n .filter(item => $(item).is(':visible'))\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown._dataApiKeydownHandler)\n .on(`${EVENT_CLICK_DATA_API} ${EVENT_KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, e => {\n e.stopPropagation()\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Dropdown._jQueryInterface\n$.fn[NAME].Constructor = Dropdown\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.3): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.5.3'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable'\nconst CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = element.querySelector(SELECTOR_DIALOG)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if ($(this._element).hasClass(CLASS_NAME_FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(EVENT_SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n event => this.hide(event)\n )\n\n $(this._dialog).on(EVENT_MOUSEDOWN_DISMISS, () => {\n $(this._element).one(EVENT_MOUSEUP_DISMISS, event => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = $.Event(EVENT_HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(CLASS_NAME_FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(EVENT_FOCUSIN)\n\n $(this._element).removeClass(CLASS_NAME_SHOW)\n\n $(this._element).off(EVENT_CLICK_DISMISS)\n $(this._dialog).off(EVENT_MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, event => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => $(htmlElement).off(EVENT_KEY))\n\n /**\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\n */\n $(document).off(EVENT_FOCUSIN)\n\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEventPrevented = $.Event(EVENT_HIDE_PREVENTED)\n\n $(this._element).trigger(hideEventPrevented)\n if (hideEventPrevented.isDefaultPrevented()) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n\n const modalTransitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n $(this._element).off(Util.TRANSITION_END)\n\n $(this._element).one(Util.TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n if (!isModalOverflowing) {\n $(this._element).one(Util.TRANSITION_END, () => {\n this._element.style.overflowY = ''\n })\n .emulateTransitionEnd(this._element, modalTransitionDuration)\n }\n })\n .emulateTransitionEnd(modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(CLASS_NAME_FADE)\n const modalBody = this._dialog ? this._dialog.querySelector(SELECTOR_MODAL_BODY) : null\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n\n if ($(this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(CLASS_NAME_SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(EVENT_SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(EVENT_FOCUSIN) // Guard against infinite focus loop\n .on(EVENT_FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n $(this._element).on(EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n this._triggerBackdropTransition()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(EVENT_RESIZE, event => this.handleUpdate(event))\n } else {\n $(window).off(EVENT_RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(CLASS_NAME_FADE) ?\n CLASS_NAME_FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(EVENT_CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(CLASS_NAME_SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n const fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT))\n const stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT))\n\n // Adjust fixed content padding\n $(fixedContent).each((index, element) => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(stickyContent).each((index, element) => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element)\n .data('margin-right', actualMargin)\n .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n\n $(document.body).addClass(CLASS_NAME_OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n const fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT))\n $(fixedContent).each((index, element) => {\n const padding = $(element).data('padding-right')\n $(element).removeData('padding-right')\n element.style.paddingRight = padding ? padding : ''\n })\n\n // Restore sticky content\n const elements = [].slice.call(document.querySelectorAll(`${SELECTOR_STICKY_CONTENT}`))\n $(elements).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n $(document.body).removeData('padding-right')\n document.body.style.paddingRight = padding ? padding : ''\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n const config = $(target).data(DATA_KEY) ?\n 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(EVENT_SHOW, showEvent => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(EVENT_HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Modal._jQueryInterface\n$.fn[NAME].Constructor = Modal\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.3): tools/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i\n\nfunction allowedAttribute(attr, allowedAttributeList) {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, len = regExp.length; i < len; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (unsafeHtml.length === 0) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = [].slice.call(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].slice.call(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.3): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './tools/sanitizer'\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.5.3'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '
' +\n '
' +\n '
',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n}\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_ARROW = '.arrow'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org/)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(CLASS_NAME_SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const shadowRoot = Util.findShadowRoot(this.element)\n const isInTheDom = $.contains(\n shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(CLASS_NAME_FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this._getContainer()\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n $(tip).addClass(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HOVER_STATE_OUT) {\n this._leave(null, this)\n }\n }\n\n if ($(this.tip).hasClass(CLASS_NAME_FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n\n if ($(this.tip).hasClass(CLASS_NAME_FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent($(tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle())\n $(tip).removeClass(`${CLASS_NAME_FADE} ${CLASS_NAME_SHOW}`)\n }\n\n setElementContent($element, content) {\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (this.config.html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n $element.html(content)\n } else {\n $element.text(content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: SELECTOR_ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this.config.offset(data.offsets, this.element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (Util.isElement(this.config.container)) {\n return $(this.config.container)\n }\n\n return $(document).find(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(eventIn, this.config.selector, event => this._enter(event))\n .on(eventOut, this.config.selector, event => this._leave(event))\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n $(this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler)\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(CLASS_NAME_SHOW) || context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = $(this.element).data()\n\n Object.keys(dataAttributes)\n .forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n this.tip = popperData.instance.popper\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n $(tip).removeClass(CLASS_NAME_FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $element.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tooltip._jQueryInterface\n$.fn[NAME].Constructor = Tooltip\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.3): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.5.3'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '
' +\n '
' +\n '

' +\n '
'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent($tip.find(SELECTOR_CONTENT), content)\n\n $tip.removeClass(`${CLASS_NAME_FADE} ${CLASS_NAME_SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Popover._jQueryInterface\n$.fn[NAME].Constructor = Popover\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.3): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.5.3'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-spy=\"scroll\"]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_ITEMS = '.dropdown-item'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst METHOD_OFFSET = 'offset'\nconst METHOD_POSITION = 'position'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS},` +\n `${this._config.target} ${SELECTOR_LIST_ITEMS},` +\n `${this._config.target} ${SELECTOR_DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(EVENT_SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n METHOD_OFFSET : METHOD_POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod : this._config.method\n\n const offsetBase = offsetMethod === METHOD_POSITION ?\n this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n targets\n .map(element => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = document.querySelector(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (typeof config.target !== 'string' && Util.isElement(config.target)) {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector\n .split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n if ($link.hasClass(CLASS_NAME_DROPDOWN_ITEM)) {\n $link.closest(SELECTOR_DROPDOWN)\n .find(SELECTOR_DROPDOWN_TOGGLE)\n .addClass(CLASS_NAME_ACTIVE)\n $link.addClass(CLASS_NAME_ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(CLASS_NAME_ACTIVE)\n // Set triggered links parents as active\n // With both
- -
- {% endif %} - {% if file.pe.sections %} -
-

Sections

-
- - - - - - - - - - + {% endif %} + + {% if file.pe.sections %} +
+
Sections
+
+
NameRAW AddressVirtual AddressVirtual SizeSize of Raw DataCharacteristicsEntropy
+ + + + + + + + + + + + {% for section in file.pe.sections %} @@ -124,120 +99,110 @@

Sections

{% endfor %} -
NameRAW AddrVirt AddrVirt SizeRaw SizeCharacteristicsEntropy
{{section.name}} {{section.entropy}}
-
-
-
- {% endif %} - - {% if file.pe.overlay %} -
-

Overlay

-
- - - - - - - - - - - - - +
Offset{{file.pe.overlay.offset}}
Size{{file.pe.overlay.size}}
-
- {% endif %} + {% endif %} - {% if file.pe.resources %} -
-
-
- -
+ {% if file.pe.resources %} +
+
+
+

+ +

+
+
+
+
+ + + + + + + + + + + + + {% for section in file.pe.resources %} + + + + + + + + + {% endfor %} + +
NameOffsetSizeLanguageEntropyType
{{section.name}}{{section.offset}}{{section.size}}{{section.language}}{{section.entropy}}{{section.filetype}}
+
+
+
+
+ {% endif %} -
-
- - - - - - - - - - - {% for section in file.pe.resources %} - - - - - - - - - - {% endfor %} -
NameOffsetSizeLanguageSub-languageEntropyFile type
{{section.name}}{{section.offset}}{{section.size}}{{section.language}}{{section.sublanguage}}{{section.entropy}}{{section.filetype}}
+ {% if file.pe.imports %} +
+
Imports
+
+ {% for dll, library in file.pe.imports.items %} +
+
+

+ +

+
+
+
+
+ + + + + + + + + {% for function in library.imports %} + + + + + {% endfor %} + +
NameAddress
{{function.name}}{{function.address}}
+
+
+
+ {% endfor %}
-
-
- {% endif %} +
+ {% endif %} - {% if file.pe.imports %} -
-

Imports

- {% for dll, library in file.pe.imports.items %} -
-
-
- -
-
-
-
- + {% if file.pe.exports %} +
+
Exports
+
+
+ + -
{{function.name}} {{function.address}}
- {% for function in library.imports %} - - - - - {% endfor %} -
Name AddressOrdinal
{{function.name}}{{function.address}}
-
-
-
- {% endfor %} -
- {% endif %} -
- - {% if file.pe.exports %} -
-

Exports

-
- - - - - - + + {% for export in file.pe.exports %} @@ -245,196 +210,45 @@

Exports

{% endfor %} +
NameAddressOrdinal
{{export.name}} {{export.ordinal}}
- {% endif %} - - {% if file.pe.digital_signers %} - -
-
-
- {% for cert in file.pe.digital_signers %} - - - - - - {% if cert.subject_commonName %} - - - - - {% endif %} - {% if cert.subject_commonName %} - - - - - {% endif %} - {% if cert.subject_organizationalUnitName %} - - - - - {% endif %} - {% if cert.subject_streetAddress %} - - - - - {% endif %} - {% if cert.subject_localityName %} - - - - - {% endif %} - {% if cert.subject_stateOrProvinceName %} - - - - - {% endif %} - {% if cert.subject_postalCode %} - - - - - {% endif %} - {% if cert.subject_countryName %} - - - - - {% endif %} - {% if cert.issuer_commonName %} - - - - - {% endif %} - {% if cert.issuer_organizationName %} - - - - - {% endif %} - {% if cert.issuer_organizationalUnitName %} - - - - - {% endif %} - {% if cert.issuer_localityName %} - - - - - {% endif %} - {% if cert.issuer_stateOrProvinceName %} - - - - - {% endif %} - {% if cert.issuer_countryName %} - - - - - {% endif %} - {% if cert.serial_number %} - - - - - {% endif %} - {% if cert.sha256_fingerprint %} - - - - - {% endif %} - {% if cert.sha1_fingerprint %} - - - - - {% endif %} - {% if cert.md5_fingerprint %} - - - - - {% endif %} - {% if cert.not_before %} - - - - - {% endif %} - {% if cert.not_after %} - - - - - {% endif %} - {% endfor %} -
Certificate Common Name{{cert.subject_commonName}}
Subject Organization Name{{cert.subject_commonName}}
Subject Organization Unit Name{{cert.subject_organizationalUnitName}}
Subject Street Address{{cert.subject_streetAddress}}
Subject Locality{{cert.subject_localityName}}
Subject State or Province{{cert.subject_stateOrProvinceName}}
Subject Postal Code{{cert.subject_postalCode}}
Subject Country{{cert.subject_countryName}}
Issuer Common Name{{cert.issuer_commonName}}
Issuer Organization Name{{cert.issuer_organizationName}}
Issuer Organization Unit Name{{cert.issuer_organizationalUnitName}}
Issuer Locality{{cert.issuer_localityName}}
Issuer State or Province{{cert.issuer_stateOrProvinceName}}
Issuer Country{{cert.issuer_countryName}}
Serial Number{{cert.serial_number}}
SHA256 Fingerprint{{cert.sha256_fingerprint}}
SHA1 Fingerprint{{cert.sha1_fingerprint}}
MD5 Fingerprint{{cert.md5_fingerprint}}
Not valid before{{cert.not_before}}
Not valid after{{cert.not_after}}
-
- {% if file.pe.guest_signers.aux_signers %} -
-

Microsoft Certificate Validation (Sign Tool)

-
- - - - - - - - - - - {% if file.pe.guest_signers.aux_valid %} - - - {% else %} - - - {% endif %} - -
SHA1TimestampValidError
{{file.pe.guest_signers.aux_sha1}}{{file.pe.guest_signers.aux_timestamp}}
Yes
None
No
{{file.pe.guest_signers.aux_error_desc}}
- - - - - - - - + {% endif %} - {% for signer in file.pe.guest_signers.aux_signers %} - - - - - - - - {% endfor %} -
ChainIssued toIssued byExpiresSHA1 Hash
{{signer.name}}{{signer|getkey:"Issued to"}}{{signer|getkey:"Issued by"}}{{signer.Expires}}{{signer|getkey:"SHA1 hash"}}
+ {% if file.pe.digital_signers %} +
+
+
+

+ +

+
+
+
+ {% for cert in file.pe.digital_signers %} +
+ + {% if cert.subject_commonName %}{% endif %} + {% if cert.issuer_commonName %}{% endif %} + {% if cert.serial_number %}{% endif %} + {% if cert.not_before %}{% endif %} + {% if cert.not_after %}{% endif %} + {% if cert.sha1_fingerprint %}{% endif %} +
Common Name{{cert.subject_commonName}}
Issuer{{cert.issuer_commonName}}
Serial{{cert.serial_number}}
Valid From{{cert.not_before}}
Valid To{{cert.not_after}}
SHA1 Fingerprint{{cert.sha1_fingerprint}}
+
+ {% endfor %} +
+
{% endif %} -
-
- {% endif %} + +
+
{% else %} - Nothing to display. +
Nothing to display.
{% endif %} diff --git a/web/templates/analysis/generic/_rdp.html b/web/templates/analysis/generic/_rdp.html index 076bb802ebf..0d5f2a25819 100644 --- a/web/templates/analysis/generic/_rdp.html +++ b/web/templates/analysis/generic/_rdp.html @@ -1,70 +1,53 @@ -
-{% if file.rdp %} -

RDP file details

-
- - - - - - {% for key, value in file.rdp.items %} - {% if key != "certificates" %} - - - - - {% else %} -
NameValue
{{key}}{{value}}
- {% for cert in value %} - - - - - - {% if cert.subject %} - - {% endif %} - {% if cert.issuer %} - - - - - {% endif %} - {% if cert.not_before %} - - - - - {% endif %} - {% if cert.not_after %} - - - - - {% endif %} - {% if cert.serial_number %} - - - - - {% endif %} - {% if cert.fingerprint_sha256 %} - - - - - {% endif %} - {% if cert.fingerprint_sha1 %} - - - - - {% endif %} +
+ {% if file.rdp %} +
+
+
RDP File Details
+
+
+ +
+
General Settings
+
+
CertificateValue
Subject Organization Name {{cert.subject}}
Issuer{{cert.issuer}}
Not valid before{{cert.not_before}}
Not valid after{{cert.not_after}}
Serial number{{cert.serial_number}}
Cert's sha256 fingerprint{{cert.fingerprint_sha256}}
Cert's sha1 fingerprint{{cert.fingerprint_sha1}}
+ {% for key, value in file.rdp.items %} + {% if key != "certificates" %} + + + + + {% endif %} + {% endfor %}
{{key}}{{value}}
+
+
+ + {% if file.rdp.certificates %} +
+
Certificates
+ {% for cert in file.rdp.certificates %} +
+
+
+ + {% if cert.subject %}{% endif %} + {% if cert.issuer %}{% endif %} + {% if cert.not_before %}{% endif %} + {% if cert.not_after %}{% endif %} + {% if cert.serial_number %}{% endif %} + {% if cert.fingerprint_sha256 %}{% endif %} + {% if cert.fingerprint_sha1 %}{% endif %} +
Subject{{cert.subject}}
Issuer{{cert.issuer}}
Valid From{{cert.not_before}}
Valid To{{cert.not_after}}
Serial{{cert.serial_number}}
SHA256 Fingerprint{{cert.fingerprint_sha256}}
SHA1 Fingerprint{{cert.fingerprint_sha1}}
+
+
+
{% endfor %} +
{% endif %} - {% endfor %} -{% else %} - Nothing to display. -{% endif %} + +
+
+ {% else %} +
Nothing to display.
+ {% endif %} diff --git a/web/templates/analysis/generic/_subfile_capeyara.html b/web/templates/analysis/generic/_subfile_capeyara.html index 4c65b4a087d..39a7210a9b4 100644 --- a/web/templates/analysis/generic/_subfile_capeyara.html +++ b/web/templates/analysis/generic/_subfile_capeyara.html @@ -1,50 +1,60 @@ -
+
{% load key_tags %} -
-

CAPE Yara Details

-

-
- {% for hit in sub_file.cape_yara %} -
- -
-
- - {% if hit.strings %} - - - - - {% endif %} - {% if hit.addresses %} - - - - - {% endif %} -
Strings -
    - {% for string in hit.strings %} -
  • {{string}}
  • - {% endfor %} -
-
String Name: Address -
    - {% for key, value in hit.addresses.items %} -
  • {{key}}: {{value}}
  • - {% endfor %} -
-
+
+
+
CAPE Yara Details
+
+
+ {% if sub_file.cape_yara %} +
+ {% for hit in sub_file.cape_yara %} +
+
+

+ +

+
+
+
+
+ + {% if hit.strings %} + + + + + {% endif %} + {% if hit.addresses %} + + + + + {% endif %} +
Strings +
    + {% for string in hit.strings %} +
  • {{string}}
  • + {% endfor %} +
+
Address Matches +
    + {% for key, value in hit.addresses.items %} +
  • {{key}}: {{value}}
  • + {% endfor %} +
+
+
+
+
+ {% endfor %}
-
- {% endfor %} + {% else %} +
No CAPE Yara hits.
+ {% endif %}
diff --git a/web/templates/analysis/generic/_subfile_info.html b/web/templates/analysis/generic/_subfile_info.html index 2549ec14f26..9d550dbc827 100644 --- a/web/templates/analysis/generic/_subfile_info.html +++ b/web/templates/analysis/generic/_subfile_info.html @@ -1,439 +1,420 @@ - + {% load key_tags %} -
- - {% if sub_file.note %} + +
+
+
Subfile Information
+ {% if sub_file.dropdir %} + Download + {% else %} +
+ {% if not config.zipped_download %} + {% if tab_name == "static" %} + + {% else %} + + {% endif %} + {% endif %} + {% if tab_name == "static" %} + + {% else %} + + {% endif %} + + {% if config.vtupload and analysis.info.tlp != "Red" %} + VT + {% endif %} +
+ {% endif %} +
+ +
+
+ {% if sub_file.note %} - - + + - {% endif %} - {% if sub_file.cape_type %} + {% endif %} + + {% if sub_file.cape_type %} - - + + - {% endif %} - - - - - {% if sub_file.type %} + {% endif %} + - - + + - {% endif %} - {% if sub_file.guest_paths %} + + {% if sub_file.type %} - - + + + {% endif %} + + {% if sub_file.guest_paths %} + + + - {% endif %} - - - - - {% if sub_file.module_path and sub_file.process_path != sub_file.module_path %} + {% endif %} + - - + + - {% endif %} - {% if sub_file.cape_type_code == 8 or sub_file.cape_type_code == 9 %} + + {% if sub_file.module_path and sub_file.process_path != sub_file.module_path %} + + + + + {% endif %} + + {% if sub_file.cape_type_code == 8 or sub_file.cape_type_code == 9 %} - + {% endif %} {% if sub_file.cape_type_code == 5 %} - + {% endif %} {% if sub_file.cape_type_code == 3 or sub_file.cape_type_code == 4 %} - - + + - - + + - - + + - - - - - - - - - - + + {% else %} {% if sub_file.process_name %} - - - - {% endif %} - {% if sub_file.pid %} - - - + + {% endif %} {% if sub_file.process_path %} - - + + {% endif %} {% endif %} - {% if sub_file.timestamp %} + - - + + - {% endif %} - - - - - - - - - - - - - {% if sub_file.sha3_384 %} - - - - - {% endif %} - {% if sub_file.rh_hash %} - - + + + + + + + + {% if sub_file.sha3_384 %} + + + - {% endif %} - - - - - {% if sub_file.tlsh %} - - - - - {% endif %} - - - - - {% if sub_file.clamav %} - - - - - {% endif %} - {% if sub_file.yara %} - - - - - {% endif %} - {% if sub_file.cape_yara %} - - + + + {% endif %} - - - - {% endif %} - {% if sub_file.trid %} - - - - - {% endif %} + + + + + {% if sub_file.tlsh %} + + + + + {% endif %} + + + + - {% if sub_file.die %} - - - - - {% endif %} + {% if sub_file.clamav %} + + + + + {% endif %} - {% if sub_file.dropdir %} - - - - - {% else %} - - - - - + + + + {% endif %} + + {% if sub_file.cape_yara %} + + + + + {% endif %} - {% if config.bingraph %} - {% if not graphs.bingraph.content|getkey:sub_file.sha256 and on_demand.bingraph %} - Bingraph - {% elif graphs.bingraph.content|getkey:sub_file.sha256 %} - BinGraph - {% endif %} - {% endif %} - - {% if graphs.vba2graph.enabled %} - {% if not graphs.vba2graph.content|getkey:sub_file.sha256 and on_demand.vba2graph %} - Vba2Graph - {% elif graphs.vba2graph.content|getkey:sub_file.sha256 %} - Vba2Graph - {% endif %} - {% endif %} - {% if config.virustotal and not sub_file.virustotal and on_demand.virustotal %} - VirusTotal - {% endif %} - {% if config.vtupload and analysis.info.tlp != "Red" %} - VirusTotal + {% if sub_file.trid %} + + + + + {% endif %} + + {% if sub_file.die %} + + + + + {% endif %} +
Note{{sub_file.note}}Note{{sub_file.note}}
Type{{sub_file.cape_type}}Type{{sub_file.cape_type}}
Filename - {% for name in sub_file.name|str2list %} -
{{name|safe}}
- {% endfor %} -
File Type{{sub_file.type}}Filename + {% for name in sub_file.name|str2list %} +
{{name|safe}}
+ {% endfor %} +
Associated Filenames + File Type{{sub_file.type}}
Associated Filenames {% for path in sub_file.guest_paths|str2list %}
{{path}}
{% endfor %}
File Size{{sub_file.size}} bytes
Module Path{{sub_file.module_path}}File Size{{sub_file.size}} bytes
Module Path{{sub_file.module_path}}
Virtual AddressVirtual Address {{sub_file.virtual_address}}
Section HandleSection Handle {{sub_file.section_handle}}
Target Process{{sub_file.target_process}}Target Process{{sub_file.target_process}} (PID: {{sub_file.target_pid}})
Target PID{{sub_file.target_pid}}Target Path{{sub_file.target_path}}
Target Path{{sub_file.target_path}}Injecting Process{{sub_file.process_name}} (PID: {{sub_file.pid}})
Injecting Process{{sub_file.process_name}}
Injecting PID{{sub_file.pid}}
Path{{sub_file.process_path}}Path{{sub_file.process_path}}
Process{{sub_file.process_name}}
PID{{sub_file.pid}}Process{{sub_file.process_name}} {% if sub_file.pid %}(PID: {{sub_file.pid}}){% endif %}
Path{{sub_file.process_path}}Path{{sub_file.process_path}}
PE timestamp{{sub_file.timestamp}}MD5{{sub_file.md5}}
MD5{{sub_file.md5}}
SHA1{{sub_file.sha1}}
SHA256{{sub_file.sha256}} - [VT] - [MWDB] - [Bazaar] -
SHA3-384{{sub_file.sha3_384}}
RichHeader Hash{{sub_file.rh_hash}}SHA1{{sub_file.sha1}}
SHA256 + {{sub_file.sha256}} + + VT + MWDB + Bazaar + +
SHA3-384{{sub_file.sha3_384}}
CRC32{{sub_file.crc32}}
TLSH{{sub_file.tlsh}}
Ssdeep{{sub_file.ssdeep}}
ClamAV -
    - {% for sign in sub_file.clamav %} -
  • {{sign}}
  • - {% endfor %} -
-
- {% if config.yara_detail %} - - {% else %} - Yara {% endif %} - -
    - {% for sign in sub_file.yara %} -
  • - {{sign.name}} - {{sign.meta.description}} - {% if sign.meta.author %} - - Author: {{sign.meta.author}} - {% endif %} -
  • - {% endfor %} -
-
- {% if config.yara_detail %} - - {% else %} - CAPE Yara + {% if sub_file.rh_hash %} +
RichHeader Hash{{sub_file.rh_hash}}
-
    - {% for sign in sub_file.cape_yara %} -
  • - {{sign.name}} - {% if sign.meta.cape_type %} - {{sign.meta.cape_type}} - {% elif sign.meta.description %} - {{sign.meta.description}} - {% endif %} - {% if sign.meta.author %} - Author: {{sign.meta.author}}{% endif %} -
  • - {% endfor %} -
-
TriD -
    - {% for str in sub_file.trid %} -
  • {{str}}
  • - {% endfor %} -
-
CRC32{{sub_file.crc32}}
TLSH{{sub_file.tlsh}}
Ssdeep{{sub_file.ssdeep}}
Detect It Easy -
    - {% for str in sub_file.die %} -
  • {{str}}
  • - {% endfor %} -
-
ClamAV +
    + {% for sign in sub_file.clamav %} +
  • {{sign}}
  • + {% endfor %} +
+
Download -
- {% if sub_file.pe %}{% endif %} - {% if sub_file.dotnet %}{% endif %} - {% if sub_file.pdf %}{% endif %} - {% if sub_file.lnk %}{% endif %} - {% if sub_file.java %}{% endif %} - {% if sub_file.office %}{% endif %} - - - {% if not config.zipped_download %} - {% if tab_name == "static" %} - + {% if sub_file.yara %} +
+ {% if config.yara_detail %} + Yara {% else %} - - {% endif %} - {% endif %} - {% if tab_name == "static" %} - - {% else %} - - {% endif %} - File - {% if config.flare_capa %} - {% if not sub_file.flare_capa and on_demand.flare_capa %} - CAPA - {% elif sub_file.flare_capa %} - FLARE CAPA + Yara {% endif %} - {% endif %} - {% if config.strings %} - {% if "strings" not in sub_file %} - Strings - {% elif sub_file.strings %} - - {% endif %} - {% endif %} - {% if sub_file.dotnet_strings %} - - {% endif %} - {% if config.floss %} - {% if not sub_file.floss %} - Floss + +
    + {% for sign in sub_file.yara %} +
  • + {{sign.name}} + - {{sign.meta.description}} + {% if sign.meta.author %} ({{sign.meta.author}}){% endif %} +
  • + {% endfor %} +
+
+ {% if config.yara_detail %} + CAPE Yara {% else %} - + CAPE Yara {% endif %} - {% endif %} + +
    + {% for sign in sub_file.cape_yara %} +
  • + {{sign.name}} + {% if sign.meta.cape_type %} {{sign.meta.cape_type}}{% endif %} +
  • + {% endfor %} +
+
TriD +
    + {% for str in sub_file.trid %}
  • {{str}}
  • {% endfor %} +
+
Detect It Easy +
    + {% for str in sub_file.die %}
  • {{str}}
  • {% endfor %} +
+
+
+ + + {% if not sub_file.dropdir %} + + {% endif %} + + + +
{% if sub_file.flare_capa %} - - -
-
- +
+
+
CAPA Results
+
{% if file.flare_capa.CAPABILITY or file.flare_capa.ATTCK or file.flare_capa.MBC %} - {% if file.flare_capa.CAPABILITY %} - {{ file.flare_capa|flare_capa_capability }} - {% endif %} - {% if file.flare_capa.ATTCK %} - {{ file.flare_capa|flare_capa_attck }} - {% endif %} - {% if file.flare_capa.MBC %} - {{ file.flare_capa|flare_capa_mbc }} - {% endif %} + {% if file.flare_capa.CAPABILITY %}{{ file.flare_capa|flare_capa_capability }}{% endif %} + {% if file.flare_capa.ATTCK %}{{ file.flare_capa|flare_capa_attck }}{% endif %} + {% if file.flare_capa.MBC %}{{ file.flare_capa|flare_capa_mbc }}{% endif %} {% else %} - No results + No significant results. {% endif %} -
- - -
- {% endif %} - {% if graphs.vba2graph.enabled and graphs.vba2graph.content|getkey:sub_file.sha256 %} - - {{ graphs.vba2graph.content|getkey:sub_file.sha256|safe }} - - {% endif %} - {% if sub_file.virustotal %} - - - {% include "analysis/generic/_virustotal.html" %} - - {% endif %} - {% if sub_file.strings %} - - -
-
+
+
+ {% endif %} + + {% if graphs.vba2graph.enabled and graphs.vba2graph.content|getkey:sub_file.sha256 %} +
+
{{ graphs.vba2graph.content|getkey:sub_file.sha256|safe }}
+
+ {% endif %} + + {% if sub_file.virustotal %} +
{% include "analysis/generic/_virustotal.html" %}
+ {% endif %} + + {% if sub_file.strings %} +
+
+
Strings
+
{{sub_file.strings|safe}} -
- - - {% endif %} - {% if sub_file.dotnet_strings %} - - -
-
- {% for string in sub_file.dotnet_strings %} -
{{string|safe}}
- {% endfor %} -
+
+
+ {% endif %} + + {% if sub_file.dotnet_strings %} +
+
+
.NET Strings
+
+ {% for string in sub_file.dotnet_strings %}
{{string|safe}}
{% endfor %}
- - - {% endif %} - {% if sub_file.data %} - - -
-
-
{{sub_file.data|escape}}
-
+
+
+ {% endif %} + + {% if sub_file.data %} +
+
+
Extracted Text
+
+
{{sub_file.data|escape}}
- - - {% endif %} - {% if sub_file.decoded_files %} - - -
-
-

{{sub_file.decoded_files|escape}}

-
+
+
+ {% endif %} + + {% if sub_file.decoded_files %} +
+
+
Decoded File Content
+
+
{{sub_file.decoded_files|escape}}
- - - {% endif %} - {% if sub_file.extracted_files %} - - -
-
- {% for sub_file in sub_file.extracted_files %} - {% include "analysis/generic/_subfile_info.html" %} - {% endfor %} -
+
+
+ {% endif %} + + {% if sub_file.extracted_files %} +
+
+
Extracted Files
+
+ {% for sub_file in sub_file.extracted_files %} + {% include "analysis/generic/_subfile_info.html" %} + {% endfor %}
- - -
- {% endif %} - {% if config.yara_detail and sub_file.yara %}
{% include "analysis/generic/_subfile_yara.html" %}

{% endif %} - {% if config.yara_detail and sub_file.cape_yara %}
{% include "analysis/generic/_subfile_capeyara.html" %}

{% endif %} - {% if sub_file.pe %}
{% include "analysis/generic/_pe.html" %}

{% endif %} - {% if sub_file.dotnet %}
{% include "analysis/generic/_dotnet.html" %}

{% endif %} - {% if sub_file.pdf %}
{% include "analysis/generic/_pdf.html" %}

{% endif %} - {% if sub_file.lnk %}
{% include "analysis/generic/_lnk.html" %}

{% endif %} - {% if sub_file.java %}
{% include "analysis/generic/_java.html" %}

{% endif %} - {% if sub_file.office %}
{% include "analysis/generic/_office.html" %}

{% endif %} - {% if sub_file.floss %}
{% include "analysis/generic/_floss.html" %}

{% endif %} - {% if graphs.bingraph.enabled and graphs.bingraph.content|getkey:sub_file.sha256 %}
{{ graphs.bingraph.content|getkey:sub_file.sha256|safe }}

{% endif %} +
+
+ {% endif %} + + {% if config.yara_detail and sub_file.yara %}
{% include "analysis/generic/_subfile_yara.html" %}
{% endif %} + {% if config.yara_detail and sub_file.cape_yara %}
{% include "analysis/generic/_subfile_capeyara.html" %}
{% endif %} + {% if sub_file.pe %}
{% include "analysis/generic/_pe.html" %}
{% endif %} + {% if sub_file.dotnet %}
{% include "analysis/generic/_dotnet.html" %}
{% endif %} + {% if sub_file.pdf %}
{% include "analysis/generic/_pdf.html" %}
{% endif %} + {% if sub_file.lnk %}
{% include "analysis/generic/_lnk.html" %}
{% endif %} + {% if sub_file.java %}
{% include "analysis/generic/_java.html" %}
{% endif %} + {% if sub_file.office %}
{% include "analysis/generic/_office.html" %}
{% endif %} + {% if sub_file.floss %}
{% include "analysis/generic/_floss.html" %}
{% endif %} + + {% if graphs.bingraph.enabled and graphs.bingraph.content|getkey:sub_file.sha256 %} +
+
{{ graphs.bingraph.content|getkey:sub_file.sha256|safe }}
+
+ {% endif %}
diff --git a/web/templates/analysis/generic/_subfile_yara.html b/web/templates/analysis/generic/_subfile_yara.html index 9dd301820b0..02774063410 100644 --- a/web/templates/analysis/generic/_subfile_yara.html +++ b/web/templates/analysis/generic/_subfile_yara.html @@ -1,50 +1,60 @@ -
+
{% load key_tags %} -
-

Yara Details

-

-
- {% for hit in sub_file.yara %} -
- -
-
- - {% if hit.strings %} - - - - - {% endif %} - {% if hit.addresses %} - - - - - {% endif %} -
Strings -
    - {% for string in hit.strings %} -
  • {{string}}
  • - {% endfor %} -
-
String Name: Address -
    - {% for key, value in hit.addresses.items %} -
  • {{key}}: {{value}}
  • - {% endfor %} -
-
+
+
+
Yara Details
+
+
+ {% if sub_file.yara %} +
+ {% for hit in sub_file.yara %} +
+
+

+ +

+
+
+
+
+ + {% if hit.strings %} + + + + + {% endif %} + {% if hit.addresses %} + + + + + {% endif %} +
Strings +
    + {% for string in hit.strings %} +
  • {{string}}
  • + {% endfor %} +
+
Address Matches +
    + {% for key, value in hit.addresses.items %} +
  • {{key}}: {{value}}
  • + {% endfor %} +
+
+
+
+
+ {% endfor %}
-
- {% endfor %} + {% else %} +
No Yara hits.
+ {% endif %}
diff --git a/web/templates/analysis/generic/_virustotal.html b/web/templates/analysis/generic/_virustotal.html index 03b79386002..c7e5b20401d 100644 --- a/web/templates/analysis/generic/_virustotal.html +++ b/web/templates/analysis/generic/_virustotal.html @@ -1,40 +1,45 @@ {% if file.virustotal and not file.virustotal.error == True %} - - -
-
- {% if file.virustotal.resource %} -

Full Results

- {% endif %} - - - - - +
+
+
+ VirusTotal + ({{file.virustotal.positives}}/{{file.virustotal.total}}){% if file.virustotal.detection %} - {{file.virustotal.detection}}{% endif %} +
+ +
- {% for av, values in file.virustotal.scans.items %} -
- - {% if forloop.counter|divisibleby:"3" %} - - {% elif forloop.last %} - +
+
+ {% if file.virustotal.resource %} + {% endif %} - {% endfor %} -
EngineResultEngineResultEngineResult
{{av}} - {% if not values.result %} - Clean - {% else %} - {{values.result}} - {% if values.moloch %} - [MLCH] - {% endif %} - - {% endif %} -
+
+ {% for av, values in file.virustotal.scans.items %} +
+
+ {{av}} + {% if not values.result %} + Clean + {% else %} + + {{values.result}} + + {% if values.moloch %} + + {% endif %} + {% endif %} +
+
+ {% endfor %} +
+
{% endif %} diff --git a/web/templates/analysis/generic/_xlmmacro.html b/web/templates/analysis/generic/_xlmmacro.html index d7153c3bf77..eb5a0a9904d 100644 --- a/web/templates/analysis/generic/_xlmmacro.html +++ b/web/templates/analysis/generic/_xlmmacro.html @@ -1,10 +1,14 @@ -
-
-

XLM Macro

-
-            {% for line in file.office.XLMMacroDeobfuscator.Code %}
-                {{line}}
-            {% endfor %}
-        
-
+
+
+
+
XLM Macro
+
+
+
+
+
{% for line in file.office.XLMMacroDeobfuscator.Code %}{{line}}
{% endfor %}
+
+
+
+
diff --git a/web/templates/analysis/generic/_yara.html b/web/templates/analysis/generic/_yara.html index de5f7b0c338..1cec6a2b69e 100644 --- a/web/templates/analysis/generic/_yara.html +++ b/web/templates/analysis/generic/_yara.html @@ -1,50 +1,60 @@ -
+
{% load key_tags %} -
-

Yara Details

-

-
- {% for hit in file.yara %} -
- -
-
- - {% if hit.strings %} - - - - - {% endif %} - {% if hit.addresses %} - - - - - {% endif %} -
Strings -
    - {% for string in hit.strings %} -
  • {{string}}
  • - {% endfor %} -
-
String Name: Address -
    - {% for key, value in hit.addresses.items %} -
  • {{key}}: {{value}}
  • - {% endfor %} -
-
+
+
+
Yara Details
+
+
+ {% if file.yara %} +
+ {% for hit in file.yara %} +
+
+

+ +

+
+
+
+
+ + {% if hit.strings %} + + + + + {% endif %} + {% if hit.addresses %} + + + + + {% endif %} +
Strings +
    + {% for string in hit.strings %} +
  • {{string}}
  • + {% endfor %} +
+
Address Matches +
    + {% for key, value in hit.addresses.items %} +
  • {{key}}: {{value}}
  • + {% endfor %} +
+
+
+
+
+ {% endfor %}
-
- {% endfor %} + {% else %} +
No Yara hits.
+ {% endif %}
\ No newline at end of file diff --git a/web/templates/analysis/index.html b/web/templates/analysis/index.html index 084fe6e3043..338cfbb6e4d 100644 --- a/web/templates/analysis/index.html +++ b/web/templates/analysis/index.html @@ -1,984 +1,990 @@ {% extends "base.html" %} {% load analysis_tags %} {% block content %} - -
-
- {% if paging.show_file_next == "show" or paging.show_file_prev == "show" %} - - {% endif %} -
-
Recent Files
- {% if files %} - - - - - - - - - - - - {% if config.display_task_tags %} - - {% endif %} + + + + - {% if config.expanded_dashboard %} - - {% endif %} - {% if config.moloch %} - - {% endif %} - {% if config.display_office_martians %} - - {% endif %} - {% if config.suricata %} - - {% endif %} - {% if config.virustotal %} - - {% endif %} - {% if config.malscore %} - - {% endif %} - {% if config.expanded_dashboard %} - - - {% endif %} - - - - - {% for analysis in files %} - - - - - - - - + {% endfor %} + {% endif %} + {% if paging.show_file_next == "show" %} + + {% endif %} + + + {% endif %} + +
+
+
Recent Files
+ {{files|length}} items +
+ {% if files %} +
+
IDTimestampMachinePackageFilenameMD5DetectionsTask tagsPKGMolochMartiansSuriAlert - {% if config.expanded_dashboard %} - /HTTP/TLS/Files - {% endif %} - VTMalScorePCAPClamAVStatus
- {% if analysis.status in "reported,recovered" %} - {{analysis.id}} - {% elif analysis.status in "running,completed,distributed" %} - {{analysis.id}} - {% else %} - {{analysis.id}} - {% endif %} - - {% if analysis.status in "reported,recovered" %} - {{analysis.completed_on}} - {% else %} - {{analysis.added_on}} (added on) - {% endif %} - - {% if analysis.machine %} - {{analysis.machine}} +
+ +
+ {% if paging.show_file_next == "show" or paging.show_file_prev == "show" %} +
- {{analysis.package}} - - {% if analysis.status in "reported,recovered" %} - {{analysis.filename}} - {% elif analysis.status in "running,completed,distributed" %} - {{analysis.filename}} - {% else %} - {{analysis.filename}} - {% endif %} - - {% if analysis.status in "reported,recovered" %} - {{analysis.sample.md5}} - {% elif analysis.status in "running,completed,distributed" %} - {{analysis.sample.md5}} - {% else %} - {{analysis.sample.md5}} - {% endif %} - - {% if analysis.detections|is_string %} - {{analysis.detections}} - {% elif analysis.detections|length == 1 %} - {{analysis.detections.0.family}} - {% elif analysis.detections|length > 1 %} - Multiple - {% endif %} -
+ + + + + + + + + + {% if config.display_task_tags %} - + {% endif %} + {% if config.expanded_dashboard %} - + {% endif %} {% if config.moloch %} - + {% endif %} {% if config.display_office_martians %} - + {% endif %} {% if config.suricata %} - - {% endif %} - {% if config.virustotal %} - - {% endif %} - {% if config.malscore %} - + {% endif %} + {% if config.moloch %} + {% endif %} - - {% endif %} - {% if config.expanded_dashboard %} - {% endif %} - - - {% endif %} - - - {% endif %} - + {% endif %} + {% if config.malscore %} + {% endif %} - - - {% endfor %} - -
IDTimestampMachinePackageFilenameMD5Detections - {% if analysis.user_task_tags %} - {{analysis.user_task_tags}} - {% endif %} - Task tags - {% if analysis.package %} - {{analysis.package}} - {% else %} - - - {% endif %} - PKG - {% if analysis.moloch_url %} - MOLOCH - {% else %} - - - {% endif %} - Moloch - - {% if analysis.f_mlist_cnt %} - {{analysis.f_mlist_cnt}} - {% else %} - None - {% endif %} - - Martians - - {% if analysis.suri_alert_cnt %} - {{analysis.suri_alert_cnt}}/{{analysis.suri_http_cnt}}/-/{{analysis.suri_tls_cnt}}/-/{{analysis.suri_file_cnt}}/- - - {% if analysis.virustotal_summary %} - {{analysis.virustotal_summary}} - {% else %} - - - {% endif %} - - {% if analysis.malscore != None %} - + {% if analysis.package %} + {{analysis.package}} {% else %} - class="badge badge-danger" + - {% endif %} - {% if analysis.detections %} - title="{{analysis.detections}}" + + {% if analysis.moloch_url %} + MOLOCH + {% else %} + - {% endif %} - >{{analysis.malscore|floatformat:1}} - {% else %} - - + - - {% if analysis.pcap_sha256 %} - PCAP - {% else %} - - + {% if config.display_office_martians %} + + {% if analysis.f_mlist_cnt %} + {{analysis.f_mlist_cnt}} + {% else %} + - + {% endif %} + - - {% if analysis.clamav %} - {{analysis.clamav}} - {% else %} - - + {% if config.suricata %} + + + {% if analysis.suri_alert_cnt %} + {{analysis.suri_alert_cnt}}/{{analysis.suri_http_cnt}}/-/{{analysis.suri_tls_cnt}}/-/{{analysis.suri_file_cnt}}/- + - {% if analysis.status == "pending" %} - pending - {% elif analysis.status == "running" %} - running - {% elif analysis.status == "distributed" %} - distributed - {% elif analysis.status == "completed" %} - processing - {% elif analysis.status == "reported" %} - {% if analysis.errors %} - + {% if config.virustotal %} + + {% if analysis.virustotal_summary %} + {{analysis.virustotal_summary}} {% else %} - - {% endif%} - - reported - {% else %} - {{analysis.status}} + - + {% endif %} + + {% if analysis.malscore != None %} + + {{analysis.malscore|floatformat:1}} + + {% else %} + - + {% endif %} +
+ {% if config.expanded_dashboard %} + + {% if analysis.pcap_sha256 %} + + {% else %} + - + {% endif %} + + + {% if analysis.clamav %} + {{analysis.clamav}} + {% else %} + - + {% endif %} + + {% endif %} + + {% if analysis.status == "pending" %} + pending + {% elif analysis.status == "running" %} + running + {% elif analysis.status == "distributed" %} + distributed + {% elif analysis.status == "completed" %} + processing + {% elif analysis.status == "reported" %} + {% if analysis.errors %} + error + {% else %} + reported + {% endif%} + {% else %} + {{analysis.status}} + {% endif %} + + + {% endfor %} + + +
{% else %} -
No files to display on this page.
+
+ +

No files to display on this page.

+
{% endif %}
{% if paging.show_file_next == "show" or paging.show_file_prev == "show" %} -
-
+ +
{% if paging.show_static_next == "show" or paging.show_static_prev == "show" %} -
-
+ +
{% if paging.show_url_next == "show" or paging.show_url_prev == "show" %} -
-
+ +
{% if paging.show_pcap_next == "show" or paging.show_pcap_prev == "show" %} -
diff --git a/web/templates/analysis/misp/index.html b/web/templates/analysis/misp/index.html index f34613ec911..f0bd7b52e43 100644 --- a/web/templates/analysis/misp/index.html +++ b/web/templates/analysis/misp/index.html @@ -29,13 +29,13 @@ {% if event.level %}

{% if event.level == "4" %} - 4 + 4 {% elif event.level == "3" %} - 3 + 3 {% elif event.level == "2" %} - 2 + 2 {% elif event.level == "1" %} - 1 + 1 {% endif %} {% endif %} diff --git a/web/templates/analysis/network/_cif.html b/web/templates/analysis/network/_cif.html index 327eff3bdb0..00e8f6f18c5 100644 --- a/web/templates/analysis/network/_cif.html +++ b/web/templates/analysis/network/_cif.html @@ -1,32 +1,39 @@

-

CIF Results

- {% if cif %} - - - - - - - - - - - {% for result in cif %} - {% if result.address %} - - - - - - - - - - {% endif %} - {% endfor %} -
AddressDetection TimeReport TimeRestrictionConfidenceAssessmentDescription
{{result.address}}{{result.detecttime}}{{result.reporttime}}{{result.restriction}}{{result.confidence}}{{result.assessment}}{{result.description}}
- - {% else %} -

No CIF Results

- {% endif %} +
+
+
CIF Results
+
+ {% if cif %} +
+ + + + + + + + + + + {% for result in cif %} + {% if result.address %} + + + + + + + + + + {% endif %} + {% endfor %} +
AddressDetection TimeReport TimeRestrictionConfidenceAssessmentDescription
{{result.address}}{{result.detecttime}}{{result.reporttime}}{{result.restriction}}{{result.confidence}}{{result.assessment}}{{result.description}}
+
+ {% else %} +
+
No CIF Results
+
+ {% endif %} +
diff --git a/web/templates/analysis/network/_dns.html b/web/templates/analysis/network/_dns.html index 0320e012785..21e461f2011 100644 --- a/web/templates/analysis/network/_dns.html +++ b/web/templates/analysis/network/_dns.html @@ -1,57 +1,66 @@
- {% if network.dns %} - - - - - - - {% for p in network.dns %} - - - - + + + + {% endfor %} +
NameResponsePost-Analysis Lookup
{{p.request}} [VT] - {% if config.display_et_portal %} - [ET] - {% endif %} - {% if config.display_pt_portal %} - [PT] - {% endif %} - - {% for a in p.answers %} - {{a.type}} {{a.data|linebreaksbr}} - {% if a.type != "NXDOMAIN" %} - {% if a.type == "CNAME" %} - [VT] - {% else %} - [VT] - {% endif %} - {% if config.display_et_portal %} - [ET] - {% endif %} - {% if config.display_pt_portal %} - [PT] - {% endif %} - {% endif %} - {% if not forloop.last %} -
- {% endif %} - {% endfor %} -
{% if domainlookups and domainlookups|get_item:p.request %} - {{ domainlookups|get_item:p.request }} - [VT] +
+
+
DNS Requests
+
+ {% if network.dns %} +
+ + + + + + + {% for p in network.dns %} + + - - {% endfor %} -
NameResponsePost-Analysis Lookup
{{p.request}} [VT] {% if config.display_et_portal %} - [ET] + [ET] {% endif %} {% if config.display_pt_portal %} - [PT] - {% endif %} + [PT] {% endif %} -
- {% else %} -

No domains contacted.

- {% endif %} +
+ {% for a in p.answers %} + {{a.type}} {{a.data|linebreaksbr}} + {% if a.type != "NXDOMAIN" %} + {% if a.type == "CNAME" %} + [VT] + {% else %} + [VT] + {% endif %} + {% if config.display_et_portal %} + [ET] + {% endif %} + {% if config.display_pt_portal %} + [PT] + {% endif %} + {% endif %} + {% if not forloop.last %} +
+ {% endif %} + {% endfor %} +
{% if domainlookups and domainlookups|get_item:p.request %} + {{ domainlookups|get_item:p.request }} + [VT] + {% if config.display_et_portal %} + [ET] + {% endif %} + {% if config.display_pt_portal %} + [PT] + {% endif %} + {% endif %} +
+
+ {% else %} +
+
No domains contacted.
+
+ {% endif %} +
diff --git a/web/templates/analysis/network/_dns_not_ajax.html b/web/templates/analysis/network/_dns_not_ajax.html index 1e4a44f3c4f..1bac59d2f24 100644 --- a/web/templates/analysis/network/_dns_not_ajax.html +++ b/web/templates/analysis/network/_dns_not_ajax.html @@ -1,5 +1,4 @@
-

DNS

{% if analysis.network.dns %} diff --git a/web/templates/analysis/network/_hosts.html b/web/templates/analysis/network/_hosts.html index b74a9a47270..31d687d1154 100644 --- a/web/templates/analysis/network/_hosts.html +++ b/web/templates/analysis/network/_hosts.html @@ -1,39 +1,48 @@
- {% if network.hosts %} -
- - - - - - - {% for host in network.hosts %} - - {% if host.ip|slice:":7" != "192.168" %} - {% if "hostname" in host and host.hostname == "" %} - - {% elif "hostname" in host %} - - {% else %} - - {% endif %} - + {% endfor %} +
DirectIPCountry NameASN
YNN/A{{host.ip}} [VT] - {% if config.display_et_portal %} - [ET] +
+
+
Hosts
+
+ {% if network.hosts %} +
+ + + + + + + + {% for host in network.hosts %} + + {% if host.ip|slice:":7" != "192.168" %} + {% if "hostname" in host and host.hostname == "" %} + + {% elif "hostname" in host %} + + {% else %} + + {% endif %} + + + {% if host.asn %} + + {% endif %} {% endif %} - {% if config.display_pt_portal %} - [PT] - {% endif %} - - - {% if host.asn %} - - {% endif %} - {% endif %} - - {% endfor %} -
DirectIPCountry NameASN
YNN/A{{host.ip}} [VT] + {% if config.display_et_portal %} + [ET] + {% endif %} + {% if config.display_pt_portal %} + [PT] + {% endif %} + {{host.country_name}}{{host.asn}}{% if host.asn_name %} - {{host.asn_name}}{% endif %} {{host.country_name}}{{host.asn}}{% if host.asn_name %} - {{host.asn_name}}{% endif %}
- {% else %} -

No hosts contacted.

- {% endif %} +
+
+ {% else %} +
+
No hosts contacted.
+
+ {% endif %} +
diff --git a/web/templates/analysis/network/_hosts_not_ajax.html b/web/templates/analysis/network/_hosts_not_ajax.html index 01381f3946d..946ebeb17d3 100644 --- a/web/templates/analysis/network/_hosts_not_ajax.html +++ b/web/templates/analysis/network/_hosts_not_ajax.html @@ -1,5 +1,4 @@
-

Hosts

{% if analysis.network.hosts %} @@ -9,8 +8,8 @@

Hosts

{% for host in analysis.network.hosts %} - - {% if host.ip|slice:":7" != "192.168" %} + {% if host.ip|slice:":7" != "192.168" %} + {% if "hostname" in host and host.hostname == "" %} {% elif "hostname" in host %} @@ -30,8 +29,8 @@

Hosts

{% if host.asn %} {% endif %} - {% endif %} - + + {% endif %} {% endfor %}
ASN
Y{{host.asn}}
{% else %} diff --git a/web/templates/analysis/network/_http.html b/web/templates/analysis/network/_http.html index 7e129df617a..1f9bfa82cd5 100644 --- a/web/templates/analysis/network/_http.html +++ b/web/templates/analysis/network/_http.html @@ -1,6 +1,10 @@ -

HTTP Requests

+
+
+
HTTP Requests
+
{% if network.http_ex or network.https_ex %} - +
+
@@ -9,7 +13,7 @@

HTTP Requests

- - -
+ {% endif %} diff --git a/web/templates/analysis/overview/_curtain.html b/web/templates/analysis/overview/_curtain.html index 5fe78ac413d..4f808578130 100644 --- a/web/templates/analysis/overview/_curtain.html +++ b/web/templates/analysis/overview/_curtain.html @@ -2,81 +2,114 @@ __author__ = "Jeff White [karttoon] @noottrak" __email__ = "jwhite@paloaltonetworks.com" __version__ = "1.0.1" -__date__ = "29NOV2017 +__date__ = "29NOV2017" --> - -
-
-
-
-
-
- -
-
- {% if analysis.curtain %} - {% for pid,dict in analysis.curtain.items %} -
-
- PID: {{pid}} - {% for entry in dict.behaviors %} - {{ entry }} - {% endfor %} -
-
- {% for entry in dict.events %} {% for event,message in entry.items %} - Event: {{ event }} -

{{ message.original|linebreaksbr }}

{% endfor %} {% endfor %} +
+
+
+ +
+
+
+
+ +
+ +
+ {% if analysis.curtain %} + {% for pid,dict in analysis.curtain.items %} +
+
+ PID: {{pid}} + {% for entry in dict.behaviors %} + {{ entry }} + {% endfor %} +
+
+ {% for entry in dict.events %} + {% for event,message in entry.items %} +
+ Event: {{ event }} +

{{ message.original|linebreaksbr }}

-
{% endfor %} - {% endif %} + {% endfor %}
-
- {% if analysis.curtain %} - {% for pid,dict in analysis.curtain.items %} -
-
- PID: {{pid}} - {% for entry in dict.behaviors %} - {{ entry }} - {% endfor %} -
-
- {% for entry in dict.events %} {% for event,message in entry.items %} Event: - {{ event }} -

{{ message.altered|linebreaksbr }}

{% endfor %} {% endfor %} +
+ {% endfor %} + {% else %} +

No original events found.

+ {% endif %} +
+ + +
+ {% if analysis.curtain %} + {% for pid,dict in analysis.curtain.items %} +
+
+ PID: {{pid}} + {% for entry in dict.behaviors %} + {{ entry }} + {% endfor %} +
+
+ {% for entry in dict.events %} + {% for event,message in entry.items %} +
+ Event: {{ event }} +

{{ message.altered|linebreaksbr }}

-
{% endfor %} - {% endif %} + {% endfor %}
-
- {% if analysis.curtain %} {% for pid,dict in analysis.curtain.items %} -
-
- PID: {{pid}} - {% for entry in dict.behaviors %} - {{ entry }} - {% endfor %} -
-
- {% for entry in dict.filter %} - {% for event,message in entry.items %} - Event: {{ event }} -

- {{ message|linebreaksbr }} -

{% endfor %} {% endfor %} -
-
- {% endfor %} {% endif %} +
+ {% endfor %} + {% else %} +

No altered events found.

+ {% endif %} +
+ + +
+ {% if analysis.curtain %} + {% for pid,dict in analysis.curtain.items %} +
+
+ PID: {{pid}} + {% for entry in dict.behaviors %} + {{ entry }} + {% endfor %} +
+
+ {% for entry in dict.filter %} + {% for event,message in entry.items %} +
+ Event: {{ event }} +

{{ message|linebreaksbr }}

+
+ {% endfor %} + {% endfor %}
-
+ {% endfor %} + {% else %} +

No filtered events found.

+ {% endif %}
diff --git a/web/templates/analysis/overview/_info.html b/web/templates/analysis/overview/_info.html index d897aeea682..c9aec93e5a7 100644 --- a/web/templates/analysis/overview/_info.html +++ b/web/templates/analysis/overview/_info.html @@ -1,157 +1,188 @@ -
+
+ {% if analysis.detections %} -

Detection(s): - {% for block in analysis.detections %} - {{block.family}} - {% endfor %} -

+
+
Detection(s):
+ {% for block in analysis.detections %} + + {{block.family}} + + {% endfor %} +
{% endif %} + {% if config.malscore and analysis.malstatus %} -

Status: +

+
Status:
{% if analysis.malstatus == "Malicious" %} - {{analysis.malstatus}} + {{analysis.malstatus}} {% elif analysis.malstatus == "Suspicious" %} - {{analysis.malstatus}} + {{analysis.malstatus}} {% elif analysis.malstatus == "Clean" %} - {{analysis.malstatus}} + {{analysis.malstatus}} {% else %} - {{analysis.malstatus}} - {% endif %} -

+ {{analysis.malstatus}} + {% endif %} +
{% endif %} -
-
-

Analysis {% if settings.REPROCESS_TASKS %} {% endif %}

+ +
+
+
Analysis Details
+ {% if settings.REPROCESS_TASKS %} + + + + {% endif %}
-
URI Details
{{http.protocol }}://{{http.host}}{{http.uri}} - +
{% if http.request %} {% endfor %}
{% if http.req.sha256 %} @@ -47,8 +51,10 @@

HTTP Requests

+ {% elif network.http %} - +
+
@@ -60,6 +66,10 @@

HTTP Requests

{% endfor %}
URI Data
+ {% else %} -

No HTTP(s) requests performed.

+
+
No HTTP(s) requests performed.
+
{% endif %} + diff --git a/web/templates/analysis/network/_icmp.html b/web/templates/analysis/network/_icmp.html index cda2e0648ba..d4bba980723 100644 --- a/web/templates/analysis/network/_icmp.html +++ b/web/templates/analysis/network/_icmp.html @@ -1,5 +1,10 @@ +
+
+
ICMP Traffic
+
{% if network.icmp %} - +
+
@@ -15,6 +20,10 @@ {% endfor %}
Source Destination
+
{% else %} -

No ICMP traffic performed.

+
+
No ICMP traffic performed.
+
{% endif %} + diff --git a/web/templates/analysis/network/_irc.html b/web/templates/analysis/network/_irc.html index fc6dfd6e2b3..41631dfdc6a 100644 --- a/web/templates/analysis/network/_irc.html +++ b/web/templates/analysis/network/_irc.html @@ -1,6 +1,10 @@ -

IRC traffic

+
+
+
IRC Traffic
+
{% if network.irc %} - +
+
@@ -14,6 +18,10 @@

IRC traffic

{% endfor %}
Command Params
+
{% else %} -

No IRC requests performed.

+
+
No IRC requests performed.
+
{% endif %} + diff --git a/web/templates/analysis/network/_smtp.html b/web/templates/analysis/network/_smtp.html index 943313eee11..d99fed0f263 100644 --- a/web/templates/analysis/network/_smtp.html +++ b/web/templates/analysis/network/_smtp.html @@ -1,6 +1,10 @@ -

SMTP traffic

+
+
+
SMTP Traffic
+
{% if network.smtp_ex %} - +
+
@@ -9,7 +13,7 @@

SMTP traffic

diff --git a/web/templates/analysis/network/_suricata_http.html b/web/templates/analysis/network/_suricata_http.html index 522117c9faa..2f7d5f3cdde 100644 --- a/web/templates/analysis/network/_suricata_http.html +++ b/web/templates/analysis/network/_suricata_http.html @@ -1,95 +1,102 @@
-

Suricata HTTP

- {% if suricata.http %} -
Destination Data
{{req.dst}}:{{req.dport}} - +
{% if req %} {% endfor %}
Request: @@ -41,8 +45,10 @@

SMTP traffic

+ {% elif network.smtp %} - +
+
@@ -54,6 +60,10 @@

SMTP traffic

{% endfor %}
Destination Data
+ {% else %} -

No SMTP traffic performed.

+
+
No SMTP traffic performed.
+
{% endif %} + diff --git a/web/templates/analysis/network/_suricata_alerts.html b/web/templates/analysis/network/_suricata_alerts.html index 28873323633..d1cf77ab04c 100644 --- a/web/templates/analysis/network/_suricata_alerts.html +++ b/web/templates/analysis/network/_suricata_alerts.html @@ -1,84 +1,91 @@
-

Suricata Alerts

- {% if suricata.alerts %} - - - - - - - - - - - - - - - - {% for alert in suricata.alerts %} - - - - - - - - - - - - - - - {% endfor %} -
TimestampSource IPSource PortDestination IPDestination PortProtocolGIDSIDREVSignatureCategorySeverity
{{alert.timestamp}}{{alert.srcip}} - [VT] - {% if config.display_et_portal %} - [ET] - {% endif %} - {% if config.display_pt_portal %} - [PT] - {% endif %} - {% if alert.moloch_src_ip_url %} - [MLCH] - {% endif %} - {{alert.srcport}} - {% if alert.moloch_src_port_url %} - [MLCH] - {% endif %} - {{alert.dstip}} - [VT] - {% if config.display_et_portal %} - [ET] - {% endif %} - {% if config.display_pt_portal %} - [PT] - {% endif %} - {% if alert.moloch_dst_ip_url %} - [MLCH] - {% endif %} - {{alert.dstport}} - {% if alert.moloch_dst_port_url %} - [MLCH] - {% endif %} - {{alert.protocol}}{{alert.gid}}{{alert.sid}} - {% if config.display_et_portal %} - [ET] - {% endif %} - {% if alert.moloch_sid_url %} - [MLCH] - {% endif %} - {{alert.rev}}{{alert.signature}} - {% if config.display_et_portal %} - [ET] - {% endif %} - {% if alert.moloch_msg_url %} - [MLCH] - {% endif %} - {{alert.category}}{{alert.severity}}
- - {% else %} -

No Suricata Alerts

- {% endif %} +
+
+
Suricata Alerts
+
+ {% if suricata.alerts %} +
+ + + + + + + + + + + + + + + + {% for alert in suricata.alerts %} + + + + + + + + + + + + + + + {% endfor %} +
TimestampSource IPSource PortDestination IPDestination PortProtocolGIDSIDREVSignatureCategorySeverity
{{alert.timestamp}}{{alert.srcip}} + [VT] + {% if config.display_et_portal %} + [ET] + {% endif %} + {% if config.display_pt_portal %} + [PT] + {% endif %} + {% if alert.moloch_src_ip_url %} + [MLCH] + {% endif %} + {{alert.srcport}} + {% if alert.moloch_src_port_url %} + [MLCH] + {% endif %} + {{alert.dstip}} + [VT] + {% if config.display_et_portal %} + [ET] + {% endif %} + {% if config.display_pt_portal %} + [PT] + {% endif %} + {% if alert.moloch_dst_ip_url %} + [MLCH] + {% endif %} + {{alert.dstport}} + {% if alert.moloch_dst_port_url %} + [MLCH] + {% endif %} + {{alert.protocol}}{{alert.gid}}{{alert.sid}} + {% if config.display_et_portal %} + [ET] + {% endif %} + {% if alert.moloch_sid_url %} + [MLCH] + {% endif %} + {{alert.rev}}{{alert.signature}} + {% if config.display_et_portal %} + [ET] + {% endif %} + {% if alert.moloch_msg_url %} + [MLCH] + {% endif %} + {{alert.category}}{{alert.severity}}
+
+ {% else %} +
+
No Suricata Alerts
+
+ {% endif %} +
diff --git a/web/templates/analysis/network/_suricata_files.html b/web/templates/analysis/network/_suricata_files.html index 692ce7cb3d3..76d32f38ece 100644 --- a/web/templates/analysis/network/_suricata_files.html +++ b/web/templates/analysis/network/_suricata_files.html @@ -116,7 +116,7 @@
{% if file.file_info.data %} -  Display Text +  Display Text {% endif %}
- - - - - - - - - - - - - - - - {% for http in suricata.http %} - - - - - - - - - - - - - - - - {% endfor %} -
TimestampSource IPSource PortDestination IPDestination PortMethodStatusHostnameURIContent TypeUser AgentReferrerLength
{{http.timestamp}}{{http.srcip}} - [VT] - {% if config.display_et_portal %} - [ET] - {% endif %} - {% if config.display_pt_portal %} - [PT] - {% endif %} - {% if http.moloch_src_ip_url %} - [MLCH] - {% endif %} - {{http.srcport}} - {% if http.moloch_src_port_url %} - [MLCH] - {% endif %} - {{http.dstip}} - [VT] - {% if config.display_et_portal %} - [ET] - {% endif %} - {% if config.display_pt_portal %} - [PT] - {% endif %} - {% if http.moloch_dst_ip_url %} - [MLCH] - {% endif %} - {{http.dstport}} - {% if http.moloch_dst_port_url %} - [MLCH] - {% endif %} - {{http.method}} - {% if http.moloch_http_method_url %} - [MLCH] - {% endif %} - {{http.status}}{{http.hostname}} - [VT] - {% if config.display_et_portal %} - [ET] - {% endif %} - {% if config.display_pt_portal %} - [PT] - {% endif %} - {% if http.moloch_http_host_url %} - [MLCH] - {% endif %} - {{http.uri}} - {% if http.moloch_http_uri_url %} - [MLCH] - {% endif %} - {{http.contenttype}}{{http.ua}} - {% if http.moloch_http_ua_url %} - [MLCH] - {% endif %} - {{http.referrer}}{{http.length}}
- - {% else %} -

No Suricata HTTP

- {% endif %} +
+
+
Suricata HTTP
+
+ {% if suricata.http %} +
+ + + + + + + + + + + + + + + + + {% for http in suricata.http %} + + + + + + + + + + + + + + + + {% endfor %} +
TimestampSource IPSource PortDestination IPDestination PortMethodStatusHostnameURIContent TypeUser AgentReferrerLength
{{http.timestamp}}{{http.srcip}} + [VT] + {% if config.display_et_portal %} + [ET] + {% endif %} + {% if config.display_pt_portal %} + [PT] + {% endif %} + {% if http.moloch_src_ip_url %} + [MLCH] + {% endif %} + {{http.srcport}} + {% if http.moloch_src_port_url %} + [MLCH] + {% endif %} + {{http.dstip}} + [VT] + {% if config.display_et_portal %} + [ET] + {% endif %} + {% if config.display_pt_portal %} + [PT] + {% endif %} + {% if http.moloch_dst_ip_url %} + [MLCH] + {% endif %} + {{http.dstport}} + {% if http.moloch_dst_port_url %} + [MLCH] + {% endif %} + {{http.method}} + {% if http.moloch_http_method_url %} + [MLCH] + {% endif %} + {{http.status}}{{http.hostname}} + [VT] + {% if config.display_et_portal %} + [ET] + {% endif %} + {% if config.display_pt_portal %} + [PT] + {% endif %} + {% if http.moloch_http_host_url %} + [MLCH] + {% endif %} + {{http.uri}} + {% if http.moloch_http_uri_url %} + [MLCH] + {% endif %} + {{http.contenttype}}{{http.ua}} + {% if http.moloch_http_ua_url %} + [MLCH] + {% endif %} + {{http.referrer}}{{http.length}}
+
+ {% else %} +
+
No Suricata HTTP
+
+ {% endif %} +
diff --git a/web/templates/analysis/network/_suricata_tls.html b/web/templates/analysis/network/_suricata_tls.html index 72f54ab68e0..dbd0d2bf1f9 100644 --- a/web/templates/analysis/network/_suricata_tls.html +++ b/web/templates/analysis/network/_suricata_tls.html @@ -1,73 +1,80 @@
-

Suricata TLS

- {% if suricata.tls %} - - - - - - - - - - - - - - {% for tls in suricata.tls %} - - - - - - - - - - - - - {% endfor %} -
TimestampSource IPSource PortDestination IPDestination PortSubjectIssuerFingerprintJA3Version
{{tls.timestamp}}{{tls.srcip}} - [VT] - {% if config.display_et_portal %} - [ET] - {% endif %} - {% if config.display_pt_portal %} - [PT] - {% endif %} - {% if tls.moloch_src_ip_url %} - [MLCH] - {% endif %} - {{tls.srcport}} - {% if tls.moloch_src_port_url %} - [MLCH] - {% endif %} - {{tls.dstip}} - [VT] - {% if config.display_et_portal %} - [ET] - {% endif %} - {% if config.display_pt_portal %} - [PT] - {% endif %} - {% if tls.moloch_dst_ip_url %} - [MLCH] - {% endif %} - {{tls.dstport}} - {% if tls.moloch_dst_port_url %} - [MLCH] - {% endif %} - {{tls.subject}}{{tls.issuerdn}}{{tls.fingerprint}} - {% if tls.ja3 %} -
    -
  • hash: {{tls.ja3.hash}}
  • -
  • string: {{tls.ja3.string}}
  • -
- {% endif %} -
{{tls.version}}
- - {% else %} -

No Suricata TLS

- {% endif %} +
+
+
Suricata TLS
+
+ {% if suricata.tls %} +
+ + + + + + + + + + + + + + {% for tls in suricata.tls %} + + + + + + + + + + + + + {% endfor %} +
TimestampSource IPSource PortDestination IPDestination PortSubjectIssuerFingerprintJA3Version
{{tls.timestamp}}{{tls.srcip}} + [VT] + {% if config.display_et_portal %} + [ET] + {% endif %} + {% if config.display_pt_portal %} + [PT] + {% endif %} + {% if tls.moloch_src_ip_url %} + [MLCH] + {% endif %} + {{tls.srcport}} + {% if tls.moloch_src_port_url %} + [MLCH] + {% endif %} + {{tls.dstip}} + [VT] + {% if config.display_et_portal %} + [ET] + {% endif %} + {% if config.display_pt_portal %} + [PT] + {% endif %} + {% if tls.moloch_dst_ip_url %} + [MLCH] + {% endif %} + {{tls.dstport}} + {% if tls.moloch_dst_port_url %} + [MLCH] + {% endif %} + {{tls.subject}}{{tls.issuerdn}}{{tls.fingerprint}} + {% if tls.ja3 %} +
    +
  • hash: {{tls.ja3.hash}}
  • +
  • string: {{tls.ja3.string}}
  • +
+ {% endif %} +
{{tls.version}}
+
+ {% else %} +
+
No Suricata TLS
+
+ {% endif %} +
diff --git a/web/templates/analysis/network/_udp.html b/web/templates/analysis/network/_udp.html index b9f63445ba5..beef865bce6 100644 --- a/web/templates/analysis/network/_udp.html +++ b/web/templates/analysis/network/_udp.html @@ -1,32 +1,41 @@
- {% if network.udp %} -
-
- - - - - - - - {% for p in network.udp %} - - - - - - - {% endfor %} -
SourceSource PortDestinationDestination Port
{{p.src}}{{p.sport}}{{p.dst}} - {% if network.iplookups %} - {{ network.iplookups|get_item:p.dst }} - {% endif %} - {{p.dport}}
-
-
+
+
+
UDP Connections
- {% else %} -

No UDP connections recorded.

- {% endif %} + {% if network.udp %} +
+
+
+ + + + + + + + {% for p in network.udp %} + + + + + + + {% endfor %} +
SourceSource PortDestinationDestination Port
{{p.src}}{{p.sport}}{{p.dst}} + {% if network.iplookups %} + {{ network.iplookups|get_item:p.dst }} + {% endif %} + {{p.dport}}
+
+
+
+
+ {% else %} +
+
No UDP connections recorded.
+
+ {% endif %} +
diff --git a/web/templates/analysis/network/index.html b/web/templates/analysis/network/index.html index e3bc6349b3d..766bc7533d3 100644 --- a/web/templates/analysis/network/index.html +++ b/web/templates/analysis/network/index.html @@ -15,28 +15,28 @@
{% endif %}
diff --git a/web/templates/analysis/overview/_capa_summary.html b/web/templates/analysis/overview/_capa_summary.html index ddbd3d329b4..7a01ca22a67 100644 --- a/web/templates/analysis/overview/_capa_summary.html +++ b/web/templates/analysis/overview/_capa_summary.html @@ -1,14 +1,17 @@ {% if analysis.capa_summary %} {% load analysis_tags %} - -
-
-
-
- +
+
+
+ +
+
+
+
+ {% if analysis.capa_summary.CAPABILITY %} {{analysis.capa_summary|flare_capa_capability}} {% endif %} @@ -18,10 +21,7 @@ {% if analysis.capa_summary.MBC %} {{analysis.capa_summary|flare_capa_mbc}} {% endif %} -
-
- - - - - - - - {% if analysis.info.options %} - - {% endif %} - {% if user.is_staff and analysis.distributed %} - - {% endif %} - - {% if analysis.debug.pre_script_log %} - - {% endif %} - {% if analysis.debug.during_script_log %} - - {% endif %} - {% if config.malscore and analysis.malscore %} - - {% endif %} - - - - - - - - - - {% if analysis.info.options %} - - {% endif %} - {% if user.is_staff and analysis.distributed %} - - {% endif %} - + +
CategoryPackageStartedCompletedDurationOptionsDistributedLog(s)Pre Script LogsDuring Script LogsMalScore
{{analysis.info.category|upper}}{{analysis.info.package}}{{analysis.info.started}}{{analysis.info.ended}}{{analysis.info.duration}} secondsShow Options{{analysis.distributed.name}} - {{analysis.distributed.task_id}} - Show Analysis - {% if analysis.process_log %} - | Process +
+ + + + + + + + + {% if analysis.info.options %}{% endif %} + {% if user.is_staff and analysis.distributed %}{% endif %} + + {% if analysis.debug.pre_script_log %}{% endif %} + {% if analysis.debug.during_script_log %}{% endif %} + {% if config.malscore and analysis.malscore %}{% endif %} + + + + + + + + + + {% if analysis.info.options %} + + {% endif %} + {% if user.is_staff and analysis.distributed %} + + {% endif %} + + {% if analysis.debug.pre_script_log %} + {% endif %} - Log - - {% if analysis.debug.pre_script_log %} - - {% endif %} - {% if analysis.debug.during_script_log %} - - {% endif %} - {% if config.malscore and analysis.malscore %} - + {% endif %} + {% if config.malscore and analysis.malscore %} + {% endif %} - - {% endif %} - - -
CategoryPackageStartedCompletedDurationOptionsDistributedLogsPre ScriptDuring ScriptMalScore
{{analysis.info.category|upper}}{{analysis.info.package}}{{analysis.info.started}}{{analysis.info.ended}}{{analysis.info.duration}}s{{analysis.distributed.name}} ({{analysis.distributed.task_id}}) +
+ + {% if analysis.process_log %} + + {% endif %} +
+
Show Pre ScriptShow During Script - {% if analysis.malscore > 6.0 %} - {{analysis.malscore|floatformat:1}} + {% if analysis.debug.during_script_log %} + + {% if analysis.malscore > 6.0 %} + {{analysis.malscore|floatformat:1}} {% elif analysis.malscore > 2.0 %} - {{analysis.malscore|floatformat:1}} + {{analysis.malscore|floatformat:1}} {% else %} - {{analysis.malscore|floatformat:1}} + {{analysis.malscore|floatformat:1}} + {% endif %} +
+
+
+ {% if analysis.debug.errors %} -
    - {% for error in analysis.debug.errors %} -
  • Info: {{error}}
  • - {% endfor %} -
+
+
Analysis Errors/Warnings:
+
    + {% for error in analysis.debug.errors %} +
  • {{error}}
  • + {% endfor %} +
+
{% endif %} + {% if analysis.info.options %} -
-
{% for key, val in analysis.info.options.items %}{{ key }}={{ val }}
{% endfor %}
+
+
+
Options
+
{% for key, val in analysis.info.options.items %}{{ key }}={{ val }}
{% endfor %}
+
{% endif %} -
-
{{analysis.debug.log}}
+ +
+
+
Analysis Log
+
{{analysis.debug.log}}
+
-
-
{{analysis.process_log}}
+ +
+
+
Process Log
+
{{analysis.process_log}}
+
-
-
{{analysis.debug.pre_script_log}}
+ +
+
+
Pre-Script Log
+
{{analysis.debug.pre_script_log}}
+
-
-
{{analysis.debug.during_script_log}}
+ +
+
+
During-Script Log
+
{{analysis.debug.during_script_log}}
+
+
+ {% if analysis.info.machine and analysis.info.machine.name %} -
-
-
-

Machine

+
+
+
+
Machine Information
+
+
+ + + + + + + + + {% if analysis.info.route %}{% endif %} + + + + + + + + + + {% if analysis.info.route %} + + {% endif %} + + +
NameLabelManagerStarted OnShutdown OnRoute
{{analysis.info.machine.name}}{{analysis.info.machine.label}}{{analysis.info.machine.manager}}{{analysis.info.machine.started_on}}{{analysis.info.machine.shutdown_on}}{{analysis.info.route}}
- - - - - - - - - {% if analysis.info.route %} - - {% endif %} - - - - - - - - - - {% if analysis.info.route %} - - {% endif %} - - -
NameLabelManagerStarted OnShutdown OnRoute
{{analysis.info.machine.name}}{{analysis.info.machine.label}}{{analysis.info.machine.manager}}{{analysis.info.machine.started_on}}{{analysis.info.machine.shutdown_on}}{{analysis.info.route}}
{% endif %} diff --git a/web/templates/analysis/overview/_mitre.html b/web/templates/analysis/overview/_mitre.html index f37e92150df..7d732953f7a 100644 --- a/web/templates/analysis/overview/_mitre.html +++ b/web/templates/analysis/overview/_mitre.html @@ -1,30 +1,46 @@ - -
- - - - {% for category in analysis.mitre_attck %} - - {% endfor %} - - {% for category, ttps in analysis.mitre_attck.items %} - + {% endfor %} + + +
{{ category }}
-
    - {% for ttp in ttps %} -
  • - {{ttp.t_id}} - {{ ttp.ttp_name }} -
      - {% for signature in ttp.signature %} -
    • {{signature}}
    • +
      +
      +
      + +
      +
      +
      +
      + + + + {% for category in analysis.mitre_attck %} + + {% endfor %} + + + + + {% for category, ttps in analysis.mitre_attck.items %} + - {% endfor %} - -
      {{ category }}
      +
        + {% for ttp in ttps %} +
      • + + {{ttp.t_id}} + + - {{ ttp.ttp_name }} +
          + {% for signature in ttp.signature %} +
        • {{signature}}
        • + {% endfor %} +
        +
      • {% endfor %} -
      - - {% endfor %} - -
      +
    +
+
+
diff --git a/web/templates/analysis/overview/_playback.html b/web/templates/analysis/overview/_playback.html index 07e702f4de1..6aeb2af0004 100644 --- a/web/templates/analysis/overview/_playback.html +++ b/web/templates/analysis/overview/_playback.html @@ -1,41 +1,55 @@ - -
- {% if analysis.info.options.interactive %} -
- -
- -
-
-
-

- Seek in progress... - -

-
-
-
- -
- - - 00:00 - / - 00:00 -
-
- - -
- {% else %} - No playback available. - {% endif %} + +
+
+
+ +
+
+
+
+ {% if analysis.info.options.interactive %} +
+ +
+ +
+
+
+

+ Seek in progress... + +

+
+
+
+ +
+ + + 00:00 + / + 00:00 +
+
+ + +
+ {% else %} +
+ No playback available. +
+ {% endif %} +
+
diff --git a/web/templates/analysis/overview/_reports.html b/web/templates/analysis/overview/_reports.html index ab07dda46fe..540b72cf345 100644 --- a/web/templates/analysis/overview/_reports.html +++ b/web/templates/analysis/overview/_reports.html @@ -1,34 +1,36 @@ -
- Reports: - {% if config.jsondump %} - JSON - {% endif %} - {% if config.reporthtml %} - HTML - {% endif %} - {% if config.reporthtmlsummary %} - HTML summary - {% endif %} - {% if config.reportpdf %} - PDF - {% endif %} - {% if config.maec41 %} - MAEC - {% endif %} - {% if config.maec5 %} - MAEC5 - {% endif %} - {% if config.mmdef %} - Metadata - {% endif %} - {% if config.misp %} - MISP - {% endif %} - {% if config.litereport %} - Lite - {% endif %} - {% if config.cents %} - CENTS - {% endif %} -
+
+
+
Reports:
+ + {% if config.jsondump %} + JSON + {% endif %} + {% if config.reporthtml %} + HTML + {% endif %} + {% if config.reporthtmlsummary %} + HTML Summary + {% endif %} + {% if config.reportpdf %} + PDF + {% endif %} + {% if config.maec41 %} + MAEC + {% endif %} + {% if config.maec5 %} + MAEC5 + {% endif %} + {% if config.mmdef %} + Metadata + {% endif %} + {% if config.misp %} + MISP + {% endif %} + {% if config.litereport %} + Lite + {% endif %} + {% if config.cents %} + CENTS + {% endif %} +
diff --git a/web/templates/analysis/overview/_screenshots.html b/web/templates/analysis/overview/_screenshots.html index 59175c0ff99..6d8a4907119 100644 --- a/web/templates/analysis/overview/_screenshots.html +++ b/web/templates/analysis/overview/_screenshots.html @@ -1,14 +1,25 @@ -
-

Screenshots

- {% if analysis.shots %} -
- {% for shot in analysis.shots %} - - - - {% endfor %} +
+
+
+
Screenshots
- {% else %} - No screenshots available. - {% endif %} +
+ {% if analysis.shots %} +
+ {% for shot in analysis.shots %} +
+ + Screenshot {{shot}} + +
+ {% endfor %} +
+ {% else %} +
+ +

No screenshots available.

+
+ {% endif %} +
+
diff --git a/web/templates/analysis/overview/_signatures.html b/web/templates/analysis/overview/_signatures.html index e6b2c5b4a71..5be817e0a05 100644 --- a/web/templates/analysis/overview/_signatures.html +++ b/web/templates/analysis/overview/_signatures.html @@ -1,101 +1,114 @@ {% load analysis_tags %} - -
-

Signatures

- {% if analysis.signatures %} - {% for signature in analysis.signatures %} - - {% if signature.severity <= 1 %} -
- {% elif signature.severity == 2 %} -
- {% elif signature.severity >= 3 %} -
- {% endif %} - {{signature.description}}
-
- {% if signature.data %} - {% for sign in signature.data %} - {% for key, value in sign.items %} -
{{key}}: {{value}}
- {% endfor %} - {% endfor %} - {% else %} - - - {% for match in signature.new_data %} - {% if match.process.process_name %} - - {% endif %} - {% for sign in match.signs %} - - {% if sign.type == 'api' %} - {% include "analysis/behavior/_api_call.html" with call=sign.value %} - - {% else %} - - - {% endif %} - - {% endfor %} - {% endfor %} - -
Process: {{match.process.process_name}} ({{match.process.process_id}})
- - - - {{sign.type}} - {% if sign.value|is_dict %} - {% for key, value in sign.value.items %} - {{key}}: - {{value}}
+
+
+
+
Signatures
+
+
+ {% if analysis.signatures %} +
+ {% for signature in analysis.signatures %} +
+ +
+
+ {% if signature.data %} +
+ {% for sign in signature.data %} + {% for key, value in sign.items %} +
{{key}}: {{value}}
+ {% endfor %} {% endfor %} +
{% else %} - {{sign.value}} +
+ + + {% for match in signature.new_data %} + {% if match.process.process_name %} + + {% endif %} + {% for sign in match.signs %} + + {% if sign.type == 'api' %} + {% include "analysis/behavior/_api_call.html" with call=sign.value %} + + {% else %} + + + {% endif %} + + {% endfor %} + {% endfor %} + +
Process: {{match.process.process_name}} ({{match.process.process_id}})
+ + + + {{sign.type}} + {% if sign.value|is_dict %} + {% for key, value in sign.value.items %} + {{key}}: + {{value}}
+ {% endfor %} + {% else %} + {{sign.value}} + {% endif %} +
+
{% endif %} -
- {% endif %} - {% if signature.calls %} -
- {% with data_id="signature-calls-data_"|add:signature.name %} - {{ signature.calls | json_script:data_id }} - - {% endwith %} + {% if signature.calls %} +
+ {% with data_id="signature-calls-data_"|add:signature.name %} + {{ signature.calls | json_script:data_id }} + + {% endwith %} + {% endif %} +
+
+
+ {% endfor %} +
+ {% else %} +
+ +

No suspicious signatures detected.

+
{% endif %} -
- {% endfor %} - {% else %} -

No signatures

- {% endif %} +
+
diff --git a/web/templates/analysis/overview/_statistics.html b/web/templates/analysis/overview/_statistics.html index 089dbb84305..0575cd3093e 100644 --- a/web/templates/analysis/overview/_statistics.html +++ b/web/templates/analysis/overview/_statistics.html @@ -1,60 +1,81 @@ {% if analysis.statistics %} {% load analysis_tags %} - -
- {% if analysis.info.category != "pcap" and analysis.info.category != "static" %} - {% if config.usage %} -
- {% include "analysis/overview/_usage.html" %} -
-
- {% endif %} - {% endif %} -
-
-
-

Processing ( {{ stats_total.processing }} seconds )

-
    - {% for stat in analysis.statistics.processing|dictsortreversed:"time" %} - {% if stat.time %} -
  • - {{stat.time}} - {{stat.name}} -
  • - {% endif %} - {% endfor %} -
-
-
-

Signatures ( {{ stats_total.signatures }} seconds )

-
    - {% for stat in analysis.statistics.signatures|dictsortreversed:"time" %} - {% if stat.time %} -
  • - {{stat.time}} - {{stat.name}} -
  • - {% endif %} - {% endfor %} -
-
-
-

Reporting ( {{ stats_total.reporting }} seconds )

-
    - {% for stat in analysis.statistics.reporting|dictsortreversed:"time" %} - {% if stat.time %} -
  • - {{stat.time}} - {{stat.name}} -
  • - {% endif %} - {% endfor %} -
+
+
+
+ +
+
+
+
+ {% if analysis.info.category != "pcap" and analysis.info.category != "static" %} + {% if config.usage %} +
+ {% include "analysis/overview/_usage.html" %} +
+
+ {% endif %} + {% endif %} + +
+
+
+
+ Processing {{ stats_total.processing }}s +
+
    + {% for stat in analysis.statistics.processing|dictsortreversed:"time" %} + {% if stat.time %} +
  • + {{stat.name}} + {{stat.time}}s +
  • + {% endif %} + {% endfor %} +
+
+
+ +
+
+
+ Signatures {{ stats_total.signatures }}s +
+
    + {% for stat in analysis.statistics.signatures|dictsortreversed:"time" %} + {% if stat.time %} +
  • + {{stat.name}} + {{stat.time}}s +
  • + {% endif %} + {% endfor %} +
+
+
+ +
+
+
+ Reporting {{ stats_total.reporting }}s +
+
    + {% for stat in analysis.statistics.reporting|dictsortreversed:"time" %} + {% if stat.time %} +
  • + {{stat.name}} + {{stat.time}}s +
  • + {% endif %} + {% endfor %} +
+
+
-
{% endif %} diff --git a/web/templates/analysis/overview/_summary.html b/web/templates/analysis/overview/_summary.html index f39c017b3dc..dc4083f8959 100644 --- a/web/templates/analysis/overview/_summary.html +++ b/web/templates/analysis/overview/_summary.html @@ -1,165 +1,209 @@ -
-

Summary

- -
-
-
- {% if analysis.behavior.summary.files %} - {% for file in analysis.behavior.summary.files %} - {{file}}
- {% endfor %} - {% endif %} -
-
-
-
- {% if analysis.behavior.summary.read_files %} - {% for file in analysis.behavior.summary.read_files %} - {{file}}
- {% endfor %} - {% endif %} -
-
-
-
- {% if analysis.behavior.summary.write_files %} - {% for file in analysis.behavior.summary.write_files %} - {{file}}
- {% endfor %} - {% endif %} -
-
-
-
- {% if analysis.behavior.summary.delete_files %} - {% for file in analysis.behavior.summary.delete_files %} - {{file}}
- {% endfor %} - {% endif %} -
-
-
-
- {% if analysis.behavior.summary.keys %} - {% for key in analysis.behavior.summary.keys %} - {{key}}
- {% endfor %} - {% endif %} -
-
-
-
- {% if analysis.behavior.summary.read_keys %} - {% for key in analysis.behavior.summary.read_keys %} - {{key}}
- {% endfor %} - {% endif %} -
-
-
-
- {% if analysis.behavior.summary.write_keys %} - {% for key in analysis.behavior.summary.write_keys %} - {{key}}
- {% endfor %} - {% endif %} -
-
-
-
- {% if analysis.behavior.summary.delete_keys %} - {% for key in analysis.behavior.summary.delete_keys %} - {{key}}
- {% endfor %} - {% endif %} -
-
-
-
- {% if analysis.behavior.summary.resolved_apis %} - {% for api in analysis.behavior.summary.resolved_apis %} - {{api}}
- {% endfor %} - {% endif %} -
-
-
-
- {% if analysis.behavior.summary.executed_commands %} - {% for cmd in analysis.behavior.summary.executed_commands %} - {{cmd}}
- {% endfor %} - {% endif %} -
-
-
-
- {% if analysis.behavior.summary.mutexes %} - {% for mutex in analysis.behavior.summary.mutexes %} - {{mutex}}
- {% endfor %} - {% endif %} -
-
-
-
- {% if analysis.behavior.summary.created_services %} - {% for service in analysis.behavior.summary.created_services %} - {{service}}
- {% endfor %} - {% endif %} -
-
-
-
- {% if analysis.behavior.summary.started_services %} - {% for service in analysis.behavior.summary.started_services %} - {{service}}
- {% endfor %} - {% endif %} -
+
+
+
+
Summary
-
-
- {% if analysis.reversinglabs %} - - - - - - {% for key, value in analysis.reversinglabs.items %} - - - {% if key == "permalink" %} - - {% elif key == "malicious" and value%} - - {% elif key == "malicious" and not value%} - - {% else %} - - {% endif %} - - {% endfor %} -
NameValue
{{key|capfirst}}{{value}}yesno{{value}}
- {% else %} -
No results
- {% endif %} +
+
+
+ +
+
+
+
+
+ {% if analysis.behavior.summary.files %} +
    + {% for file in analysis.behavior.summary.files %} +
  • {{file}}
  • + {% endfor %} +
+ {% endif %} +
+
+
+
+ {% if analysis.behavior.summary.read_files %} +
    + {% for file in analysis.behavior.summary.read_files %} +
  • {{file}}
  • + {% endfor %} +
+ {% endif %} +
+
+
+
+ {% if analysis.behavior.summary.write_files %} +
    + {% for file in analysis.behavior.summary.write_files %} +
  • {{file}}
  • + {% endfor %} +
+ {% endif %} +
+
+
+
+ {% if analysis.behavior.summary.delete_files %} +
    + {% for file in analysis.behavior.summary.delete_files %} +
  • {{file}}
  • + {% endfor %} +
+ {% endif %} +
+
+
+
+ {% if analysis.behavior.summary.keys %} +
    + {% for key in analysis.behavior.summary.keys %} +
  • {{key}}
  • + {% endfor %} +
+ {% endif %} +
+
+
+
+ {% if analysis.behavior.summary.read_keys %} +
    + {% for key in analysis.behavior.summary.read_keys %} +
  • {{key}}
  • + {% endfor %} +
+ {% endif %} +
+
+
+
+ {% if analysis.behavior.summary.write_keys %} +
    + {% for key in analysis.behavior.summary.write_keys %} +
  • {{key}}
  • + {% endfor %} +
+ {% endif %} +
+
+
+
+ {% if analysis.behavior.summary.delete_keys %} +
    + {% for key in analysis.behavior.summary.delete_keys %} +
  • {{key}}
  • + {% endfor %} +
+ {% endif %} +
+
+
+
+ {% if analysis.behavior.summary.resolved_apis %} +
    + {% for api in analysis.behavior.summary.resolved_apis %} +
  • {{api}}
  • + {% endfor %} +
+ {% endif %} +
+
+
+
+ {% if analysis.behavior.summary.executed_commands %} +
    + {% for cmd in analysis.behavior.summary.executed_commands %} +
  • {{cmd}}
  • + {% endfor %} +
+ {% endif %} +
+
+
+
+ {% if analysis.behavior.summary.mutexes %} +
    + {% for mutex in analysis.behavior.summary.mutexes %} +
  • {{mutex}}
  • + {% endfor %} +
+ {% endif %} +
+
+
+
+ {% if analysis.behavior.summary.created_services %} +
    + {% for service in analysis.behavior.summary.created_services %} +
  • {{service}}
  • + {% endfor %} +
+ {% endif %} +
+
+
+
+ {% if analysis.behavior.summary.started_services %} +
    + {% for service in analysis.behavior.summary.started_services %} +
  • {{service}}
  • + {% endfor %} +
+ {% endif %} +
+
+
+
+ {% if analysis.reversinglabs %} +
+ + + + + + + + + {% for key, value in analysis.reversinglabs.items %} + + + {% if key == "permalink" %} + + {% elif key == "malicious" and value%} + + {% elif key == "malicious" and not value%} + + {% else %} + + {% endif %} + + {% endfor %} + +
NameValue
{{key|capfirst}}{{value}}yesno{{value}}
+
+ {% else %} +

No results found.

+ {% endif %} +
+
+
+
diff --git a/web/templates/analysis/overview/_url.html b/web/templates/analysis/overview/_url.html index 99f03b8f301..3009ae25766 100644 --- a/web/templates/analysis/overview/_url.html +++ b/web/templates/analysis/overview/_url.html @@ -1,14 +1,13 @@ -
- - - - - - - - - - - -

URL Details

{{analysis.url_analysis.url}}
+
+
+
+
URL Details
+
+
+
+ + {{analysis.url_analysis.url}} +
+
+
diff --git a/web/templates/analysis/overview/_usage.html b/web/templates/analysis/overview/_usage.html index e6167e1701a..151800b2c62 100644 --- a/web/templates/analysis/overview/_usage.html +++ b/web/templates/analysis/overview/_usage.html @@ -1,6 +1,10 @@ -
-

Usage

-
- +
+
+
+
Resource Usage
+
+
+ Resource Usage Chart +
diff --git a/web/templates/analysis/overview/index.html b/web/templates/analysis/overview/index.html index 0304c3f1af9..77cfe1addd7 100644 --- a/web/templates/analysis/overview/index.html +++ b/web/templates/analysis/overview/index.html @@ -1,145 +1,193 @@ {% load key_tags %} + + {% include "analysis/overview/_info.html" %} -
+ + {% if analysis.malware_conf %} - {% for config_block in analysis.malware_conf %} - {% for family, config in config_block.items %} - {% if family|slice:":1" != "_" %} -
- {{family}} Config - {% if analysis.info.has_cents_rules %} - CENTS ruleset - {% endif %} -
-
- - - - - - - - {% if config_block|get_item:"_associated_config_hashes" %} - - - - - - + + + + +
+
+
+
Type{{family}} Config
Extracted From - {% for hashes in config_block|get_item:"_associated_config_hashes" %} -
- {% with short_sha256=hashes.sha256|slice:":8" %} - {% with hashes_id=family|add:"-"|add:short_sha256 %} - {% with hashes_header_id=hashes_id|add:"-header" %} - -
-
-
- {% with sorted_hashes=hashes|sort %} - {% for algo, value in sorted_hashes.items %} -
{{ algo }}
-
{{ value }}
- {% endfor %} - {% endwith %} -
-
-
- {% endwith %} - {% endwith %} - {% endwith %} +
+
+
+
Malware Configuration
+
+
+
+ {% for config_block in analysis.malware_conf %} + {% for family, config in config_block.items %} + {% if family|slice:":1" != "_" %} +
+
+

+

+ + + + + + + + {% for key, value in config.items %} + {% if key == "raw" %} + {% for dict_item in value %} + {% for subkey, subvalue in dict_item.items %} + + + + + {% endfor %} + {% endfor %} + {% else %} + + + + + {% endif %} + {% endfor %} + + {% if config_block|get_item:"_associated_config_hashes" %} + + + + + + + {% endif %} +
TypeValue
{{ subkey }}{% malware_config subvalue %}
{{ key }}{% malware_config value %}
Extracted From + {% for hashes in config_block|get_item:"_associated_config_hashes" %} +
+ +
+
+
+ {% with sorted_hashes=hashes|sort %} + {% for algo, value in sorted_hashes.items %} +
{{ algo }}
+
{{ value }}
+ {% endfor %} + {% endwith %} +
+
+
+
+ {% endfor %} +
+
+
+
+
{% endif %} - - {% for key, value in config.items %} - - {% if key == "raw" %} - {% for dict_item in value %} - {% for subkey, subvalue in dict_item.items %} - - {{ subkey }} - {% malware_config subvalue %} - - {% endfor %} - {% endfor %} - {% else %} - - {{ key }} - {% malware_config value %} - - {% endif %} - {% endfor %} - - + {% endfor %} + {% endfor %}
- {% endif %} - {% endfor %} - {% endfor %} -
+
+
+ {% endif %} + {% if analysis.info.category in "file,static" and analysis.target %} -

File Details {% if analysis.info.parent_sample %} {% endif %}

- {% if analysis.info.parent_sample %} -
-
- {% for file in analysis.info.parent_sample|parentfixup|dict2list %} +
+
+
+
File Details
+ {% if analysis.info.parent_sample %} + + {% endif %} +
+
+ {% if analysis.info.parent_sample %} +
+
+
Parent File Info
+ {% for file in analysis.info.parent_sample|parentfixup|dict2list %} + {% include "analysis/generic/_file_info.html" %} + {% endfor %} +
+
+ {% endif %} {% include "analysis/generic/_file_info.html" %} - {% endfor %} +
-
- {% endif %} - {% include "analysis/generic/_file_info.html" %} + {% elif analysis.info.category == "url" %} {% include "analysis/overview/_url.html" %} {% endif %} -
-
- {% if reports_exist %} -
- {% include "analysis/overview/_reports.html" %} -
- {% endif %} + +{% if reports_exist %} +
+ {% include "analysis/overview/_reports.html" %}
-
+{% endif %} + {% if analysis.capa_summary %} -
{% include "analysis/overview/_capa_summary.html" %} {% endif %} {% if analysis.curtain %} -
{% include "analysis/overview/_curtain.html" %} {% endif %} {% if analysis.mitre_attck %} -
{% include "analysis/overview/_mitre.html" %} {% endif %} + {% if analysis.statistics %} -
{% include "analysis/overview/_statistics.html" %} {% endif %} + {% include "analysis/overview/_signatures.html" %} +{% if analysis.shots %} {% include "analysis/overview/_screenshots.html" %} -{% if config.guacamole %} - {% include "analysis/overview/_playback.html" %} {% endif %} -
-
-
{% include "analysis/network/_hosts_not_ajax.html" %}
-
{% include "analysis/network/_dns_not_ajax.html" %}
-
+ +{% if config.guacamole and analysis.info.options.interactive %} +{% include "analysis/overview/_playback.html" %} +{% endif %} + +
+
+
+
+
Hosts
+
+ {% include "analysis/network/_hosts_not_ajax.html" %} +
+
+
+
+
+
DNS
+
+ {% include "analysis/network/_dns_not_ajax.html" %} +
+
+
+
+
+ + {% if analysis.info.category != "pcap" %} {% include "analysis/overview/_summary.html" %} {% endif %} diff --git a/web/templates/analysis/pending.html b/web/templates/analysis/pending.html index f3db7aad373..472f701925b 100644 --- a/web/templates/analysis/pending.html +++ b/web/templates/analysis/pending.html @@ -1,34 +1,61 @@ {% extends "base.html" %} {% block content %} -
-
Pending Tasks{% if count %}: {{count}} {% endif %}
+
+
+
Pending Tasks
+ {% if count %} + {{count}} pending + {% else %} + 0 pending + {% endif %} +
{% if tasks %} - - - - - - - - - - - - - {% for task in tasks %} +
+
IDTimestamp (added on)CategoryTargetMD5/SHA256Action
+ - - - - - - + + + + + + - {% endfor %} - -
{{task.id}}{{task.added_on}}{{task.category}}{{task.target|filename}}{{task.md5}}
{{task.sha256}}
IDTimestampCategoryTargetHashesAction
+ + + {% for task in tasks %} + + {{task.id}} + {{task.added_on|date:"Y-m-d H:i:s"}} + + {{task.category|upper}} + + + {{task.target|filename}} + + +
+ MD5: {{task.md5}} +
+
+ SHA256: {{task.sha256}} +
+ + + + + + + + {% endfor %} + + +
{% else %} -
No pending tasks.
+
+ +

No pending tasks. You're all caught up!

+
{% endif %} -
+
{% endblock %} diff --git a/web/templates/analysis/procmemory/index.html b/web/templates/analysis/procmemory/index.html index 6eaa526b0a8..3e77bc1aca0 100644 --- a/web/templates/analysis/procmemory/index.html +++ b/web/templates/analysis/procmemory/index.html @@ -2,7 +2,7 @@
@@ -82,7 +82,7 @@ {% for memmap in proc.address_space %} {% if memmap.chunks|length >= 2 %} - {{memmap.start}} + {{memmap.start}} {% else %} {{memmap.start}} {% endif %} @@ -90,9 +90,9 @@ {{memmap.size}} {{memmap.prot}} {% if memmap.PE %} - Yes + Yes {% else %} - No + No {% endif %} {% if proc.path %} diff --git a/web/templates/analysis/report.html b/web/templates/analysis/report.html index ed08b01984f..96592a1978d 100644 --- a/web/templates/analysis/report.html +++ b/web/templates/analysis/report.html @@ -5,7 +5,7 @@ //Apply only when we reload the same page if (document.referrer === document.URL){ //for bootstrap 3 use 'shown.bs.tab' instead of 'shown' in the next line - $('a[data-toggle="tab"]').on('click', function (e) { + $('a[data-bs-toggle="tab"]').on('click', function (e) { localStorage.setItem('lastAnalysisTab', $(e.target).attr('href')); }); @@ -16,7 +16,7 @@ } } // ajax req for some tabs - $('[data-toggle="tabajax"]').click(function(e) { + $('[data-bs-toggle="tabajax"]').click(function(e) { var $this = $(this), url = $(this).attr("data-url"); @@ -71,50 +71,50 @@ {% endif %}
diff --git a/web/templates/analysis/search.html b/web/templates/analysis/search.html index 6ff51d45d3e..76ea7358597 100644 --- a/web/templates/analysis/search.html +++ b/web/templates/analysis/search.html @@ -1,541 +1,381 @@ {% extends "base.html" %} {% block content %} -
-
-
-
- - +
+
+
+
+ +
+ + + +
+
+ +
- - -

For details on how to perform searches, get some .

-
-

ElasticSearch queries do not use a prefix. ie: '*windows.*' would match 'time.windows.com'

-

For MD5, SHA1, SHA3 SHA256 and SHA512 no prefix is needed(will match any file generated by this analysis as binary/dropped/CAPEdump/etc).

- - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PrefixDescription
target_sha256:sha256
configs:Family name
id:task_id, Example: id:1
ids:task_ids, Example: ids:1,2,3,4,5
options:x=y, Example: options:function=DllMain
tags_tasks:my_tag, Example: tags_tasks:mytag
package:package, Example: package:ps1
name:File name pattern
type:File type/format
ssdeep:Fuzzy hash
crc32:CRC32 hash
imphash:Search for PE Imphash
iconhash:Search for exact hash of the icon associated with the PE
iconfuzzy:Search for hash designed to match on similar-looking icons
file:Open files matching the pattern
command:Executed commands matching the pattern
resolvedapi:APIs resolved at runtime matching the pattern
key:Open registry keys matching the pattern
mutex:Open mutexes matching the pattern
sport:Source port. Ex: sport:X
dport:Destination port. Ex: dport:443
port:Search in Source and Destination ports. Ex port:x
ip:Contact the specified IP address
domain:Contact the specified domain
url:Search for CAPE Sandbox URL analysis
signame:Search for CAPE Sandbox signatures through signature names
signature:Search for CAPE Sandbox signatures through signature descriptions
detections:Search for samples associated with malware family
surimsg:Search for Suricata Alerts MSG
surialert:Search for Suricata Alerts
surisid:Search for Suricata Alerts SID
suriurl:Search for URL in Suricata HTTP Logs
suriua:Search for User-Agent in Suricata HTTP Logs
surireferrer:Search for Referrer in Suricata HTTP Logs
surihost:Search for Host in Suricata HTTP Logs
suritlssubject:Search for TLS Subject in Suricata TLS Logs
suritlsissuerdn:Search for TLS Issuer DN in Suricata TLS Logs
suritlsfingerprint:Search for TLS Fingerprint in Suricata TLS Logs
suritls:Search for Suricata TLS
surihttp:Search for Suricata HTTP
ja3_string:Search for ja3 string
ja3_hash:Search for ja3 hash
clamav:Local ClamAV detections
yaraname:Yara Rule Name for analysis samples (from binary folder)
capeyara:Yara Rule Name for CAPE Yara hits (from cape folder)
procdumpyara:Yara Rule Name for process dumps
procmemyara:Yara Rule Name for process memory dumps
virustotal:Virus Total Detected Name
machinename:Name of the Target Machine
machinelabel:Label of the Target Machine
custom:Custom data
comment:Search for Analysis Comments
malscore:Search for Malscore greater than the value
ttp:TTP id, Ex: T1053
dhash:hash
die:keyboard, Ex die:obsidium
extracted_tool:keyboard, Ex extracted_tool:InnoExtract. See file_extra_info.py for the rest of the tool names
asn:AS ID, Ex asn:AS15169
asn_name:ASN name, Ex: asn_name:Google LLC
+
+
+
+
Search Help
+
+
+

ElasticSearch queries do not use a prefix. e.g., *windows.* matches 'time.windows.com'.

+

For MD5, SHA1, SHA256, etc., no prefix is needed (matches any file generated by analysis).

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PrefixDescription
target_sha256:sha256
configs:Family name
id:task_id (e.g., id:1)
ids:task_ids (e.g., ids:1,2,3,4,5)
options:x=y (e.g., options:function=DllMain)
tags_tasks:my_tag (e.g., tags_tasks:mytag)
package:package (e.g., package:ps1)
name:File name pattern
type:File type/format
ssdeep:Fuzzy hash
crc32:CRC32 hash
imphash:PE Imphash
iconhash:Exact icon hash
iconfuzzy:Fuzzy icon hash
file:Open files matching pattern
command:Executed commands matching pattern
resolvedapi:APIs resolved at runtime
key:Open registry keys matching pattern
mutex:Open mutexes matching pattern
sport:Source port (e.g., sport:X)
dport:Destination port (e.g., dport:443)
port:Source or Destination port
ip:Contacted IP address
domain:Contacted domain
url:CAPE Sandbox URL analysis
signame:Signature names
signature:Signature descriptions
detections:Malware family detections
surimsg:Suricata Alerts MSG
surialert:Suricata Alerts
surisid:Suricata Alerts SID
suriurl:Suricata HTTP URL
suriua:Suricata HTTP User-Agent
surireferrer:Suricata HTTP Referrer
surihost:Suricata HTTP Host
suritlssubject:Suricata TLS Subject
suritlsissuerdn:Suricata TLS Issuer DN
suritlsfingerprint:Suricata TLS Fingerprint
suritls:Suricata TLS
surihttp:Suricata HTTP
ja3_string:ja3 string
ja3_hash:ja3 hash
clamav:Local ClamAV detections
yaraname:Yara Rule Name (binary folder)
capeyara:Yara Rule Name (cape folder)
procdumpyara:Yara Rule Name (process dumps)
procmemyara:Yara Rule Name (memory dumps)
virustotal:VirusTotal Detected Name
machinename:Target Machine Name
machinelabel:Target Machine Label
custom:Custom data
comment:Analysis Comments
malscore:Malscore > value
ttp:TTP ID (e.g., T1053)
dhash:Hash
die:DIE (e.g., die:obsidium)
extracted_tool:Extracted tool (e.g., InnoExtract)
asn:AS ID (e.g., asn:AS15169)
asn_name:ASN name (e.g., asn_name:Google LLC)
+
+
+
+ {% if term %} -

Term {{term}} - {% if settings.ZIPPED_DOWNLOAD_ALL and term_only in 'capetype,capeyara' %} -
Download All Files
- {% endif %} -

+
+
+

Results for term: {{term}}

+ {% if settings.ZIPPED_DOWNLOAD_ALL and term_only in 'capetype,capeyara' %} + Download All Matches + {% endif %} +
+
{% endif %} + {% if analyses != None %} {% if analyses|length > 0 %} -
-
-

Search Results

+
+
+
Search Results
+ {{analyses|length}} items
- - - - - - - - - - {% if config.expanded_dashboard %} - - {% endif %} - {% if config.moloch %} - - {% endif %} - {% if config.display_office_martians or config.display_browser_martians%} - - {% endif %} - {% if config.suricata %} - + + {% endfor %} + +
IDTimestampPackageFilenameTargetDetectionsPKGMolochMartiansSuriAlert +
+ + + + + + + + + {% if config.expanded_dashboard %} - /HTTP/TLS/Files + {% endif %} - - {% endif %} - {% if config.virustotal %} - - {% endif %} - {% if config.malscore %} - - {% endif %} - {% if config.expanded_dashboard %} - - - - - {% endif %} - - - - - {% for analysis in analyses %} - - - {% endif %} - - - {% endif %} - - - + {% endif %} + {% if config.virustotal %} + + {% endif %} + {% if config.malscore %} + + {% endif %} {% if config.expanded_dashboard %} - + + + + {% endif %} - {% if config.moloch %} - + + + + {% for analysis in analyses %} + + + - {% endif %} - {% if analysis.category == "url" %} - {% if config.display_browser_martians %} - + + + + - {% endif %} - {% endif %} - {% if config.suricata %} - - {% endif %} - {% if config.virustotal %} - + {% endif %} {% else %} - None + {% if config.display_office_martians %} + + {% endif %} {% endif %} - - {% endif %} - {% if config.malscore %} - {% endif %} - - {% endif %} - {% if config.expanded_dashboard %} - - - {% endif %} - - - {% endif %} - - - {% endif %} - + + + {% endif %} - - - {% endfor %} - -
IDTimestampPackageFilenameTargetDetectionsPKGVTMalScoreDetectionsPCAPClamAVCustomStatus
- {{analysis.id}} - - {% if analysis.status == "reported" %} - {{analysis.completed_on}} - {% else %} - {{analysis.added_on}} (added on) + {% if config.moloch %} + Moloch - {{analysis.package}} - - {% if analysis.filename %} - {{analysis.filename}} - {% else %} - None + {% if config.display_office_martians or config.display_browser_martians%} + Martians - {% if analysis.status == "reported" %} - - {% if analysis.category == "url" %} - {{analysis.target}} - {% else %} - {{analysis.sample.md5}} - {% endif %} - - {% else %} - {% if analysis.category == "url" %} - {{analysis.target}} - {% else %} - {{analysis.sample.md5}} - {% endif %} - {% endif %} - - {% if analysis.detections %} - - {% if analysis.detections|is_string %} - {{analysis.detections}} - {% elif analysis.detections|length == 1 %} - {{analysis.detections.0.family}} - {% elif analysis.detections|length > 1 %} - Multiple - {% endif %} + {% if config.suricata %} + SuriAlert + {% if config.expanded_dashboard %} + /HTTP/TLS/Files {% endif %} - + VTMalScore - {% if analysis.package %} - {{analysis.package}} - {% else %} - None - {% endif %} - DetectionsPCAPClamAVCustom - {% if analysis.moloch_url %} - MOLOCH + Status
+ {{analysis.id}} + + {% if analysis.status == "reported" %} + {{analysis.completed_on}} {% else %} - None + {{analysis.added_on}} (added) {% endif %} - - - {% if analysis.mlist_cnt %} - {{analysis.mlist_cnt}} - {% else %} - None - {% endif %} - - + {{analysis.package}} + + {% if analysis.filename %} + {{analysis.filename}} + {% else %} + - {% endif %} - {% else %} - {% if config.display_office_martians %} - - - {% if analysis.f_mlist_cnt %} - {{analysis.f_mlist_cnt}} + + {% if analysis.status == "reported" %} + + {% if analysis.category == "url" %} + {{analysis.target}} {% else %} - None + {{analysis.sample.md5}} {% endif %} - - - - {% if analysis.suri_alert_cnt %} - {{analysis.suri_alert_cnt}}/{{analysis.suri_http_cnt}}/0/{{analysis.suri_tls_cnt}}/0/{{analysis.suri_file_cnt}}/0 - - {% if analysis.virustotal_summary %} - {{analysis.virustotal_summary}} + {% if analysis.category == "url" %} + {% if config.display_browser_martians %} + + + {% if analysis.mlist_cnt %} + {{analysis.mlist_cnt}} + {% else %} + - + {% endif %} + + + + {% if analysis.f_mlist_cnt %} + {{analysis.f_mlist_cnt}} + {% else %} + - + {% endif %} + + - {% if analysis.malscore != None %} - + + {% if analysis.suri_alert_cnt %} + {{analysis.suri_alert_cnt}}/{{analysis.suri_http_cnt}}/0/{{analysis.suri_tls_cnt}}/0/{{analysis.suri_file_cnt}}/0 + - - {% if analysis.detections %} - {{analysis.detections}} + {% if config.virustotal %} + + {% if analysis.virustotal_summary %} + {{analysis.virustotal_summary}} {% else %} - None + - {% endif %} - - - - {% if analysis.pcap_sha256 %} - PCAP - {% else %} - None - {% endif %} - - - - {% if analysis.clamav %} - {{analysis.clamav}} - {% else %} - None + - - {% if analysis.custom %} - {{analysis.custom}} - {% else %} - None + {% if config.malscore %} + + {% if analysis.malscore != None %} + + {{analysis.malscore|floatformat:1}} + + {% else %} + - + {% endif %} + - {% if analysis.status == "pending" %} - pending - {% elif analysis.status == "running" %} - running - {% elif analysis.status == "completed" %} - processing - {% elif analysis.status == "reported" %} - {% if analysis.errors %} - + {% if config.expanded_dashboard %} + + + {% if analysis.detections %} + {{analysis.detections}} + {% else %} + None + {% endif %} + + + + {% if analysis.pcap_sha256 %} + {% else %} - - {% endif%} - - reported - {% else %} - {{analysis.status}} + - + {% endif %} + + + + {% if analysis.clamav %} + {{analysis.clamav}} + {% else %} + - + {% endif %} + + + + {% if analysis.custom %} + {{analysis.custom}} + {% else %} + - + {% endif %} + +
+
+ {% if analysis.status == "pending" %} + pending + {% elif analysis.status == "running" %} + running + {% elif analysis.status == "completed" %} + processing + {% elif analysis.status == "reported" %} + {% if analysis.errors %} + error + {% else %} + reported + {% endif%} + {% else %} + {{analysis.status}} + {% endif %} +
+
{% else %} -
No results found.
+ {% endif %} {% else %} {% if error %} -
{{error}}
+ {% endif %} {% endif %} {% endblock %} diff --git a/web/templates/analysis/similar/index.html b/web/templates/analysis/similar/index.html index 7cdce5a3dcb..2be4e4d42c2 100644 --- a/web/templates/analysis/similar/index.html +++ b/web/templates/analysis/similar/index.html @@ -87,11 +87,11 @@

Similar Analyses

{% if analysis.malscore != None %} {{analysis.malscore|floatformat:1}} {% else %} diff --git a/web/templates/analysis/strace/_processes.html b/web/templates/analysis/strace/_processes.html index d1bab34b29e..8d33c20fe04 100644 --- a/web/templates/analysis/strace/_processes.html +++ b/web/templates/analysis/strace/_processes.html @@ -57,9 +57,9 @@ // Else, show the tab and run the callback once the tab is shown else { // Wait for tab to be shown - $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) { + $('a[data-bs-toggle="tab"]').on('shown.bs.tab', function (e) { if ($(e.target).attr('href') == '#' + id) { - $('a[data-toggle="tab"]').off('shown.bs.tab'); + $('a[data-bs-toggle="tab"]').off('shown.bs.tab'); typeof callback === 'function' && callback(); } }); @@ -116,10 +116,10 @@
@@ -137,7 +137,7 @@
- default + default kernel fs mm @@ -148,7 +148,7 @@ io_uring crypto block - all + all
diff --git a/web/templates/apiv2/index.html b/web/templates/apiv2/index.html index b03e159d43f..c3acd487dd8 100644 --- a/web/templates/apiv2/index.html +++ b/web/templates/apiv2/index.html @@ -1,576 +1,652 @@ {% extends "base.html" %} {% block content %} -
- +
+
+

API Documentation

+ + Authentication Guide + +
+ {% if config %} - - - - - - - - - - - - - - {% if config.filecreate.enabled %} - - {% else %} - - {% endif %} - - - - - - - - - - {% if config.downloading_services.enabled %} - - {% else %} - - {% endif %} - - - - - - - - - - {% if config.urlcreate.enabled %} - - {% else %} - - {% endif %} - - - - - - - - - - {% if config.dlnexeccreate.enabled %} - - {% else %} - - {% endif %} - - - - - - - - - - {% if config.staticextraction.enabled %} - - {% else %} - - {% endif %} - - - - - - - - - - {% if config.fileview.enabled %} - +
+
API NodeEnabledRate LimitsDescriptionExample
File CreateYesNo -
    -
  • RPS: {{ config.filecreate.rps }}
  • -
  • RPM: {{ config.filecreate.rpm }}
  • -
-
Submit a file task to be analyzed by CAPE. Return object will be JSON. -
-
curl -F file=@/path/to/file -F machine="VM-Name" -H "Authorization: Token YOU_TOKEN" {{ config.api.url }}/apiv2/tasks/create/file/
-In case of PCAP you need to add -F pcap=1
-Note: machine is optional. Header depends of the config if Token auth is enabled in api.conf
-
Download from file service and analyzeYesNo -
    -
  • RPS: {{ config.downloading_services.rps }}
  • -
  • RPM: {{ config.downloading_services.rpm }}
  • -
-
Download a file from VT or MalwareBazaar or other service for analysis. Return object will be JSON.
-
curl -F vtdl=hash -F machine="VM-Name" -H "Authorization: Token YOU_TOKEN" -F apikey="[VT API key]" {{ config.api.url }}/apiv2/tasks/create/vtdl/
-Note: machine is optional. Header depends of the config if Token auth is enabled
-
URL CreateYesNo -
    -
  • RPS: {{ config.urlcreate.rps }}
  • -
  • RPM: {{ config.urlcreate.rpm }}
  • -
-
Submit a URL task to be analyzed by CAPE. Return object will be JSON. -
-
curl -F url="somebadness.tld" {{ config.api.url }}/apiv2/tasks/create/url/
-
Download file and Create file task aka dl'n'execYesNo -
    -
  • RPS: {{ config.dlnexeccreate.rps }}
  • -
  • RPM: {{ config.dlnexeccreate.rpm }}
  • -
-
Submit a URL it will download and add as file task to be analyzed by CAPE. Return object will be JSON.
-
curl -X POST -F dlnexec="https://somebadness.tld/supermalware.exe" {{ config.api.url }}/apiv2/tasks/create/dlnexec/
-
Static extractionYesNo -
    -
  • RPS: {{ config.staticextraction.rps }}
  • -
  • RPM: {{ config.staticextraction.rpm }}
  • -
-
Submit a file to try static extractors on it, file won't be submited to Virtual Machine. Return object will - be JSON.
-
curl -F file=@/path/to/file -F machine="VM-Name" -H "Authorization: Token YOU_TOKEN" {{ config.api.url }}/apiv2/tasks/create/static/
-        
File ViewYes
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No {% endif %} - + + + + + + + + + + + + + + - + - - + - - - - {% if config.tasksearch.enabled %} - - {% else %} - - {% endif %} - - - - - - + + + + + + + + + + + + - - - - {% if config.extendedtasksearch.enabled %} - - {% else %} - - {% endif %} - - - - - - - - - - {% if config.tasklist.enabled %} - - {% else %} - - {% endif %} - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - {% if config.taskview.enabled %} - - {% else %} - - {% endif %} - - - - - - - - - - {% if config.taskresched.enabled %} - - {% else %} - - {% endif %} - - - - - - - - - - {% if config.taskreprocess.enabled %} - - {% else %} - - {% endif %} - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - {% if config.taskdelete.enabled %} - - {% else %} - - {% endif %} - - - - - - + + + + + - - - - {% if config.taskstatus.enabled %} - - {% else %} - - {% endif %} - - - - - - - - - - {% if config.taskreport.enabled %} - - {% else %} - - {% endif %} - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - {% if config.taskiocs.enabled %} - - {% else %} - - {% endif %} - - - - - - + + + + + + + + + + + + - - - - {% if config.taskscreenshot.enabled %} - - {% else %} - - {% endif %} - - - - - - + + + + + + + + + + + + - - - - {% if config.taskpcap.enabled %} - - {% else %} - - {% endif %} - - - - - - - - - - {% if config.taskdropped.enabled %} - - {% else %} - - {% endif %} - - - - - - - - - - {% if config.tasksurifile.enabled %} - - {% else %} - - {% endif %} - - - - - - - - - - {% if config.taskprocmemory.enabled %} - - {% else %} - - {% endif %} - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - {% if config.taskfullmemory.enabled %} - - {% else %} - - {% endif %} - - - - - - - - - - {% if config.sampledl.enabled %} - - {% else %} - - {% endif %} - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - {% if config.machinelist.enabled %} - - {% else %} - - {% endif %} - - - - - - - - - - {% if config.machineview.enabled %} - - {% else %} - - {% endif %} - - - - - - - - - - {% if config.tasks_latest.enabled %} - - {% else %} - - {% endif %} - - - - - - - - - - {% if config.cuckoostatus.enabled %} - - {% else %} - - {% endif %} - - - - - - - - - - {% if config.capeconfig.enabled %} - - {% else %} - - {% endif %} - - - - - - - - - - {% if config.payloadfiles.enabled %} - - {% else %} - - {% endif %} - - - - - - - - - - {% if config.procdumpfiles.enabled %} - - {% else %} - - {% endif %} - - - - - - - - - - {% if config.statistics.enabled %} - - {% else %} - - {% endif %} - - - - - - - - - - {% if config.mitmdump.enabled %} - - {% else %} - - {% endif %} - - - - - - - - -
API NodeEnabledRate LimitsDescriptionExample
File Create + {% if config.filecreate.enabled %} + Yes + {% else %} + No + {% endif %} + +
    +
  • RPS: {{ config.filecreate.rps }}
  • +
  • RPM: {{ config.filecreate.rpm }}
  • +
+
Submit a file task to be analyzed by CAPE. Return object will be JSON. + +
+
curl -F file=@/path/to/file -F machine="VM-Name" -H "Authorization: Token YOU_TOKEN" {{ config.api.url }}/apiv2/tasks/create/file/
+# In case of PCAP you need to add -F pcap=1
+# Note: machine is optional. Header depends of the config if Token auth is enabled in api.conf
+
Download Service & Analyze + {% if config.downloading_services.enabled %} + Yes + {% else %} + No + {% endif %} + +
    +
  • RPS: {{ config.downloading_services.rps }}
  • +
  • RPM: {{ config.downloading_services.rpm }}
  • +
+
Download a file from VT or MalwareBazaar or other service for analysis. Return object will be JSON.
+
curl -F vtdl=hash -F machine="VM-Name" -H "Authorization: Token YOU_TOKEN" -F apikey="[VT API key]" {{ config.api.url }}/apiv2/tasks/create/vtdl/
+# Note: machine is optional. Header depends of the config if Token auth is enabled
+
URL Create + {% if config.urlcreate.enabled %} + Yes + {% else %} + No + {% endif %} + +
    +
  • RPS: {{ config.urlcreate.rps }}
  • +
  • RPM: {{ config.urlcreate.rpm }}
  • +
+
Submit a URL task to be analyzed by CAPE. Return object will be JSON.
+
curl -F url="somebadness.tld" {{ config.api.url }}/apiv2/tasks/create/url/
+
Download & Execute + {% if config.dlnexeccreate.enabled %} + Yes + {% else %} + No + {% endif %} + +
    +
  • RPS: {{ config.dlnexeccreate.rps }}
  • +
  • RPM: {{ config.dlnexeccreate.rpm }}
  • +
+
Submit a URL, it will download and add as file task to be analyzed by CAPE. Return object will be JSON.
+
curl -X POST -F dlnexec="https://somebadness.tld/supermalware.exe" {{ config.api.url }}/apiv2/tasks/create/dlnexec/
+
Static Extraction + {% if config.staticextraction.enabled %} + Yes {% else %} - No
  • RPS: {{ config.fileview.rps }}
  • -
  • RPM: {{ config.fileview.rpm }}
+
    +
  • RPS: {{ config.staticextraction.rps }}
  • +
  • RPM: {{ config.staticextraction.rpm }}
  • +
+
Submit a file to try static extractors on it, file won't be submitted to Virtual Machine. Return object will be JSON.
+
curl -F file=@/path/to/file -F machine="VM-Name" -H "Authorization: Token YOU_TOKEN" {{ config.api.url }}/apiv2/tasks/create/static/
+
File View + {% if config.fileview.enabled %} + Yes + {% else %} + No + {% endif %} +
  • RPS: {{ config.fileview.rps }}
  • RPM: {{ config.fileview.rpm }}
View information about a specific sample that's in CAPE's database. Return object will be JSON.
curl {{ config.api.url }}/apiv2/files/view/md5/[md5 hash]/
+            
curl {{ config.api.url }}/apiv2/files/view/md5/[md5 hash]/
 curl {{ config.api.url }}/apiv2/files/view/sha1/[sha1 hash]/
 curl {{ config.api.url }}/apiv2/files/view/sha256/[sha256 hash]/
 curl {{ config.api.url }}/apiv2/files/view/id/[sample id]/
-
Basic Task SearchYesNo -
    -
  • RPS: {{ config.tasksearch.rps }}
  • -
  • RPM: {{ config.tasksearch.rpm }}
  • -
-
View information about a specific Task that's in CAPE's database by Hash or ID. Return object will be JSON. - -
-
curl {{ config.api.url }}/apiv2/tasks/search/md5/[md5 hash]/
+            
Basic Task Search + {% if config.tasksearch.enabled %} + Yes + {% else %} + No + {% endif %} + +
    +
  • RPS: {{ config.tasksearch.rps }}
  • +
  • RPM: {{ config.tasksearch.rpm }}
  • +
+
View information about a specific Task that's in CAPE's database by Hash or ID. Return object will be JSON.
+
curl {{ config.api.url }}/apiv2/tasks/search/md5/[md5 hash]/
 curl {{ config.api.url }}/apiv2/tasks/search/sha1/[sha1 hash]/
 curl {{ config.api.url }}/apiv2/tasks/search/sha256/[sha256 hash]/
-
Extended Task SearchYesNo -
    -
  • RPS: {{ config.extendedtasksearch.rps }}
  • -
  • RPM: {{ config.extendedtasksearch.rpm }}
  • -
-
Search for Task ID's that's in MongoDB by various options. Return object will be JSON.
-
curl -d "option=[option]&argument=[argument]" {{ config.api.url }}/apiv2/tasks/extendedsearch/
-
-Searchable Options List:
-id : Task id
-name : Name of target file name
-type : Name of file type
-string : Match a string in the static analysis section
-ssdeep : Match an ssdeep hash
-crc32 : Match a CRC32 hash
-file : Match a file in the behavioral analysis summary
-command : Match an executed command
-resolvedapi : Match an API that a sample resolved
-key : Match a registry key in the behavioral analysis summary
-mutex : Match a mutex in the behavioral analysis summary
-domain : Match a resolved domain
-ip : Match a contacted IP Address
-signature : Match a CAPE signature description
-signame : Match a CAPE signature name
-detections: Match samples associated with malware family
-url : Match a URL target task (submitted URL task)
-imphash : Match an import hash
-iconhash: Match the exact hash of the icon associated with the PE
-iconfuzzy: Match a hash designed to match on similar-looking icons
-surialert : Match a suricata alert signature
-surihttp : Match suricata HTTP data
-suritls : Match suricata TLS data
-clamav : Match a Clam AV signature
-yaraname : Match a Yara signature name
-virustotal : Match a virustotal AV Signature
-comment : Match a comment posted to a specific task
-md5 : Targets with a specific MD5 hash
-sha1 : Targets with a specific SHA1 hash
-sha256 : Targets with a specific SHA256 hash
-sha512 : Targets with a specific SHA512 hash
-TTP: TTP number
-
-
Tasks ListYesNo -
    -
  • RPS: {{ config.tasklist.rps }}
  • -
  • RPM: {{ config.tasklist.rpm }}
  • -
-
View information about a range of Task ID's. Return object will be JSON -
-
curl {{ config.api.url }}/apiv2/tasks/list/
+            
Extended Task Search + {% if config.extendedtasksearch.enabled %} + Yes + {% else %} + No + {% endif %} + +
    +
  • RPS: {{ config.extendedtasksearch.rps }}
  • +
  • RPM: {{ config.extendedtasksearch.rpm }}
  • +
+
Search for Task ID's that's in MongoDB by various options. Return object will be JSON.
+
curl -d "option=[option]&argument=[argument]" {{ config.api.url }}/apiv2/tasks/extendedsearch/
+
+# Searchable Options List:
+# id : Task id
+# name : Name of target file name
+# type : Name of file type
+# string : Match a string in the static analysis section
+# ssdeep : Match an ssdeep hash
+# crc32 : Match a CRC32 hash
+# file : Match a file in the behavioral analysis summary
+# command : Match an executed command
+# resolvedapi : Match an API that a sample resolved
+# key : Match a registry key in the behavioral analysis summary
+# mutex : Match a mutex in the behavioral analysis summary
+# domain : Match a resolved domain
+# ip : Match a contacted IP Address
+# signature : Match a CAPE signature description
+# signame : Match a CAPE signature name
+# detections: Match samples associated with malware family
+# url : Match a URL target task (submitted URL task)
+# imphash : Match an import hash
+# iconhash: Match the exact hash of the icon associated with the PE
+# iconfuzzy: Match a hash designed to match on similar-looking icons
+# surialert : Match a suricata alert signature
+# surihttp : Match suricata HTTP data
+# suritls : Match suricata TLS data
+# clamav : Match a Clam AV signature
+# yaraname : Match a Yara signature name
+# virustotal : Match a virustotal AV Signature
+# comment : Match a comment posted to a specific task
+# md5 : Targets with a specific MD5 hash
+# sha1 : Targets with a specific SHA1 hash
+# sha256 : Targets with a specific SHA256 hash
+# sha512 : Targets with a specific SHA512 hash
+# TTP: TTP number
+
Tasks List + {% if config.tasklist.enabled %} + Yes + {% else %} + No + {% endif %} + +
    +
  • RPS: {{ config.tasklist.rps }}
  • +
  • RPM: {{ config.tasklist.rpm }}
  • +
+
View information about a range of Task ID's. Return object will be JSON
+
curl {{ config.api.url }}/apiv2/tasks/list/
 curl {{ config.api.url }}/apiv2/tasks/list/[limit]/ (specify a limit of tasks to return)
 curl {{ config.api.url }}/apiv2/tasks/list/[limit]/[offset]/ (specify a limit of tasks to return, offset by a specific amount)
-Acepts as params status to check for status and/or option to search by option LIKE
-
Task ViewYesNo -
    -
  • RPS: {{ config.taskview.rps }}
  • -
  • RPM: {{ config.taskview.rpm }}
  • -
-
View information about a specific task including VM, sample, and error information. Return object will be - JSON. -
-
curl {{ config.api.url }}/apiv2/tasks/view/[task id]/
-
Reschedule TaskYesNo -
    -
  • RPS: {{ config.taskresched.rps }}
  • -
  • RPM: {{ config.taskresched.rpm }}
  • -
-
Reschedule an analysis task to run again. Return object will be JSON. -
-
curl {{ config.api.url }}/apiv2/tasks/reschedule/[task id]/
-
Reprocess TaskYesNo -
    -
  • RPS: {{ config.taskreprocess.rps }}
  • -
  • RPM: {{ config.taskreprocess.rpm }}
  • +# Accepts as params status to check for status and/or option to search by option LIKE +
Task View + {% if config.taskview.enabled %} + Yes + {% else %} + No + {% endif %} + +
    +
  • RPS: {{ config.taskview.rps }}
  • +
  • RPM: {{ config.taskview.rpm }}
  • +
+
View information about a specific task including VM, sample, and error information. Return object will be JSON.
+
curl {{ config.api.url }}/apiv2/tasks/view/[task id]/
+
Reschedule Task + {% if config.taskresched.enabled %} + Yes + {% else %} + No + {% endif %} + +
    +
  • RPS: {{ config.taskresched.rps }}
  • +
  • RPM: {{ config.taskresched.rpm }}
  • +
+
Reschedule an analysis task to run again. Return object will be JSON.
+
curl {{ config.api.url }}/apiv2/tasks/reschedule/[task id]/
+
Reprocess Task + {% if config.taskreprocess.enabled %} + Yes + {% else %} + No + {% endif %} + +
    +
  • RPS: {{ config.taskreprocess.rps }}
  • +
  • RPM: {{ config.taskreprocess.rpm }}
  • +
+
Mark an analysis task as ready to be processed. Return object will be JSON.
+
curl {{ config.api.url }}/apiv2/tasks/reprocess/[task id]/
+
Delete Task + {% if config.taskdelete.enabled %} + Yes + {% else %} + No + {% endif %} + +
    +
  • RPS: {{ config.taskdelete.rps }}
  • +
  • RPM: {{ config.taskdelete.rpm }}
-
Mark an analysis task as ready to be processed. Return object will be JSON. -
-
curl {{ config.api.url }}/apiv2/tasks/reprocess/[task id]/
-
Delete TaskYesNo -
    -
  • RPS: {{ config.taskdelete.rps }}
  • -
  • RPM: {{ config.taskdelete.rpm }}
  • -
-
Delete a task from the database. Return object will be JSON. -
-
curl {{ config.api.url }}/apiv2/tasks/delete/[task id]/[status]
+            
Delete a task from the database. Return object will be JSON.
+
curl {{ config.api.url }}/apiv2/tasks/delete/[task id]/[status]
 curl {{ config.api.url }}/apiv2/tasks/delete/[task id],[task id]/[status]
 curl {{ config.api.url }}/apiv2/tasks/delete/[start_task_id]-[end_task_id]/[status]
-Note: Specify the exact status when the job fails; leave blank if successful
-
Task StatusYesNo -
    -
  • RPS: {{ config.taskstatus.rps }}
  • -
  • RPM: {{ config.taskstatus.rpm }}
  • -
-
Query the status of a Task by ID. Return object will be JSON. -
-
curl {{ config.api.url }}/apiv2/tasks/status/[task id]/
-
Task ReportYesNo -
    -
  • RPS: {{ config.taskreport.rps }}
  • -
  • RPM: {{ config.taskreport.rpm }}
  • -
-
Download a report generated for a specific task. Return object will be JSON, XML, or application/zip (zip). - -
-
curl {{ config.api.url }}/apiv2/tasks/get/report/[task id]/
+# Note: Specify the exact status when the job fails; leave blank if successful
+
Task Status + {% if config.taskstatus.enabled %} + Yes + {% else %} + No + {% endif %} + +
    +
  • RPS: {{ config.taskstatus.rps }}
  • +
  • RPM: {{ config.taskstatus.rpm }}
  • +
+
Query the status of a Task by ID. Return object will be JSON.
+
curl {{ config.api.url }}/apiv2/tasks/status/[task id]/
+
Task Report + {% if config.taskreport.enabled %} + Yes + {% else %} + No + {% endif %} + +
    +
  • RPS: {{ config.taskreport.rps }}
  • +
  • RPM: {{ config.taskreport.rpm }}
  • +
+
Download a report generated for a specific task. Return object will be JSON, XML, or application/zip (zip).
+
curl {{ config.api.url }}/apiv2/tasks/get/report/[task id]/
 curl {{ config.api.url }}/apiv2/tasks/get/report/[task id]/[format]/
 curl {{ config.api.url }}/apiv2/tasks/get/report/[task id]/[format]/zip/
-Note: Format can be json/maec/maec5/metadata/lite/all.
-Note 2: extra formats: all/dist/dropped/lite - used for distributed cluster reporting
-
-
Task IOCsYesNo -
    -
  • RPS: {{ config.taskiocs.rps }}
  • -
  • RPM: {{ config.taskiocs.rpm }}
  • -
-
View objects of the task report that may contain potential IOCs. Return object will be JSON. -
-
curl {{ config.api.url }}/apiv2/tasks/get/iocs/[task id]/
+# Note: Format can be json/maec/maec5/metadata/lite/all.
+# Note 2: extra formats: all/dist/dropped/lite - used for distributed cluster reporting
+
Task IOCs + {% if config.taskiocs.enabled %} + Yes + {% else %} + No + {% endif %} + +
    +
  • RPS: {{ config.taskiocs.rps }}
  • +
  • RPM: {{ config.taskiocs.rpm }}
  • +
+
View objects of the task report that may contain potential IOCs. Return object will be JSON.
+
curl {{ config.api.url }}/apiv2/tasks/get/iocs/[task id]/
 curl {{ config.api.url }}/apiv2/tasks/get/iocs/[task id]/detailed/
-
Task ScreenshotsYesNo -
    -
  • RPS: {{ config.taskscreenshot.rps }}
  • -
  • RPM: {{ config.taskscreenshot.rpm }}
  • -
-
View/Download screenshots of a Task by ID. Return object will be image/jpeg or application/zip (.zip). Use 7zip or pyzipper to extract - .zip)
-
curl {{ config.api.url }}/apiv2/tasks/get/screenshot/[task id]/    (Downloads all screenshots)
+            
Task Screenshots + {% if config.taskscreenshot.enabled %} + Yes + {% else %} + No + {% endif %} + +
    +
  • RPS: {{ config.taskscreenshot.rps }}
  • +
  • RPM: {{ config.taskscreenshot.rpm }}
  • +
+
View/Download screenshots of a Task by ID. Return object will be image/jpeg or application/zip (.zip).
+
curl {{ config.api.url }}/apiv2/tasks/get/screenshot/[task id]/    (Downloads all screenshots)
 curl {{ config.api.url }}/apiv2/tasks/get/screenshot/[task id]/[screenshot number]/
-
Task PCAPYesNo -
    -
  • RPS: {{ config.taskpcap.rps }}
  • -
  • RPM: {{ config.taskpcap.rpm }}
  • -
-
Download the PCAP dump of a Task by ID. Return object will be application/vnd.tcpdump.pcap. (.pcap) -
-
curl {{ config.api.url }}/apiv2/tasks/get/pcap/[task id]/
-
Task Dropped FilesYesNo -
    -
  • RPS: {{ config.taskdropped.rps }}
  • -
  • RPM: {{ config.taskdropped.rpm }}
  • -
-
Download the dropped files associated with a Task by ID. Return object will be application/zip (.zip). Use 7zip or pyzipper to extract -
-
curl {{ config.api.url }}/apiv2/tasks/get/dropped/[task id]/
-
Task SuriFilesYesNo -
    -
  • RPS: {{ config.tasksurifile.rps }}
  • -
  • RPM: {{ config.tasksurifile.rpm }}
  • -
-
Download the Suricata captured files associated with a Task by ID. Return object will be octet-stream. - (.zip) -
-
curl {{ config.api.url }}/apiv2/tasks/get/surifile/[task id]/
-
Task Process DumpYesNo -
    -
  • RPS: {{ config.taskprocmemory.rps }}
  • -
  • RPM: {{ config.taskprocmemory.rpm }}
  • -
-
Download a process memory dump from a Task by ID and PID. Return object will be application/zip (.zip). Use 7zip or pyzipper to extract
-
curl {{ config.api.url }}/apiv2/tasks/get/procmemory/[task id]/    (Downloads all process memory dumps)
+            
Task PCAP + {% if config.taskpcap.enabled %} + Yes + {% else %} + No + {% endif %} + +
    +
  • RPS: {{ config.taskpcap.rps }}
  • +
  • RPM: {{ config.taskpcap.rpm }}
  • +
+
Download the PCAP dump of a Task by ID. Return object will be application/vnd.tcpdump.pcap. (.pcap)
+
curl {{ config.api.url }}/apiv2/tasks/get/pcap/[task id]/
+
Task Dropped Files + {% if config.taskdropped.enabled %} + Yes + {% else %} + No + {% endif %} + +
    +
  • RPS: {{ config.taskdropped.rps }}
  • +
  • RPM: {{ config.taskdropped.rpm }}
  • +
+
Download the dropped files associated with a Task by ID. Return object will be application/zip (.zip).
+
curl {{ config.api.url }}/apiv2/tasks/get/dropped/[task id]/
+
Task SuriFiles + {% if config.tasksurifile.enabled %} + Yes + {% else %} + No + {% endif %} + +
    +
  • RPS: {{ config.tasksurifile.rps }}
  • +
  • RPM: {{ config.tasksurifile.rpm }}
  • +
+
Download the Suricata captured files associated with a Task by ID. Return object will be octet-stream (.zip).
+
curl {{ config.api.url }}/apiv2/tasks/get/surifile/[task id]/
+
Task Process Dump + {% if config.taskprocmemory.enabled %} + Yes + {% else %} + No + {% endif %} + +
    +
  • RPS: {{ config.taskprocmemory.rps }}
  • +
  • RPM: {{ config.taskprocmemory.rpm }}
  • +
+
Download a process memory dump from a Task by ID and PID. Return object will be application/zip (.zip).
+
curl {{ config.api.url }}/apiv2/tasks/get/procmemory/[task id]/    (Downloads all process memory dumps)
 curl {{ config.api.url }}/apiv2/tasks/get/procmemory/[task id]/[pid]/
-
Task Full Memory DumpYesNo -
    -
  • RPS: {{ config.taskfullmemory.rps }}
  • -
  • RPM: {{ config.taskfullmemory.rpm }}
  • -
-
Download a full memory dump of a Task by ID. Return object will be octet-stream. (.dmp)
-
curl {{ config.api.url }}/apiv2/tasks/get/fullmemory/[task id]/
-
Sample DownloadYesNo -
    -
  • RPS: {{ config.sampledl.rps }}
  • -
  • RPM: {{ config.sampledl.rpm }}
  • -
-
Download a sample from a Task by Task ID/MD5/SHA1/SHA256. Supports zip-encryption with default password. Return object will be octet-stream. (.bin) or application/zip. (.zip) if encrypted -
-
curl {{ config.api.url }}/apiv2/files/get/task/[task id]/
+            
Task Full Memory Dump + {% if config.taskfullmemory.enabled %} + Yes + {% else %} + No + {% endif %} + +
    +
  • RPS: {{ config.taskfullmemory.rps }}
  • +
  • RPM: {{ config.taskfullmemory.rpm }}
  • +
+
Download a full memory dump of a Task by ID. Return object will be octet-stream (.dmp).
+
curl {{ config.api.url }}/apiv2/tasks/get/fullmemory/[task id]/
+
Sample Download + {% if config.sampledl.enabled %} + Yes + {% else %} + No + {% endif %} + +
    +
  • RPS: {{ config.sampledl.rps }}
  • +
  • RPM: {{ config.sampledl.rpm }}
  • +
+
Download a sample by Task ID/MD5/SHA1/SHA256. Supports encryption. Return object octet-stream/zip.
+
curl {{ config.api.url }}/apiv2/files/get/task/[task id]/
 curl {{ config.api.url }}/apiv2/files/get/md5/[md5 hash]/
 curl {{ config.api.url }}/apiv2/files/get/sha1/[sha1 hash]/
 curl {{ config.api.url }}/apiv2/files/get/sha256/[sha256 hash]/
@@ -579,207 +655,242 @@ 

API - -

Virtual Machine ListYesNo -
    -
  • RPS: {{ config.machinelist.rps }}
  • -
  • RPM: {{ config.machinelist.rpm }}
  • -
-
View basic statistics of available/total virtual machines. Return object will be JSON. -
-
curl {{ config.api.url }}/apiv2/machines/list/
-
Virtual Machine ViewYesNo -
    -
  • RPS: {{ config.machineview.rps }}
  • -
  • RPM: {{ config.machineview.rpm }}
  • -
-
View information about a specific virtual machine. Return object will be JSON. -
-
curl {{ config.api.url }}/apiv2/machines/view/[vm-name]/
-
Get tasks ids finished in latest X hoursYesNo -
    -
  • RPS: {{ config.tasks_latest.rps }}
  • -
  • RPM: {{ config.tasks_latest.rpm }}
  • -
-
View ids of tasks finished on latest X hours. -
-
curl {{ config.api.url }}/apiv2/tasks/get/latests/1/
-
CAPE StatusYesNo -
    -
  • RPS: {{ config.cuckoostatus.rps }}
  • -
  • RPM: {{ config.cuckoostatus.rpm }}
  • -
-
View the current status of the CAPE host. Return object will be JSON. -
-
curl {{ config.api.url }}/apiv2/cuckoo/status/
-
Extracted Sample ConfigYesNo -
    -
  • RPS: {{ config.capeconfig.rps }}
  • -
  • RPM: {{ config.capeconfig.rpm }}
  • -
-
View the CAPE extracted sample config associated with a task by ID. Return object will be JSON. -
-
curl {{ config.api.url }}/apiv2/tasks/get/config/[task_id]/
-
CAPE Payload FilesYesNo -
    -
  • RPS: {{ config.payloadfiles.rps }}
  • -
  • RPM: {{ config.payloadfiles.rpm }}
  • -
-
Download the CAPE payload files associated with a task by ID. Return object will be octet-stream. (.zip). Use 7zip or pyzipper to extract
-
curl {{ config.api.url }}/apiv2/tasks/get/payloadfiles/[task_id]/
-
CAPE Procdump FilesYesNo -
    -
  • RPS: {{ config.configfiles.rps }}
  • -
  • RPM: {{ config.configfiles.rpm }}
  • -
-
Download the procdump files associated with a task by ID. Return object will be octet-stream. (.zip). Use 7zip or pyzipper to extract
-
curl {{ config.api.url }}/apiv2/tasks/get/procdumpfiles/[task_id]/
-
StatisticsYesNo -
    -
  • RPS: {{ config.statistics.rps }}
  • -
  • RPM: {{ config.statistics.rpm }}
  • -
-
Details about tasks and time spend on different modules(TOP 30)
-
curl {{ config.api.url }}/apiv2/tasks/[days]/
-
Mitmdump HAR DownloadYesNo -
    -
  • RPS: {{ config.mitmdump.rps }}
  • -
  • RPM: {{ config.mitmdump.rpm }}
  • -
-
Download the HAR file of mitmdump given a Task ID. Return will be a HAR file. -
-
curl {{ config.api.url }}/apiv2/tasks/get/mitmdump/[task id]/
-
+ + + + + + Virtual Machine List + + {% if config.machinelist.enabled %} + Yes + {% else %} + No + {% endif %} + + +
    +
  • RPS: {{ config.machinelist.rps }}
  • +
  • RPM: {{ config.machinelist.rpm }}
  • +
+ + View basic statistics of available/total virtual machines. Return object will be JSON. + + + + +
curl {{ config.api.url }}/apiv2/machines/list/
+ + + + + + Virtual Machine View + + {% if config.machineview.enabled %} + Yes + {% else %} + No + {% endif %} + + +
    +
  • RPS: {{ config.machineview.rps }}
  • +
  • RPM: {{ config.machineview.rpm }}
  • +
+ + View information about a specific virtual machine. Return object will be JSON. + + + + +
curl {{ config.api.url }}/apiv2/machines/view/[vm-name]/
+ + + + + + Tasks Finished (Latest) + + {% if config.tasks_latest.enabled %} + Yes + {% else %} + No + {% endif %} + + +
    +
  • RPS: {{ config.tasks_latest.rps }}
  • +
  • RPM: {{ config.tasks_latest.rpm }}
  • +
+ + View ids of tasks finished on latest X hours. + + + + +
curl {{ config.api.url }}/apiv2/tasks/get/latests/1/
+ + + + + + CAPE Status + + {% if config.cuckoostatus.enabled %} + Yes + {% else %} + No + {% endif %} + + +
    +
  • RPS: {{ config.cuckoostatus.rps }}
  • +
  • RPM: {{ config.cuckoostatus.rpm }}
  • +
+ + View the current status of the CAPE host. Return object will be JSON. + + + + +
curl {{ config.api.url }}/apiv2/cuckoo/status/
+ + + + + + Extracted Sample Config + + {% if config.capeconfig.enabled %} + Yes + {% else %} + No + {% endif %} + + +
    +
  • RPS: {{ config.capeconfig.rps }}
  • +
  • RPM: {{ config.capeconfig.rpm }}
  • +
+ + View the CAPE extracted sample config associated with a task by ID. Return object will be JSON. + + + + +
curl {{ config.api.url }}/apiv2/tasks/get/config/[task_id]/
+ + + + + + CAPE Payload Files + + {% if config.payloadfiles.enabled %} + Yes + {% else %} + No + {% endif %} + + +
    +
  • RPS: {{ config.payloadfiles.rps }}
  • +
  • RPM: {{ config.payloadfiles.rpm }}
  • +
+ + Download the CAPE payload files associated with a task by ID. Return object will be octet-stream (.zip). + + + + +
curl {{ config.api.url }}/apiv2/tasks/get/payloadfiles/[task_id]/
+ + + + + + CAPE Procdump Files + + {% if config.procdumpfiles.enabled %} + Yes + {% else %} + No + {% endif %} + + +
    +
  • RPS: {{ config.configfiles.rps }}
  • +
  • RPM: {{ config.configfiles.rpm }}
  • +
+ + Download the procdump files associated with a task by ID. Return object will be octet-stream (.zip). + + + + +
curl {{ config.api.url }}/apiv2/tasks/get/procdumpfiles/[task_id]/
+ + + + + + Statistics + + {% if config.statistics.enabled %} + Yes + {% else %} + No + {% endif %} + + +
    +
  • RPS: {{ config.statistics.rps }}
  • +
  • RPM: {{ config.statistics.rpm }}
  • +
+ + Details about tasks and time spend on different modules (TOP 30). + + + + +
curl {{ config.api.url }}/apiv2/tasks/[days]/
+ + + + + + Mitmdump HAR + + {% if config.mitmdump.enabled %} + Yes + {% else %} + No + {% endif %} + + +
    +
  • RPS: {{ config.mitmdump.rps }}
  • +
  • RPM: {{ config.mitmdump.rpm }}
  • +
+ + Download the HAR file of mitmdump given a Task ID. Return will be a HAR file. + + + + +
curl {{ config.api.url }}/apiv2/tasks/get/mitmdump/[task id]/
+ + + + + +
{% else %} -
Problem loading API configuration file.
+
+ +

Problem loading API configuration file.

+
{% endif %}
{% endblock %} diff --git a/web/templates/base.html b/web/templates/base.html index 5c304d94df7..b5ccd4fec87 100644 --- a/web/templates/base.html +++ b/web/templates/base.html @@ -1,5 +1,5 @@ {%include "header.html" %} -
+
{% autoescape on %} {% block content %}{% endblock %} {% endautoescape %} diff --git a/web/templates/compare/_info.html b/web/templates/compare/_info.html index 9eb72f5605f..776b786d86b 100644 --- a/web/templates/compare/_info.html +++ b/web/templates/compare/_info.html @@ -1,22 +1,24 @@ - - - - - - - - - - - - - - - - - - - - - -
IDNameMD5MachineCompleted OnDuration
{{record.info.id}}{{record.target.file.name|slice:":40" }} {% if record.target.file.name|length > 40 %}...{% endif %}{{record.target.file.md5}}{{record.info.machine.label}}{{record.info.ended}}{{record.info.duration}} seconds
+
+ + + + + + + + + + + + + + + + + + + + + +
IDNameMD5MachineCompleted OnDur.
{{record.info.id}}{{record.target.file.name|truncatechars:40}}{{record.target.file.md5}}{{record.info.machine.label}}{{record.info.ended}}{{record.info.duration}}s
+
diff --git a/web/templates/compare/_summary_table.html b/web/templates/compare/_summary_table.html index c6b2a85c42e..dda3684b3ba 100644 --- a/web/templates/compare/_summary_table.html +++ b/web/templates/compare/_summary_table.html @@ -1,24 +1,30 @@ - - - - - - - - - - - - - {% for record in records %} +
+
IDNameMachineCompleted OnDurationSelect
+ - - - - - - + + + + + + - {% endfor %} - -
{{record.info.id}}{{record.target.file.name}}{{record.info.machine.label}}{{record.info.ended}}{{record.info.duration}} secondsSelectIDNameMachineCompleted OnDurationAction
+ + + {% for record in records %} + + {{record.info.id}} + {{record.target.file.name}} + {{record.info.machine.label}} + {{record.info.ended}} + {{record.info.duration}}s + + + Select + + + + {% endfor %} + + +
diff --git a/web/templates/compare/both.html b/web/templates/compare/both.html index b1ca2e3ec5a..a25d9c5197d 100644 --- a/web/templates/compare/both.html +++ b/web/templates/compare/both.html @@ -3,219 +3,177 @@ -
-
-

Analysis 1

- +
+
+

Analysis 1

{% include "compare/_info.html" with record=left %}
-

Analysis 2

+

Analysis 2

{% include "compare/_info.html" with record=right %} -
-
-
-

Execution Graph

- -

This graph gives you an abstracted overview of the execution of the analyzer file. More specifically it represents the percentage of occurrences of behavioral events classified by category: the bigger the colored block, the higher is the count of events for the respective category performed by the analyzed malware

-

Comparing two graphs from different analyses can give you help estimate how much the behavior of the two files differ.

-

Following are the colored categories:

-

- registry - filesystem - system - network - process - services - synchronization - windows -

-
-
-
-
- {% for cat, count in left_counts.items %} -
- {% endfor %} -
+
+
+
Execution Graph
-
-
- {% for cat, count in right_counts.items %} -
- {% endfor %} +
+

This graph visualizes the behavioral events by category. Larger blocks indicate higher activity in that category.

+ +
+ registry + filesystem + system + network + process + services + synchronization + windows
-
-
-
-
-

Summary Similarities

- -
-
-
- {% if summary.files %} - {% for file in summary.files %} - {{file}}
- {% endfor %} - {% else %} - No similarly accessed files. - {% endif %} -
-
-
-
- {% if summary.read_files %} - {% for file in summary.read_files %} - {{file}}
- {% endfor %} - {% else %} - No similarly read files. - {% endif %} -
-
-
-
- {% if summary.write_files %} - {% for file in summary.write_files %} - {{file}}
- {% endfor %} - {% else %} - No similarly written files. - {% endif %} -
-
-
-
- {% if summary.delete_files %} - {% for file in delete_files %} - {{file}}
- {% endfor %} - {% else %} - No similarly deleted files. - {% endif %} -
-
-
-
- {% if summary.keys %} - {% for key in summary.keys %} - {{key}}
- {% endfor %} - {% else %} - No similarly accessed registry keys. - {% endif %} -
-
-
-
- {% if summary.read_keys %} - {% for key in summary.read_keys %} - {{key}}
- {% endfor %} - {% else %} - No similarly read registry keys. - {% endif %} -
-
-
-
- {% if summary.write_keys %} - {% for key in summary.write_keys %} - {{key}}
- {% endfor %} - {% else %} - No similarly written registry keys. - {% endif %} -
-
-
-
- {% if summary.delete_keys %} - {% for key in summary.delete_keys %} - {{key}}
- {% endfor %} - {% else %} - No similarly deleted registry keys. - {% endif %} -
-
-
-
- {% if summary.resolved_apis %} - {% for api in summary.resolved_apis %} - {{api}}
- {% endfor %} - {% else %} - No similarly resolved API imports. - {% endif %} -
-
-
-
- {% if summary.executed_commands %} - {% for cmd in summary.executed_commands %} - {{cmd}}
+ +
+
+
+ {% for cat, count in left_counts.items %} +
{% endfor %} - {% else %} - No similarly executed commands. - {% endif %}
-
-
- {% if summary.mutexes %} - {% for mutex in summary.mutexes %} - {{mutex}}
+
+
+ {% for cat, count in right_counts.items %} +
{% endfor %} - {% else %} - No similarly created mutexes. - {% endif %}
-
-
- {% if summary.created_services %} - {% for service in summary.created_services %} - {{service}}
- {% endfor %} - {% else %} - No similarly created services - {% endif %} +
+
+
+ +
+
+
Summary Similarities
+
+
+
+ -
-
- {% if summary.started_services %} - {% for service in summary.started_services %} - {{service}}
- {% endfor %} - {% else %} - No simiarly started services. - {% endif %} +
+
+
+
+ {% if summary.files %} +
    {% for file in summary.files %}
  • {{file}}
  • {% endfor %}
+ {% else %}No similarities found.{% endif %} +
+
+
+
+ {% if summary.read_files %} +
    {% for file in summary.read_files %}
  • {{file}}
  • {% endfor %}
+ {% else %}No similarities found.{% endif %} +
+
+
+
+ {% if summary.write_files %} +
    {% for file in summary.write_files %}
  • {{file}}
  • {% endfor %}
+ {% else %}No similarities found.{% endif %} +
+
+
+
+ {% if summary.delete_files %} +
    {% for file in summary.delete_files %}
  • {{file}}
  • {% endfor %}
+ {% else %}No similarities found.{% endif %} +
+
+
+
+ {% if summary.keys %} +
    {% for key in summary.keys %}
  • {{key}}
  • {% endfor %}
+ {% else %}No similarities found.{% endif %} +
+
+
+
+ {% if summary.read_keys %} +
    {% for key in summary.read_keys %}
  • {{key}}
  • {% endfor %}
+ {% else %}No similarities found.{% endif %} +
+
+
+
+ {% if summary.write_keys %} +
    {% for key in summary.write_keys %}
  • {{key}}
  • {% endfor %}
+ {% else %}No similarities found.{% endif %} +
+
+
+
+ {% if summary.delete_keys %} +
    {% for key in summary.delete_keys %}
  • {{key}}
  • {% endfor %}
+ {% else %}No similarities found.{% endif %} +
+
+
+
+ {% if summary.resolved_apis %} +
    {% for api in summary.resolved_apis %}
  • {{api}}
  • {% endfor %}
+ {% else %}No similarities found.{% endif %} +
+
+
+
+ {% if summary.executed_commands %} +
    {% for cmd in summary.executed_commands %}
  • {{cmd}}
  • {% endfor %}
+ {% else %}No similarities found.{% endif %} +
+
+
+
+ {% if summary.mutexes %} +
    {% for mutex in summary.mutexes %}
  • {{mutex}}
  • {% endfor %}
+ {% else %}No similarities found.{% endif %} +
+
+
+
+ {% if summary.created_services %} +
    {% for service in summary.created_services %}
  • {{service}}
  • {% endfor %}
+ {% else %}No similarities found.{% endif %} +
+
+
+
+ {% if summary.started_services %} +
    {% for service in summary.started_services %}
  • {{service}}
  • {% endfor %}
+ {% else %}No similarities found.{% endif %} +
+
+
{% endblock %} diff --git a/web/templates/compare/hash.html b/web/templates/compare/hash.html index 4d9f591fecf..6aafb9c3764 100644 --- a/web/templates/compare/hash.html +++ b/web/templates/compare/hash.html @@ -2,21 +2,26 @@ {% block content %}
-
-

Analysis 1

- +
+

Analysis 1

{% include "compare/_info.html" with record=left %}
-

Analysis 2

+

Select Analysis 2

-

You need to select the second analysis.

- {% if records|length > 0 %} -

Following are all the analyses of the file with provided MD5 {{hash}}:

- {% include "compare/_summary_table.html" %} - {% else %} -

There is no analysis for the specified file or you selected the same selected analysis.

- {% endif %} +
+
+ {% if records|length > 0 %} +

Select a task matching MD5 {{hash}}:

+ {% include "compare/_summary_table.html" %} + {% else %} +
+ + No other analysis found for this file, or you selected the same analysis. +
+ {% endif %} +
+
{% endblock %} diff --git a/web/templates/compare/left.html b/web/templates/compare/left.html index 0ffcb34f0bf..00a8cd38be2 100644 --- a/web/templates/compare/left.html +++ b/web/templates/compare/left.html @@ -14,26 +14,41 @@
-
-

Analysis 1

- +
+

Analysis 1

{% include "compare/_info.html" with record=left %}
-

Analysis 2

+

Select Analysis 2

-

You need to select the second analysis.

- {% if records|length > 0 %} -

Following are all the other analyses of the same file:

- {% include "compare/_summary_table.html" %} - {% else %} -

There is no other analysis for the same file.

- {% endif %} +
+
Same File Analysis
+
+ {% if records|length > 0 %} +

Choose another analysis of the same file:

+ {% include "compare/_summary_table.html" %} + {% else %} +
+ No other analysis found for this file. +
+ {% endif %} +
+
-

If you want to compare the analysis to a different file, please provide the MD5 hash:

-
- -
+
+
Compare with Different File
+
+

Enter MD5 hash to find a different analysis:

+
+
+ + + +
+
+ +
+
{% endblock %} diff --git a/web/templates/dashboard/index.html b/web/templates/dashboard/index.html index 04ab94d3fa1..4666e0a7d8b 100644 --- a/web/templates/dashboard/index.html +++ b/web/templates/dashboard/index.html @@ -1,57 +1,80 @@ {% extends "base.html" %} {% block content %} -
- Estimating ~{{report.estimate_hour}} analysis per hour, {{report.estimate_day}} per day. +
+
+
+ +
+ Estimating ~{{report.estimate_hour}} analysis per hour, {{report.estimate_day}} per day. +
+
+
-
-
-
-

{{report.total_tasks}}

- Total tasks +
+
+
+
+

{{report.total_tasks}}

+
Total tasks
+ +
-
-
-

{{report.total_samples}}

- Total samples +
+
+
+

{{report.total_samples}}

+
Total samples
+ +
{% if report.top_detections %} - - {% for block in report.top_detections %} - - - {% if forloop.counter|divisibleby:"5" %} - - {% elif forloop.last %} - - {% endif %} - {% endfor %} -
- {{block.total}}: {{block.family}} -
+
+
+
Top Detections
+
+
+
+ {% for block in report.top_detections %} + + {{block.total}} + {{block.family}} + + {% endfor %} +
+
+
{% endif %} -
- - - - - - - - - {% for state, count in report.states_count.items %} - - - - - {% endfor %} - -
StateCount
{{state}}{{count}}
+
+
+
Analysis States
+
+
+
+ + + + + + + + + {% for state, count in report.states_count.items %} + + + + + {% endfor %} + +
StateCount
{{state|title}}{{count}}
+
+
+ {% endblock %} diff --git a/web/templates/footer.html b/web/templates/footer.html index 39c93c6185b..3a3937e988c 100644 --- a/web/templates/footer.html +++ b/web/templates/footer.html @@ -1,19 +1,31 @@ - - -